亚州精品在线视频I中文字幕在线影院I天天色播I欧美一级性生活I国产色网站I激情久久婷婷I啪啪凸凸I欧美与欧洲交xxxx免费观看

通過調(diào)用HTTP接口實現(xiàn)短信監(jiān)控
時間:2018-11-13
更多

我公司在某項目組維護(hù)的OGG(Oracle Goldengate,一款數(shù)據(jù)同步軟件),由于局方?jīng)]有成熟的監(jiān)控平臺,一直沒有短信告警,導(dǎo)致我方維護(hù)人員每天都需要頻繁登錄每個配置過OGG的主機(jī)進(jìn)行巡檢(目前已達(dá)20多臺),工作重復(fù)量較大,但一直沒有很好的解決辦法。雖然可通過寫shell腳本,并配置crontab定時任務(wù)的方式生成巡檢結(jié)果,但還是需要人為地查看。前不久,局方給了一個HTTP接口,說是通過調(diào)用這個接口便可實現(xiàn)短信監(jiān)控,但是沒給調(diào)用該接口的具體實現(xiàn)代碼。 正好那段時間我所在的項目組離那邊比較近,接到同事的反饋后,就想如何去實現(xiàn)這個監(jiān)控的需求。

 

雖然用shell腳本也可以實現(xiàn)http接口的調(diào)用(使用curl命令、GET/POST的方式),但是比較復(fù)雜,而且后期不好維護(hù)。既然已經(jīng)放棄了使用shell腳本實現(xiàn)(主要還是自己懶。。。),那么就得用一種編程語言來做了。既要比shell編寫起來簡單直觀,還要便于后期維護(hù),最好還能有時間、相關(guān)運(yùn)行日志的記錄,那么好像非Python莫屬了,哈哈!話不多說,下面就大概說一下實現(xiàn)的具體過程。

 

HTTP接口的調(diào)用方式

 

HTTP接口的調(diào)用格式如下:

 

http://xxx.xxx.0.2/sms/sendsms.php?Action=MSG_ALERT&DestTermID=手機(jī)號碼&MsgContent=告警內(nèi)容

 

HTTP接口的好處就是,測試的時候可以在瀏覽器內(nèi)直接調(diào)用。我們先拼湊一條告警信息,并直接在瀏覽器中輸入:

 

http://xxx.xxx.0.2/sms/sendsms.php?Action=MSG_ALERT&DestTermID=180xxxx3808&MsgContent=OGG_ALERT!

 

很快就能收到返回的告警信息,說明請求的格式?jīng)]問題。

 

 

初步監(jiān)控目標(biāo)

 

OGG進(jìn)程狀態(tài)共有RUNNING, STOPPED, ABENDED三種,其中RUNNING為正常運(yùn)行狀態(tài),STOPPED一般是人為停止的狀態(tài),ABENDED是由于數(shù)據(jù)同步等原因?qū)е碌漠惓V袛酄顟B(tài)。我們初步的監(jiān)控目標(biāo)就是能夠發(fā)現(xiàn)異常ABENDED的進(jìn)程,并定時發(fā)送告警短信給相關(guān)維護(hù)人員(即監(jiān)控圖中的Status列)。

 

對于監(jiān)控頻率的設(shè)置,通過詢問局方人員得知,目前需要監(jiān)控的系統(tǒng)有本地和異地容災(zāi)兩部分系統(tǒng)。異地容災(zāi)系統(tǒng)由于有集團(tuán)考核,及時性要求較高,出現(xiàn)問題必須馬上處理,所以需要配置成每5分鐘檢查一次;而本地系統(tǒng)配置成每小時檢查一次即可。

 

收集告警信息

 

根據(jù)上面的接口調(diào)用方式,那么我們現(xiàn)在要做的可以分以下幾步:

 

1) 收集OGG的運(yùn)行狀態(tài),并匯總到一起;

 

2) 過濾出包含ABENDED的進(jìn)程及對應(yīng)的業(yè)務(wù)系統(tǒng)名稱;

 

3) 發(fā)送包含該業(yè)務(wù)系統(tǒng)名稱的告警短信給相關(guān)人員(注:短信接收人員可能有多個)。

 

其中的第一條,我們的同事已經(jīng)通過shell腳本實現(xiàn)好了(還加入了對目錄使用率的告警),并統(tǒng)一ftp到了一臺Windows監(jiān)控主機(jī)的目錄下,幫了我的一個大忙。腳本內(nèi)容如下:

 

oggcheck.sh (主要收集OGG進(jìn)程狀態(tài)、目錄使用率情況及超過閾值后的關(guān)鍵字over_load)

 

 
#!/usr/bin/sh
# 設(shè)置OGG目錄使用率閾值
OGG_DIR_THRESHOLD=60
 
# 獲取并輸出操作系統(tǒng)類型
OS_TYPE=`uname -a| awk '{print $1}'`
echo "OS TYPE: $OS_TYPE"
 
## 獲取OGG安裝目錄
# 使用查找mgr進(jìn)程的命令查找OGG安裝目錄
VAR1=`ps -ef|grep mgr.prm | grep -v grep`
# 從左邊開始,刪除PARAMFILE左邊所有的字符
VAR2=${VAR1#*PARAMFILE}
# 從右邊開始,刪除dirprm右邊所有的字符
OGG_HOME=${VAR2%dirprm*}
 
# 獲取OGG運(yùn)行狀態(tài)
cd $OGG_HOME
echo "info all" | ./ggsci
 
# 獲取OGG目錄使用率(當(dāng)前維護(hù)系統(tǒng)主要有LINUX, AIX和HP-UX三類)
if [ $OS_TYPE  = 'Linux' ];then
    VAR3=`df -h $OGG_HOME | sed -n '$p'|cut -d '%' -f 1|awk '{print $NF}'`
elif [ $OS_TYPE = 'AIX' ];then
    VAR3=`df -g $OGG_HOME | sed -n '$p'|cut -d '%' -f 1|awk '{print $NF}'`
elif [ $OS_TYPE = 'HP-UX' ];then
    VAR3=`bdf $OGG_HOME | sed -n '$p'|cut -d '%' -f 1|awk '{print $NF}'`
else
    OGG_DIR_USAGE=100    # 如果操作系統(tǒng)無法識別,則輸出100
    echo "`hostname`'s OS TYPE IS UNKNOWN!"
fi
OGG_DIR_USAGE=${VAR3#* }
 
# 輸出OGG目錄的實際使用率及關(guān)鍵字over_load(關(guān)鍵字用于給后面程序判斷是否發(fā)目錄告警時用)
if [ "$OGG_DIR_USAGE" -ge "$OGG_DIR_THRESHOLD" ];then
    echo -e "\n`hostname`'s OGG directory usage is: $OGG_DIR_USAGE%, over_load"
fi

 

put_alert_file.sh(上傳監(jiān)控文件)

 

 
#!/usr/bin/sh
# 獲取IP地址
IP_ADD=$(awk '{print $1,$2}' /etc/hosts|grep "$(hostname)""$"|awk '{print $1}')
# 設(shè)置監(jiān)控文件絕對路徑
FILE_NAME=/home/oracle/ogg_mon/"$IP_ADD"_`hostname`.txt
# 設(shè)置監(jiān)控文件名稱
FILE_NAME_SHORT="$IP_ADD"_`hostname`.txt
# 將oggcheck.sh的執(zhí)行結(jié)果輸出到$FILE_NAME監(jiān)控文件中
/bin/sh oggcheck.sh>$FILE_NAME 2>&1
# 設(shè)置目錄名稱
dirdate=`date "+%Y%m%d"`
# 使用ftp創(chuàng)建當(dāng)日目錄,并上傳監(jiān)控文件
ftp -n <<!
open xxx.2.0.11 50191
user admin admin
pwd
binary
cd ogg
# 按當(dāng)天日期創(chuàng)建目錄
mkdir ${dirdate}
cd ${dirdate}
lcd /home/oracle/ogg_mon
prompt
put ${FILE_NAME_SHORT}
bye
!
rm -f /home/oracle/ogg_mon/*.txt
echo "finish"

 

創(chuàng)建配置文件

 

第二步就主要是對告警信息的處理了。在處理之前,我們需要先定義一個配置文件,里面存放例如需要監(jiān)控的系統(tǒng)信息、告警接收人的手機(jī)號碼、告警內(nèi)容等。如果以后這些內(nèi)容有變動,直接在配置文件中修改即可,便于維護(hù)。

 

代碼如下:

 

settings.py

 

 
class Settings():
    def __init__(self):
        """ 所有告警系統(tǒng)的配置(包括異地災(zāi)備系統(tǒng))
        配置方法:采用鍵值對的方式,鍵為具體的告警文件名稱(帶擴(kuò)展名),值為對應(yīng)的系統(tǒng)名稱(可自定義).
                 告警內(nèi)容將使用自定義系統(tǒng)名稱,建議將IP也一并配置進(jìn)系統(tǒng)名稱。
                 例如:"xxx.0.0.1_xxxdb1.txt":"xxx.0.0.1_xxxdb1" 表示告警文件為 xxx.0.0.1_xxxdb1.txt,
                 自定義的系統(tǒng)名稱為 xxx.0.0.1_xxxdb1 ,如果有告警,該系統(tǒng)名稱會顯示在告警短信中。
        注:修改配置信息后需重啟程序方可生效。
        重啟方式:任務(wù)管理器中kill pyw.exe進(jìn)程,再雙擊程序目錄中的alert.pyw文件即可。可查看本地日志確認(rèn)是否啟動進(jìn)程。 """
        self.all_systems = {"xxx.0.2.1_erpdb1.txt":"xxx.0.0.1_erpdb1","xxx.0.2.32_pmpdb1.txt":"xxx.0.2.32_pmpdb1",
                           "xxx.1.20.131_xnyx.txt": "xxx.1.20.131_xnyx", "xxx.1.18.79_ods.txt": "xxx.1.18.79_remote"
                           }
 
        # 異地災(zāi)備告警系統(tǒng)配置(災(zāi)備系統(tǒng)告警閾值為5分鐘,需另單獨(dú)配置一份,只配置系統(tǒng)名稱即可,必須跟上面配置的系統(tǒng)名稱一致)
        self.remote_systems = ['xnyx', 'xxx.1.18.79_remote']
 
        # 配置接收告警的手機(jī)號碼
        self.acc_nbr = [181xxxx9607, 152xxxx8230, 152xxxx3315, 133xxxx8640, 177xxxx213, 136xxxx6297]
        # 設(shè)置本地日志路徑
        self.logfile_name = 'D:\\ogg_alert\\log\\info.log'
        # 設(shè)置告警文件路徑
        self.alert_file_path = 'D:\\系統(tǒng)軟件\\oggxj\\'
        # 設(shè)置告警相關(guān)的字符串,用于拼接告警信息
        self.url1 = "http://xxx.xxx.0.2/sms/sendsms.php?Action=MSG_ALERT&DestTermID="
        self.url2 = "&MsgContent="
        self.abend_warning = "_Goldengate:ABENDED"
        # 為方便起見,這里只提示目錄使用率大于60%。實際值可以從監(jiān)控文件中提取
        self.dict_warning = "_Goldengate_directory_usage_>_60%!"

 

按照時間生成日志路徑

 

按照上面shell腳本的內(nèi)容,每天都會生成一個YYYYMMDD格式的文件夾,然后再將當(dāng)日的監(jiān)控文件放入該文件夾中(會覆蓋上次的文件)。所以我們在程序中也要按照日期動態(tài)生成路徑:

 

functions.py

 

 
import time
import os
 
 
def time_path(sys_settings):
    # 生成固定格式的日期字符串并拼接
    time_format = time.strftime('%Y%m%d', time.localtime())
    alert_path = sys_settings.alert_file_path + time_format
    # 改變當(dāng)前工作目錄至alert_path
    os.chdir(alert_path)

 

按照要求,監(jiān)控每隔5分鐘就會掃描一次,所以在每次循環(huán)中都調(diào)用此函數(shù)即可。

 

處理告警信息

 

我們采用的方法是遍歷每個告警文件,并處理成列表,如果存在ABENDED或者over_load(OGG目錄告警關(guān)鍵字),就使用相關(guān)信息生成告警內(nèi)容,并記錄日志。

 

functions.py

 

 
def get_alert_list(sys_settings):
    info_list = []
    try:
        # 遍歷當(dāng)前目錄下的文件
        for filename in os.listdir():
            with open(filename) as file:
                lines = file.read()
                # 使用空格分割成列表
                line_list = lines.split()
                if 'ABENDED' in line_list:
                    # 使用settings.py中配置的系統(tǒng)名稱及告警信息進(jìn)行拼接
                    info = sys_settings.all_systems[filename] + sys_settings.abend_warning
                    info_list.append(info)
                    # 將處理好的告警內(nèi)容寫入日志
                    log_write("WARNING: " + info + "\n", sys_settings)
                if 'over_load' in line_list:
                    info = sys_settings.all_systems[filename] + sys_settings.dict_warning
                    info_list.append(info)
                    log_write("WARNING: " + info + "\n", sys_settings)
    except PermissionError as e:
        log_write("Alert file not found!\n")
    """ 返回告警內(nèi)容 """
    return info_list
 
 
def log_write(log_info, settings):
    # 以固定格式寫入日志內(nèi)容
    with open(settings.logfile_name, 'a') as logfile:
        logfile.write("[" + time.strftime('%Y/%m/%d %H:%M:%S', time.localtime()) + "] " + log_info)

 

發(fā)送告警

 

收集并記錄好告警信息后,我們就可以使用這些信息給指定人員發(fā)送短信了。能夠成功發(fā)送請求的關(guān)鍵是對指定的url調(diào)用request.get()方法,從而獲得相應(yīng)的返回碼(一般的接口在處理完成后都會給請求方返回一個字符或數(shù)字作為返回碼,可以進(jìn)一步寫一個處理返回碼的函數(shù),記錄或者發(fā)送返回碼對應(yīng)的信息,這里為了簡便就省略了)。

 

因為我們要把每條告警信息都發(fā)送給所有的告警接收人員,所以在遍歷告警信息的同時,也需要遍歷電話號碼:

 

functions.py

 

 
import requests
from urllib.error import URLError
 
 
def send_info(info_list, sys_settings):
    for info in info_list:
        for phone_num in sys_settings.acc_nbr:
            # 按照http接口請求格式拼接字符串
            url = sys_settings.url1 + str(phone_num) + sys_settings.url2 + info
            try:
                # get_code 為對應(yīng)的返回碼,這里為了簡便不做處理
                get_code = requests.get(url)
                # 在日志中記錄將告警發(fā)送給哪個電話號碼
                log_write(info + " send to: " + str(phone_num) + "\n", sys_settings)
            except URLError as e:
                # 如果調(diào)用失敗,則記錄連接錯誤的日志
                log_write("connect to the server failed!\n", sys_settings)

 

針對不同的業(yè)務(wù)系統(tǒng)發(fā)送告警

 

有了上面的send_info()函數(shù)后,我們只要傳入包含告警信息的列表info_list及配置信息sys_settings,就可以向指定人員發(fā)送告警了。但是在正式發(fā)送前,針對本地系統(tǒng)和異地容災(zāi)系統(tǒng)告警頻率的差異,需要分別寫兩個函數(shù)分別進(jìn)行處理:

 

functions.py

 

 
def send_remote_only(alert_list, sys_settings):
    # 只發(fā)送異地容災(zāi)系統(tǒng)的告警
    if len(alert_list) == 0:
        log_write("There is no alert, process finished!\n\t"
                  "Remote process will restart after 5 min ... ...\n", sys_settings)
    else:
        for remote_system in sys_settings.remote_systems:
            abend_warning = remote_system + sys_settings.abend_warning
            dict_warning = remote_system + sys_settings.dict_warning
            if abend_warning in alert_list:
                send_info([abend_warning], sys_settings)
                log_write("Remote process will restart after 5 min ... ...\n", sys_settings)
            if dict_warning in alert_list:
                send_info([dict_warning], sys_settings)
 
 
def send_all(alert_list, sys_settings):
    # 發(fā)送所有系統(tǒng)的告警
    if len(alert_list) == 0:
        log_write("There is no alert, process finished!\n\t"
                  "Local process will restart after 60 min ... ...\n", sys_settings)
    else:
        send_info(alert_list, sys_settings)
        log_write("Local process will restart after 60 min ... ...\n", sys_settings)

 

使用主程序文件

 

目前,我們已經(jīng)基本上完成了所有的功能,只差一個不斷調(diào)用這些函數(shù)的循環(huán)結(jié)構(gòu)以及控制定時發(fā)送的策略了。循環(huán)結(jié)構(gòu)使用while循環(huán)即可,對時間的控制可以使用time.sleep()方法。所以我們需要一個主程序文件來統(tǒng)一控制這些動作。

 

alert.pyw

 

 
from settings import Settings
from timepath import TimePath, time
from functions import send_all, send_remote_only, log_write, get_alert_list, time_path
 
 
# 初始化配置信息
sys_settings = Settings()
# 初始化用于計數(shù)的變量n
n = 0
 
# 主循環(huán)
while True:
    try:
        # 調(diào)用time_path生成日志路徑
        time_path(sys_settings)
    except FileNotFoundError as e:
        # 如果發(fā)生FileNotFoundError,說明當(dāng)日目錄未生成,記錄到日志中
        log_write("Alert Directory not exists!\n", sys_settings)
 
    alert_list = get_alert_list(sys_settings)
 
    """ 如果n == 12,就調(diào)用send_all()函數(shù),檢查所有系統(tǒng)
    否則就調(diào)用send_remote_only()函數(shù),只檢查異地容災(zāi)系統(tǒng) """
    n += 1
    if n == 12:
        send_all(alert_list, sys_settings)
        n = 0
        time.sleep(300)
    else:
        send_remote_only(alert_list, sys_settings)
        # 使用time.sleep()方法,每5分鐘進(jìn)行一次循環(huán)
        time.sleep(300)

 

注意到,我們的主程序文件alert.pyw的擴(kuò)展名是.pyw,這是因為在Windows環(huán)境下,.pyw文件可以通過直接雙擊在后臺運(yùn)行,不用再打開編輯器執(zhí)行了。

 

功能測試

 

程序運(yùn)行一段時間后查看記錄的日志:

 

正常運(yùn)行時的日志:

 

 

目錄使用率超過設(shè)定的60%時的日志:

 

本地系統(tǒng)(到達(dá)一小時后統(tǒng)一發(fā)送告警):

 

異地容災(zāi)系統(tǒng)(5分鐘掃描并發(fā)送告警):

 

OGG進(jìn)程異常ABENDED時的日志:

 

本地系統(tǒng):

 

異地容災(zāi)系統(tǒng):

 

可以看到,所有功能都測試正常。

 

監(jiān)控延遲

 

之前實現(xiàn)的是最基本的對進(jìn)程狀態(tài)的監(jiān)控。在有些對數(shù)據(jù)實時性要求較高的系統(tǒng)中,只監(jiān)控這些還不夠,還需要對延遲時間進(jìn)行監(jiān)控。

 

圖中標(biāo)出的Lag at Chkpt列即在事務(wù)能夠正常提交情況下的延遲總時間,如果有延遲,說明這個進(jìn)程里同步的表或數(shù)據(jù)過多,需要做拆分;Time Since Chkpt列是指距離上次事務(wù)提交的時間,如果該列出現(xiàn)延遲,說明有大事務(wù),或者有索引缺失導(dǎo)致DML操作執(zhí)行較慢等情況,也需要關(guān)注。所以在監(jiān)控延遲時,只需關(guān)注這兩列即可。

 

假設(shè)我們的目標(biāo)是當(dāng)延遲大于5分鐘時輸出告警信息,則需要提取這兩列表示分鐘的項并做判斷。這要比上面的只對Status列做判斷要稍微復(fù)雜一些,除了同時取多個列之外(進(jìn)程名稱、兩個延遲列),還涉及分割、數(shù)據(jù)類型轉(zhuǎn)換等操作。所以我們計劃使用numpy數(shù)組存放多個列的值,方便后續(xù)在時間上的判斷(numpy數(shù)組可以進(jìn)行矩陣運(yùn)算,比循環(huán)的效率要高)。寫日志也換一種方式,使用csv.reader()輸出延遲信息。

 

為了便于閱讀,我們將延遲信息單獨(dú)生成一個文件進(jìn)行判斷。

 

oggcheck_new.sh

 

 
## 獲取OGG安裝目錄
# 使用查找mgr進(jìn)程的命令查找OGG安裝目錄
VAR1=`ps -ef|grep mgr.prm | grep -v grep`
# 從左邊開始,刪除PARAMFILE左邊所有的字符
VAR2=${VAR1#*PARAMFILE}
# 從右邊開始,刪除dirprm右邊所有的字符
OGG_HOME=${VAR2%dirprm*}
 
# 獲取OGG運(yùn)行狀態(tài)
cd $OGG_HOME
# 每次覆蓋寫當(dāng)時的監(jiān)控信息
date > /acfs/dump/ogginfo.tmp
echo "info all" | /ogg/ggsci |grep -E "MANAGER|EXTRACT|REPLICAT" >> /acfs/dump/ogginfo.tmp
# 將監(jiān)控信息同時寫入備份監(jiān)控文件
date >> /oradump/ogg_tmp/ogginfo.bak
echo "info all" | /ogg/ggsci |grep -E "MANAGER|EXTRACT|REPLICAT" >> /acfs/dump/ogginfo.bak

 

使用crontab將整個腳本設(shè)置成5分鐘執(zhí)行一次:

 

*/5 * * * */home/ogg/chk_ogg_status.sh >> /home/ogg/chk_oggstatus.log 2>&1

 

我們先寫主程序文件,取進(jìn)程名稱和兩個延遲列的數(shù)據(jù),并將其放到numpy數(shù)組中。

 

ogg_lag_mon.py

 

 
import sys 
sys.path.append('/ogg/dirsql/py_mon')    # 進(jìn)入延遲監(jiān)控腳本所在目錄 
import csv 
import numpy as np 
  
  
alert_file = '/acfs/dump/ogginfo.tmp'           # 設(shè)置監(jiān)控文件路徑 
alert_his_file = '/acfs/dump/ogginfo.bak'       # 設(shè)置備份文件路徑 
lag_min = 5                                     # 設(shè)置延遲時間 
error_log = '/ogg/dirsql/py_mon/lag.log'        # 設(shè)置本地錯誤日志路徑 
  
lines = list(csv.reader(open(alert_file)))    # 將監(jiān)控文件內(nèi)容轉(zhuǎn)換成列表 
values = lines[2:]        # 取實際的進(jìn)程信息(前兩個元素為時間和MANAGER進(jìn)程的狀態(tài)) 
group_name = []           # 進(jìn)程名稱(GROUP) 
lag_time = []             # 延遲時間(Lag at Chkpt) 
ckpt_time = []            # 事務(wù)提交延遲時間(Time Since Chkpt) 
  
for value in values: 
    group_name.append(value[0].split()[2]) 
    lag_time.append(value[0].split(':')[1]) 
    ckpt_time.append(value[0].split(':')[-2]) 
result_arr = np.array((group_name, lag_time, ckpt_time)) 

 

注:將監(jiān)控文件內(nèi)容轉(zhuǎn)成lines列表時,我們按慣例就應(yīng)該查看一下lines列表里到底裝了些什么(為保持代碼的連貫性,在這里給出分析步驟):

 

可以看到,這是一個列表中嵌套列表的結(jié)構(gòu),而且前兩項不是我們要分析的數(shù)據(jù)(本例中暫不考慮MANAGER進(jìn)程的狀態(tài)),我們需要的元素的格式為:

 

           [‘EXTRACT     RUNNING    EXT01    00:00:00      00:00:01    ‘]

 

這個列表元素只有一項,取進(jìn)程名稱EXT01時可以按照空格分割,取后兩列時間的分鐘數(shù)值時可直接按照分號分割,分別添加到指定的列表中。最后將三個列表作為元素轉(zhuǎn)換成numpy數(shù)組result_arr。

 

查看result_arr的內(nèi)容:

 

 
>>> result_arr
array([['EXT01', 'EXT02', 'EXT03'],
       ['00', '08', '07'],
       ['00', '00', '00']],
      dtype='|S8')

 

這實際上是一個3*3的數(shù)組,第0行為進(jìn)程名稱,第1行為延遲時間,第2行為事務(wù)提交延遲時間。可以看到,正好已經(jīng)有超過lag_min的進(jìn)程了(第1行超過5的元素值)。我們先定義一個記錄日志的函數(shù)alert_writer(),然后再定義一個寫延遲信息的函數(shù)write_lag(),write_lag()函數(shù)可以調(diào)用alert_writer()函數(shù)記錄延遲信息:

 

alert_writer.py

 

 
import csv
 
 
def alert_writer(fileName, *contents):
    with open(fileName, 'a') as file_obj:
        writer = csv.writer(file_obj)
        writer.writerow(contents)

 

注:因為使用csv.writer()寫數(shù)據(jù)時,每個元素之間都以逗號分隔,所以通過使用任意數(shù)量的實參*contents,來記錄你想記錄的任何信息。

 

write_lag.py

 

 
import numpy as np
from datetime import datetime
from pyfunc.alert_writer import alert_writer
 
 
def write_lag(result_arr, rows, lag_min, alert_his_file):
    # 使用np.where()獲得對應(yīng)rows行中大于lag_min的元素的索引
    # rows只需取1, 2行,第0行為進(jìn)程名稱
    index_lag = np.where(result_arr[rows].astype(int) > lag_min)
    if len(index_lag) != 0:
        for indexes in index_lag:
            for index in indexes:
                # 將延遲信息寫入備份文件
                alert_writer(alert_his_file, 'LAG', result_arr[0][index], result_arr[rows][index] + ' minutes', datetime.now().strftime("%Y-%m-%d %H:%M:%S"))

 

最后,我們再完善主程序ogg_lag_mon.py中的代碼,將收集到的result_arr數(shù)組帶入write_lag()函數(shù)中進(jìn)行判斷,并記錄延遲信息:

 

ogg_lag_mon.py

 

 
import sys
sys.path.append('/ogg/dirsql/py_mon')
from pyfunc.alert_writer import alert_writer
from pyfunc.write_lag import write_lag
import csv
from datetime import datetime
import numpy as np
 
... ...
 
try:
    for value in values:
        group_name.append(value[0].split()[2])
        lag_time.append(value[0].split(':')[1])
        ckpt_time.append(value[0].split(':')[-2])
    result_arr = np.array((group_name, lag_time, ckpt_time))
    # row1為Lag at Chkpt列
    write_lag(result_arr, rows=1, lag_min, alert_his_file)
    # row2為Time Since Chkpt
    write_lag(result_arr, rows=2, lag_min, alert_his_file)
except IndexError as e:
    alert_writer(error_log, 'Lag exists, please try later!', datetime.now().strftime("%Y-%m-%d %H:%M:%S"))

 

最后對存在延遲的OGG進(jìn)行測試,日志中記錄的信息為:

 

以上只是將進(jìn)程的相關(guān)信息輸出到了日志,同樣也可以組織成統(tǒng)一的格式,利用HTTP接口發(fā)送延遲的告警短信。具體方法與上面介紹的相似,不再贅述。有相同環(huán)境的同學(xué)可以自行實現(xiàn)。實際上,像這種比較成熟的應(yīng)用程序,輸出的日志格式基本上都是固定的,可以針對平時常用的幾個產(chǎn)品,對不同的格式先分別進(jìn)行格式化處理,然后統(tǒng)一生成相同格式的內(nèi)容,無論是發(fā)送告警,還是做進(jìn)一步的數(shù)據(jù)分析,都是非常方便的。

 

總結(jié)

 

在我們工程師日常運(yùn)維的過程中,除了做好每天份內(nèi)的工作外,有時候也經(jīng)常會接到客戶提出的一些超出我們職責(zé)范圍的需求。這時候,如果直接拒絕客戶,肯定是不明智的。作為技術(shù)服務(wù)人員,一定要以滿足客戶的要求為目標(biāo)。這時候,如果我們自己剛好有這樣的能力,或者借助同事、公司二線技術(shù)人員的力量來完成這些需求,肯定會給客戶留下更好的印象。

商務(wù)辦公自動化

企業(yè)集成

?
關(guān)于巨象| 短信群發(fā)| 彩信群發(fā)| 短信群發(fā)軟件| 資費(fèi)標(biāo)準(zhǔn)| 付款方式| 代理加盟| 人才招聘| 聯(lián)系我們

版權(quán)所有 廣州巨象計算機(jī)科技發(fā)展有限公司 粵ICP備05007238號
服務(wù)電話:020-85272100 傳真:020-85272100
總部地址:廣州市天河區(qū)黃埔大道西876號跑馬地凱怡閣29層
Copyright ? 2004-2016 Hechina.com.All rights reserved.
短信群發(fā) 彩信群發(fā) 短信群發(fā)軟件 巨象科技短信群發(fā),彩信群發(fā),短信群發(fā)軟件,廣州巨象計算機(jī)科技發(fā)展有限公司是一家致力于為企業(yè)提供互聯(lián)網(wǎng)、通訊技術(shù)應(yīng)用服務(wù)和解決方案的高科技公司,具有良好的國內(nèi)外資金和技術(shù)背景;是國內(nèi)最早投入研發(fā)企業(yè)短信應(yīng)用和企業(yè)網(wǎng)絡(luò)電視臺系統(tǒng)的公司之一,業(yè)已成為廣東地區(qū)最大的移動商務(wù)產(chǎn)品與解決方案的提供商和優(yōu)秀的電訊服務(wù)品牌企業(yè)。其主要業(yè)務(wù)有:短信群發(fā)平臺軟件-巨象企信通,微信營銷平臺-巨象微信通,網(wǎng)絡(luò)傳真群發(fā)平臺-Fax66網(wǎng)絡(luò)傳真,網(wǎng)絡(luò)視頻系統(tǒng)-巨象網(wǎng)視
日韩国产在线观看 | 久久久久成人精品 | 免费精品久久久 | 在线亚洲成人 | 日韩精品一区二区三区在线视频 | 福利视频一区二区 | 国产老熟| 黄色在线看网站 | 97精品一区二区三区 | 国产涩图 | 免费男女羞羞的视频网站中文字幕 | 高潮久久久久久久久 | 三级黄色三级 | 亚洲精品免费看 | 欧美国产在线看 | 日日干天天 | 五月天天色 | 久久综合精品一区 | 丁香视频全集免费观看 | 亚洲永久精品国产 | 91av在线播放 | 国产又粗又长的视频 | 视频成人免费 | 91丨九色丨国产在线 | 麻豆va一区二区三区久久浪 | 97精品欧美91久久久久久 | 91精品国产乱码在线观看 | 国产精品va在线播放 | 亚洲欧美视频一区二区三区 | 亚洲人成免费 | japanese黑人亚洲人4k | av软件在线观看 | 在线观看香蕉视频 | 国产免费又爽又刺激在线观看 | 色综合天天狠狠 | 99久久婷婷国产一区二区三区 | 欧美激情视频一区二区三区免费 | 成人欧美在线 | 五月天六月丁香 | 99精品区| 欧美亚洲xxx | 久久精品国产精品亚洲 | 米奇影视7777 | 999成人| 97视频在线播放 | 欧美日韩在线观看一区二区三区 | 99久久精品国产欧美主题曲 | 亚洲一区天堂 | 免费国产黄线在线观看视频 | 国产精品成人一区二区三区吃奶 | 亚洲电影网站 | 国产成人黄色在线 | 国产婷婷 | 国产精品国产精品 | 欧美日韩国产一区二区三区 | 97在线公开视频 | 国产精品va在线观看入 | 婷婷激情综合五月天 | www九九热 | 激情久久久久久久久久久久久久久久 | 久久99亚洲精品久久 | a级一a一级在线观看 | 亚洲激情视频在线观看 | 99热在线国产 | 国产精品久久久久久久午夜 | 夜添久久精品亚洲国产精品 | 亚洲精品乱码白浆高清久久久久久 | 亚洲国产人午在线一二区 | 国产成人61精品免费看片 | 色av婷婷 | 久久久久女教师免费一区 | 日韩av影片在线观看 | 黄色av在 | 久久这里只有精品首页 | 免费影视大全推荐 | 国内精品免费 | 国内精品亚洲 | 国产不卡av在线 | 黄色成人毛片 | 久久成人精品电影 | 成人app在线免费观看 | 中文字幕三区 | 五月婷婷欧美视频 | 91在线精品秘密一区二区 | 啪啪资源| 99久久99久久精品免费 | 欧美精品xx | 久久夜夜操 | 丁香九月激情综合 | 人人干天天干 | 天天艹天天爽 | 99福利影院 | 久草在线手机视频 | 欧美日韩国产页 | 国产免费观看高清完整版 | 成人免费视频播放 | 天天操天天干天天爱 | 国产精品99在线播放 | 国产探花在线看 | 国产在线精 | 亚洲第二色| 久香蕉| 在线激情影院一区 | 高潮久久久久久久久 | 99视频免费观看 | 国产香蕉视频在线播放 | www激情久久 | v片在线播放 | 国产二区视频在线观看 | 成人免费网站在线观看 | 91自拍成人 | 草草草影院 | 91精品入口 | 一区二区欧美激情 | 精品色999 | 国产69久久精品成人看 | 国产做aⅴ在线视频播放 | av资源免费看 | 国产在线播放不卡 | 日韩最新在线 | 国产精品高清在线观看 | 天天操天天干天天插 | 一区二区精品 | 色婷婷国产精品 | 色婷婷中文| 国产美腿白丝袜足在线av | 日韩一区二区三免费高清在线观看 | 欧美日韩在线播放一区 | 午夜精品一区二区三区在线 | 久久9精品 | 色婷婷激情电影 | 麻豆传媒电影在线观看 | 欧美日韩不卡一区二区三区 | 九九影视理伦片 | 日韩精品专区 | 91麻豆免费视频 | 国产色啪 | 免费av观看| 欧美日韩视频一区二区三区 | 国模视频一区二区 | 亚洲视频专区在线 | www国产在线 | 免费色视频网站 | 人人超碰在线 | 国产精品国产亚洲精品看不卡15 | 天天色天天射天天操 | 伊人婷婷在线 | 亚洲 欧美日韩 国产 中文 | 亚洲综合射 | 国产精品一区二区三区观看 | 中文字幕日本电影 | 亚洲一区二区三区四区在线视频 | 不卡视频在线看 | 日韩毛片在线一区二区毛片 | 亚洲黄色免费观看 | 99久久精品免费看国产一区二区三区 | 成人av影视观看 | 免费看短 | 国产精品96久久久久久吹潮 | 亚在线播放中文视频 | 精品免费观看 | av成人免费在线观看 | 久久视频精品在线 | 国产最顶级的黄色片在线免费观看 | 高清免费在线视频 | 久久你懂得| 成人av播放| 91亚洲精品久久久蜜桃借种 | 91大神电影 | 国产免费专区 | 久久久久美女 | 在线成人免费 | 久久久久久久亚洲精品 | 最近高清中文字幕在线国语5 | 狠狠色综合欧美激情 | 日韩av一区二区在线播放 | 久久黄色成人 | 久久99久久99精品免观看软件 | 国产视频一区在线 | 97电影院在线观看 | 久久亚洲欧美日韩精品专区 | 在线观看免费国产小视频 | 天天躁日日躁狠狠躁av中文 | 国产精品2020 | 91精品国产91热久久久做人人 | 日韩高清一二三区 | 久久99热这里只有精品 | 日韩av电影中文字幕 | 国内精品二区 | 日韩欧美在线第一页 | 99久久精品免费看国产一区二区三区 | 91在线看网站 | 九九久久电影 | 国产精品久久久久久久久久久久冷 | 一区二区三区高清在线 | 97偷拍在线视频 | 天堂av网在线| 国产精品永久久久久久久www | 99精品视频免费全部在线 | 天天看天天干天天操 | 久久久久国产精品午夜一区 | 一区 二区 精品 | 丁香久久 | 久久99亚洲精品久久久久 | 高清一区二区三区av | 特级免费毛片 | 日韩欧美成人网 | 天天操天天射天天操 | 激情网五月婷婷 | 国产精品毛片一区二区在线 | 色姑娘综合 | www日韩在线 | 99这里只有精品视频 | av不卡免费在线观看 | 日韩在线视频播放 | 久久精品99精品国产香蕉 | 午夜久久电影网 | 色综合天天天天做夜夜夜夜做 | 九七视频在线 | 91麻豆精品国产91久久久无限制版 | 成人永久视频 | 五月丁香| 午夜精品一区二区三区在线观看 | 最近中文字幕高清字幕免费mv | 国产在线播放一区二区 | 黄色免费大片 | 国产精品视频永久免费播放 | 久草在线最新免费 | 婷婷六月天在线 | 久久综合导航 | 在线 成人 | 99精品网站| 国产精品视频永久免费播放 | 中文亚洲欧美日韩 | 久久久久久美女 | 欧美一级片免费 | 国产成人精品一区二区三区在线 | 中文字幕在线观看一区二区 | 少妇性色午夜淫片aaaze | 天天操天天干天天摸 | 成年人看片 | 国产精品一区二区三区四 | 色综合久久中文综合久久牛 | 成人av一区二区在线观看 | 天天综合人人 | 中文字幕乱视频 | 国产一二区视频 | www天天干| 中文字幕乱码亚洲精品一区 | 国产精品3区 | 激情欧美在线观看 | 亚洲精品视频一二三 | 久久久久欧美精品 | 不卡精品视频 | av片在线观看 | 日韩在线免费 | 激情大尺度视频 | 97超碰在线免费观看 | 看全黄大色黄大片 | 国产成在线观看免费视频 | 97夜夜澡人人双人人人喊 | 国产亚洲一级高清 | 蜜桃视频色 | 天天干,天天操,天天射 | 免费久草视频 | 91九色老| 亚洲精品女人久久久 | 最近日韩免费视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久精品中文字幕一区二区三区 | 久久人人爽人人爽人人 | 国产成人精品亚洲a | 视频在线观看亚洲 | 久草在线免费看视频 | 91福利视频在线 | 国产视频 亚洲视频 | 九九热精品视频在线观看 | 国偷自产中文字幕亚洲手机在线 | 99在线观看| 天天操天天操天天 | 免费看的黄色的网站 | 日韩免费b| 亚洲成人精品影院 | 婷婷色网站 | 九九九九九九精品 | 草久久av| 97在线免费视频观看 | 日韩av高清在线观看 | 韩日三级在线 | 成人毛片在线观看 | 国产精品久久久久久久午夜 | 91成人欧美 | 婷婷亚洲综合 | 在线观看亚洲专区 | 天天爱av导航 | 97激情影院 | 精品一区中文字幕 | 中文字幕在线观看国产 | 在线不卡a | 国产精品成人自产拍在线观看 | 激情综合网五月激情 | aaa毛片视频| 国产亚洲精品久久久久久网站 | 久艹在线观看视频 | 毛片网站观看 | www.com久久 | 日韩毛片在线一区二区毛片 | 中午字幕在线 | 在线观看网站你懂的 | 久久er99热精品一区二区 | 青青草国产免费 | 国产黄影院色大全免费 | 国产精品一区二区久久国产 | 国产一级片在线播放 | 九九免费观看视频 | 国产亚洲精品v | 日韩精品中文字幕一区二区 | 999色视频| 人人爱人人添 | 在线中文字幕网站 | 欧美精品九九99久久 | 人人澡av | 国产精品久久久久久久久久妇女 | 中文av一区二区 | 主播av在线 | 97成人精品区在线播放 | 国产一级视频免费看 | 毛片网在线 | 91九色porny蝌蚪视频 | 成人影片在线免费观看 | 成人av一区二区兰花在线播放 | 成人av网站在线观看 | 激情丁香综合五月 | 热久久国产 | 成年人在线免费看视频 | 国产在线观看网站 | 国产做爰视频 | 成人黄色大片在线观看 | 婷婷九月丁香 | 免费观看www视频 | 玖玖在线免费视频 | 成人免费xxxxxx视频 | 天天操夜夜操国产精品 | 国产美腿白丝袜足在线av | 天天操天天色综合 | 成人av免费在线观看 | 婷婷丁香久久五月婷婷 | 日韩动漫免费观看高清完整版在线观看 | 97人人模人人爽人人喊网 | 五月天婷婷视频 | 婷婷综合 | 欧美成人h版在线观看 | 国产真实在线 | 天天搞天天干天天色 | 日本性动态图 | 9草在线 | 91福利区一区二区三区 | 国产亚洲精品久久久久秋 | 国产特级毛片aaaaaa高清 | 911国产在线观看 | 最新精品视频在线 | 色欧美成人精品a∨在线观看 | 亚洲作爱视频 | 亚洲精品久久视频 | 欧美91视频 | 免费成人av | 久久久人人爽 | 久久久九九 | 久久久亚洲精品 | 天堂中文在线视频 | 五月天亚洲综合小说网 | 99久精品视频 | 91女子私密保健养生少妇 | 国产色视频一区二区三区qq号 | 久久国产精品久久久 | 亚洲无吗天堂 | 国产专区在线看 | 超碰在线日韩 | 91一区二区在线 | 国产视频精品久久 | 精品国产区在线 | 狠狠操影视 | 欧洲视频一区 | 国产成人精品国内自产拍免费看 | 久久精品视频日本 | 一级全黄毛片 | 亚洲成人国产精品 | 九九热精品视频在线播放 | 一区二区亚洲精品 | 国产在线国偷精品产拍免费yy | 中文字幕日韩电影 | 成人av免费看| 毛片基地黄久久久久久天堂 | 九色精品免费永久在线 | 成年免费在线视频 | 中文字幕成人在线观看 | 激情综合亚洲 | av在线色 | 日韩理论在线观看 | 日本久久久久 | 国产一级二级三级视频 | 亚洲视频资源在线 | www.狠狠干 | 久久精品国产免费看久久精品 | 伊人成人久久 | 日韩一级黄色片 | 狠狠gao | 男女全黄一级一级高潮免费看 | 人人草人人草 | 91在线精品观看 | 操高跟美女 | 性色av一区二区三区在线观看 | av中文在线影视 | 在线观看精品一区 | 国产亚洲精品美女 | 在线免费色 | 欧美一级片免费在线观看 | 亚洲资源在线网 | 麻豆视频免费播放 | 草久久久 | 国产99久久久国产 | 狠狠操夜夜| 中文字幕在线久一本久 | 国产区高清在线 | 亚洲精品男人天堂 | 9ⅰ精品久久久久久久久中文字幕 | 在线观看韩国av | 国产精品一区二区在线观看 | 免费三级黄色片 | 一本色道久久综合亚洲二区三区 | 亚洲欧美乱综合图片区小说区 | 色婷婷综合视频在线观看 | 欧美日韩亚洲在线观看 | 国产精品成人在线观看 | 国产亚洲精品久久久久久久久久久久 | 麻豆传媒在线免费看 | 日本高清久久久 | 亚洲精品xx| 在线免费观看麻豆视频 | 一区二区观看 | 国产精品久久久久久久久久直播 | 黄色a在线观看 | 午夜久久久久久久久久久 | 97免费在线观看视频 | 97视频免费在线看 | 国产高清日韩欧美 | 亚洲 欧洲 国产 精品 | 丁香花在线观看免费完整版视频 | 国产.精品.日韩.另类.中文.在线.播放 | 日韩欧美一区二区在线观看 | 国产香蕉视频在线播放 | 玖草在线观看 | 国产精品成人免费一区久久羞羞 | 国产又粗又硬又长又爽的视频 | 97超碰资源总站 | 久久久人人爽 | 激情中文在线 | 九九九九热精品免费视频点播观看 | 超碰国产97| 亚洲 欧美 综合 在线 精品 | 欧美国产精品久久久久久免费 | 亚洲成年人在线播放 | 久久国产系列 | av一区二区在线观看中文字幕 | 97人人网 | 国产一区私人高清影院 | 久草在线视频在线观看 | 最新91在线视频 | 日韩av在线一区二区 | 国产亚洲片| 青青草视频精品 | 欧美日韩国产一区二区三区在线观看 | 婷婷色中文 | 免费黄色av| 亚洲妇女av| 最近最新中文字幕视频 | 日韩精品中文字幕一区二区 | www在线观看国产 | 国产在线视频一区二区 | 爱情影院aqdy鲁丝片二区 | 国产精品网在线观看 | 欧美 日韩精品 | 又黄又爽又刺激 | 久久香蕉国产 | 久久久国产精品一区二区中文 | 欧美午夜久久久 | 伊人永久在线 | 国产精品一区二区三区免费视频 | 国产视频资源 | 国产区网址 | av丝袜在线 | 91av视屏| 欧美亚洲成人xxx | 在线免费观看国产精品 | 中文字幕成人 | 色狠狠狠 | 99视频国产在线 | 探花视频网站 | 九热精品 | 日韩亚洲在线观看 | 亚洲精品高清在线 | 国产成人一区二区三区免费看 | 国产在线探花 | 久久久久久久久久福利 | 中文字幕乱码电影 | 久久综合狠狠狠色97 | 在线观看视频一区二区三区 | 国产一区二区不卡视频 | 亚洲精品18日本一区app | 亚洲精品一区二区精华 | ,久久福利影视 | 丁香综合网| 国产一级在线观看 | 日本精品视频在线播放 | 国产在线播放一区二区 | 欧美日在线 | 国产成人精品一区二区三区在线观看 | 亚洲精品视频在线观看免费 | 在线观看www.| 久久精品视频18 | 色婷婷在线播放 | 波多野结衣在线观看视频 | 中文字幕亚洲不卡 | 97视频久久久 | 西西www444| 欧美性生交大片免网 | av黄色成人 | 探花视频在线版播放免费观看 | 97超碰人人澡人人爱学生 | 久草视频在线资源 | 福利视频一二区 | 免费黄色在线网站 | 国产精品系列在线播放 | 91日韩在线专区 | 在线视频 国产 日韩 | 国产福利午夜 | 精品一区二区av | 国产免费一区二区三区最新6 | 日韩av电影手机在线观看 | 一区二区三区视频网站 | 成年免费在线视频 | 欧美性粗大hdvideo | 国产精品99久久久久久武松影视 | 99精品免费视频 | 久久9精品 | 午夜国产在线 | 高清一区二区三区 | 不卡的av在线播放 | 欧美日韩不卡在线 | 国产一级电影免费观看 | 日本精品在线视频 | www.av免费观看 | av看片网址| 成人国产电影在线观看 | 米奇狠狠狠888 | www亚洲一区| 色的网站在线观看 | 日韩a级黄色片 | 高清在线一区二区 | 久久精品国产亚洲aⅴ | 中文一区二区三区在线观看 | 中文国产在线观看 | av先锋中文字幕 | 人人爽人人爽人人片 | 亚洲区色 | 国产成人精品一区二区在线 | 久久人网 | 日韩有码中文字幕在线 | 亚洲一区久久久 | 五月天堂色 | 国产精品久久久久亚洲影视 | 国产免费大片 | 久久精品视频18 | 国产精品久久久亚洲 | 四虎国产精品永久在线国在线 | 免费黄色网址大全 | 婷婷日韩 | 麻豆视频国产精品 | 久久试看 | 日本天天色 | 91精品人成在线观看 | 美女网站一区 | 国产一级电影免费观看 | 91麻豆精品国产91久久久久 | 国产免费叼嘿网站免费 | 91av资源在线 | 五月香视频在线观看 | 中文字幕在线免费看 | 国产不卡高清 | 缴情综合网五月天 | 美女视频a美女大全免费下载蜜臀 | 亚洲国产精品久久久久久 | 精品亚洲va在线va天堂资源站 | 天天射狠狠干 | 国产伦精品一区二区三区四区视频 | 97国产在线 | 中文字幕在线看视频国产中文版 | 亚洲精品ww| 麻豆免费视频 | 91看片在线免费观看 | 91传媒在线播放 | 色播六月天 | 国产亚洲免费的视频看 | 国产成人l区 | 欧美aa一级 | 国产在线观看免费观看 | 久久99九九99精品 | 日日爱影视 | 精品免费视频123区 午夜久久成人 | 国产精品99蜜臀久久不卡二区 | 国产日韩欧美在线看 | 欧美日韩中文在线视频 | 99久久婷婷国产 | 2019精品手机国产品在线 | 麻豆久久一区二区 | 久久伦理电影网 | 欧美日韩中文字幕综合视频 | 手机av观看 | 黄色特一级片 | 亚洲国产av精品毛片鲁大师 | 美女黄视频免费 | 麻豆94tv免费版 | 亚洲综合情 | 欧美aaa视频 | 久草www| 久久久久亚洲精品男人的天堂 | 日本99热 | 免费av视屏| 日本三级人妇 | 日韩av中文在线 | 日女人免费视频 | 婷色在线| 天天操天天操天天操天天操 | 亚洲免费av电影 | 国产精品一区电影 | 国产麻豆果冻传媒在线观看 | 欧美日韩免费一区二区 | 色香蕉在线视频 | 经典三级一区 | 91免费网站在线观看 | 激情婷婷色 | 热久久在线视频 | 狠狠色丁香婷婷综合橹88 | 国产手机在线视频 | 亚洲精品系列 | 亚洲精品一区二区网址 | 免费在线色电影 | 欧美在线a视频 | 日本久久成人中文字幕电影 | 欧洲成人av | 国产精品色在线 | 美女精品 | 久久久久久久免费看 | 2019中文字幕网站 | 亚洲精品午夜aaa久久久 | 亚洲精品在线一区二区三区 | 日韩三级在线 | 免费黄色av电影 | 日韩久久久久久久久久 | 免费观看一级特黄欧美大片 | 国产精品视频区 | 97电影手机版 | 欧美精品久久久久久久久久久 | 91精品国自产在线观看 | 国产区欧美 | 国产主播大尺度精品福利免费 | 国产视频久久 | 久久精品人 | 国产精品久久久一区二区 | 五月天国产| 色综合久久久久综合体桃花网 | 精品国产自在精品国产精野外直播 | 五月激情电影 | 日韩在线 | 婷婷伊人五月天 | 九色91福利 | 五月激情综合婷婷 | 免费在线播放 | 天天玩天天干 | 亚洲综合黄色 | 中文字幕日韩精品有码视频 | 色黄www小说| 美女视频黄色免费 | 国产日韩欧美在线观看视频 | 国产一区二区在线免费观看 | 久草视频在线资源 | 18久久久| 国内精品久久久久久久久久 | 国产真实在线 | 亚洲精品成人免费 | 天堂资源在线观看视频 | 在线观看mv的中文字幕网站 | 国产精品123 | 欧美激情奇米色 | 久av电影 | 午夜在线免费观看 | 天天干天天操天天爱 | 国产女v资源在线观看 | 天天摸日日操 | 免费亚洲一区二区 | 婷婷www| 免费人成网ww44kk44 | 免费看的毛片 | 日本精品久久久久中文字幕 | 狠狠色2019综合网 | 91成人精品一区在线播放 | 国产一级精品在线观看 | 国产色就色 | 免费看的黄色录像 | 欧美亚洲成人xxx | 国产三级久久久 | 在线观看自拍 | 精品电影一区 | 日韩免费视频在线观看 | 91丨九色丨91啦蝌蚪老版 | 日韩资源在线 | 中文字幕一区二区三区久久 | 高清日韩一区二区 | a在线观看视频 | 24小时日本在线www免费的 | 日韩一级电影网站 | 天天色天 | 又黄又爽又刺激 | 国产精品18久久久久久久网站 | 色综合亚洲精品激情狠狠 | 久久婷婷国产 | 久久五月婷婷丁香社区 | 亚洲在线视频播放 | 超碰在线人人 | 亚州国产精品视频 | 人人搞人人搞 | 女人高潮特级毛片 | 久久久国产精品一区二区中文 | 91爱爱电影| a级成人毛片 | 久久专区| 国产精品成人一区二区 | 日本中文字幕电影在线免费观看 | 欧美久久久久 | 国产一级高清 | 91精品综合在线观看 | 日韩免费播放 | 69av免费视频 | 色综合久久88色综合天天人守婷 | 成人久久久精品国产乱码一区二区 | www一起操| 521色香蕉网站在线观看 | 精品久久免费看 | av 一区二区三区四区 | 九九免费精品视频在线观看 | 公开超碰在线 | 天天干天天做天天爱 | 视频一区二区在线 | 不卡的av中文字幕 | 五月天九九 | 色射色 | 香蕉久久久久久av成人 | 深爱五月激情网 | 国产成人精品亚洲a | 91视频国产免费 | 国产自产高清不卡 | 国产黄色片网站 | 成年人免费在线观看网站 | 97视频免费看 | 久久伊人精品一区二区三区 | 国产精品va在线 | 亚洲免费精彩视频 | 久久成人亚洲欧美电影 | 蜜桃av观看 | 国产精品男女啪啪 | 久草在线高清 | 日韩a级黄色片 | 国产在线黄 | 精品国产伦一区二区三区免费 | www.夜夜操.com| 亚洲成人频道 | 亚洲精品一区二区三区四区高清 | 国产精品免费观看视频 | 色婷婷综合久久久中文字幕 | 五月婷婷综合在线 | 日韩影视在线观看 | 五月婷婷狠狠 | 黄色小说视频网站 | 看av免费 | 91成人在线观看喷潮 | 日韩欧美在线观看一区 | 久久精品国产亚洲精品 | 久久99热精品 | 国产伦理久久 | 亚洲永久精品一区 | 精品一区二区三区久久久 | 人人澡人摸人人添学生av | 视频成人永久免费视频 | 久久精品3| 99热最新网址 | 久久综合一本 | 久草在线费播放视频 | 黄色影院在线观看 | 国产一区二区高清不卡 | 色a网| 久久久久久久久久久网 | 四虎成人精品永久免费av九九 | 亚洲天堂激情 | 国产精品久久久久久久久久久久午夜片 | 人人舔人人干 | av网在线观看| 91网页版免费观看 | 在线观看视频免费播放 | 97视频在线看 | 欧美色久| 久久久999| 国产91免费在线 | 99国产免费网址 | 日韩在线视频不卡 | 日韩二区在线观看 | 天天操天天操天天爽 | 在线不卡a | 久久精品视频在线免费观看 | 福利二区视频 | 天天亚洲 | 蜜桃av人人夜夜澡人人爽 | 婷婷五天天在线视频 | 国产精品视频99 | av在线播放不卡 | zzijzzij亚洲成熟少妇 | 亚洲成人午夜在线 | 综合久久影院 | 911亚洲精品第一 | 国产一及片 | 精品夜夜嗨av一区二区三区 | 日韩在线欧美在线 | 丁香六月在线观看 | 国产一级不卡毛片 | 国产亚洲精品综合一区91 | 久久se视频 | 国产精品初高中精品久久 | 精品久久久久国产 | 精品久久亚洲 | 黄色av播放 | 午夜精品av | 97超碰国产精品 | 久精品一区 | 欧美成人性网 | 婷婷色在线播放 | 国产精品免费视频观看 | 999久久久久久久久6666 | 亚洲伦理一区二区 | 亚洲综合最新在线 | 日韩免费成人av | 欧美精品亚洲精品 | 欧美日韩久久不卡 | 色综合激情久久 | 国产一级大片免费看 | 最近免费中文字幕mv在线视频3 | 欧美最新另类人妖 | 麻豆视频免费入口 | 国产又粗又猛又色又黄网站 | av免费网页| 91丨九色丨蝌蚪丨老版 | 日韩中文字幕在线不卡 | 国产成本人视频在线观看 | 黄色小视频在线观看免费 | 久久久免费毛片 | 最近日本字幕mv免费观看在线 | 麻豆视频免费看 | 亚洲综合色激情五月 | 99久久精品无码一区二区毛片 | 免费国产视频 | 免费av福利| 久久成人综合视频 | 亚洲精品午夜久久久久久久久久久 | 日韩激情免费视频 | 亚洲精品美女久久久 | 亚洲精品视频免费在线观看 | 日日夜夜网 | 99精品热 | 久久久久综合视频 | 久久久午夜视频 | 中文av在线免费观看 | 欧美资源 | 国产精品大全 | 色九九影院 | 色www精品视频在线观看 | 天天艹日日干 | 中文字幕二区在线观看 | 久久亚洲欧美 | 伊人在线视频 | 九九一级片 | 成人在线视频免费看 | 久久99国产一区二区三区 | 国产黄色视 | 欧美中文字幕久久 | 亚洲综合丁香 | 亚洲精品啊啊啊 | 国产91精品一区二区麻豆网站 | 欧美99久久 | 国产一区二区三区网站 | 成 人 黄 色 视频 免费观看 | 国产一区视频在线 | 黄色小网站在线 | 最近中文字幕mv免费高清在线 | 国产黄色免费观看 | 亚洲无人区小视频 | 日韩毛片在线一区二区毛片 | 久久国产精品99久久久久久丝袜 | 波多野结衣精品视频 | 欧美日韩国产在线精品 | 亚洲精品电影在线 | 成人国产精品av | 久久精品国产美女 | 亚洲国产黄色 | www免费在线观看 | 国产香蕉久久精品综合网 | 国产麻豆果冻传媒在线观看 | 天天干天天操天天拍 | 在线草 | 特级免费毛片 | 久久精品国产一区二区三区 | www.com黄色| 亚洲高清视频一区二区三区 | 中文字幕在线观看第一页 | 中文字幕在线一二 | av福利超碰网站 | 最近中文字幕大全中文字幕免费 | 97电影在线观看 | 中文字幕在线专区 | 亚洲精品91天天久久人人 | 天天色棕合合合合合合 | 免费试看一区 | 麻花豆传媒mv在线观看网站 | 2022国产精品视频 | 日韩欧美专区 | 欧美激情精品久久久久久免费印度 | 97夜夜澡人人爽人人免费 | 激情综合亚洲精品 | 久久96国产精品久久99漫画 | 热久久免费国产视频 | 久久亚洲欧美日韩精品专区 | 香蕉久久久久久av成人 | 久久亚洲在线 | 九九九热精品免费视频观看网站 | 激情综合色综合久久综合 | www.com在线观看 | 国产精久久久久久久 | 日本黄色黄网站 | 国产福利网站 | 成人午夜黄色影院 | 91网页版在线观看 | 在线观看成人网 | 亚洲精品国内 | 美女国产在线 | 色综合久久中文字幕综合网 | av最新资源 | 午夜精品福利一区二区三区蜜桃 | 91精品久久久久久久久久久久久 | 久久尤物电影视频在线观看 | 97人人模人人爽人人喊网 | 激情视频网页 | 97国产一区| 在线成人免费av | 久久99国产一区二区三区 | 黄色在线观看污 | 中文资源在线官网 | 亚州av成人 | 2023年中文无字幕文字 | 天天插天天 | 五月开心网 | 午夜黄色大片 | 国产在线999| 日本最新高清不卡中文字幕 | 亚洲综合黄色 | 午夜精品一区二区三区在线视频 | 久久精品美女视频网站 | 丁香婷婷久久 | 操处女逼 | 亚洲女同videos | 久久字幕 | 999电影免费在线观看 | 特级毛片在线免费观看 | 97超碰资源网 | 成年人在线观看视频免费 | 免费看网站在线 | 国产激情久久久 | 色偷偷av男人天堂 | 国产高清久久 | 成人免费在线电影 | 亚洲精品乱码久久久久久9色 | 韩日电影在线 | 久操中文字幕在线观看 | 日本一区二区三区视频在线播放 | av中文字幕第一页 | 国产精品久久久久久久久费观看 | 国产一区二区视频在线播放 | 日本黄色特级片 | 亚洲高清久久久 | 日日夜夜天天射 | 中文字幕第一页在线 | 免费在线国产精品 |