99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

監(jiān)控告警聯(lián)動(dòng)自動(dòng)化測(cè)試:Prometheus+Alertmanager實(shí)戰(zhàn)

監(jiān)控告警聯(lián)動(dòng)自動(dòng)化測(cè)試:Prometheus+Alertmanager實(shí)戰(zhàn) 做監(jiān)控的同學(xué)大多有這種經(jīng)歷凌晨三點(diǎn)手機(jī)震醒群里炸鍋說線上掛了你爬起來翻了半天日志最后發(fā)現(xiàn)只是某個(gè)指標(biāo)抖動(dòng)了一下觸發(fā)了閾值虛驚一場(chǎng)。真正出問題的時(shí)候警報(bào)又可能被誤報(bào)刷屏淹沒了。這套“安全監(jiān)控集成實(shí)時(shí)警報(bào)與測(cè)試聯(lián)動(dòng)”的方案解決的就是這個(gè)痛點(diǎn)——把監(jiān)控告警和自動(dòng)化測(cè)試串成一條完整的處理鏈路讓警報(bào)響的時(shí)候系統(tǒng)自動(dòng)跑測(cè)試驗(yàn)證問題真假把確認(rèn)環(huán)節(jié)從“人肉排查”變成“機(jī)器自動(dòng)驗(yàn)證”。這個(gè)方案適合正在做監(jiān)控體系建設(shè)的運(yùn)維、負(fù)責(zé)質(zhì)量保障的測(cè)試開發(fā)、以及被告警誤報(bào)折磨到想砸手機(jī)的研發(fā)同學(xué)參考。整套思路不依賴特定平臺(tái)用的是Prometheus加Alertmanager加Webhook加測(cè)試服務(wù)這套通用組合你可以直接照搬落地。做這件事之前我先把核心邏輯說清楚為什么要讓監(jiān)控和測(cè)試聯(lián)動(dòng)而不是繼續(xù)沿用“監(jiān)控發(fā)現(xiàn)告警人收到通知再手動(dòng)驗(yàn)證”的老路。原因很簡(jiǎn)單——人在告警鏈路上是最慢的一環(huán)也是出錯(cuò)率最高的一環(huán)。半夜收到告警腦子是懵的手是抖的登錄環(huán)境查日志的效率極低而且不同人的排查水平還不一樣。如果讓機(jī)器在告警觸發(fā)的瞬間自動(dòng)拉起一輪定向測(cè)試去驗(yàn)證關(guān)鍵接口是否真的異常、數(shù)據(jù)庫是否真的超時(shí)、核心鏈路是否真的降級(jí)那告警的真?zhèn)卧趲资雰?nèi)就能有結(jié)論。真報(bào)警帶著測(cè)試報(bào)告去定位效率高一個(gè)量級(jí)假警報(bào)測(cè)試結(jié)果會(huì)告訴你一切正常安心睡你的覺。這套聯(lián)動(dòng)機(jī)制的本質(zhì)是把“發(fā)現(xiàn)問題”和“驗(yàn)證問題”兩個(gè)動(dòng)作之間的時(shí)間差壓縮到極致。接下來我把這套方案的完整設(shè)計(jì)、核心細(xì)節(jié)、落地代碼和踩坑記錄全部攤開講。1. 整體思路為什么監(jiān)控警報(bào)要跟測(cè)試聯(lián)動(dòng)監(jiān)控告警和自動(dòng)化測(cè)試在很多團(tuán)隊(duì)里是兩套獨(dú)立體系各玩各的。監(jiān)控歸運(yùn)維管測(cè)試歸QA管中間隔著一道墻。監(jiān)控每周報(bào)幾百個(gè)告警運(yùn)維挨個(gè)排查確認(rèn)其中真正需要處理的可能不到十分之一。測(cè)試環(huán)境每天跑幾千條用例但跑完的結(jié)果和線上實(shí)時(shí)狀態(tài)完全沒關(guān)系。這兩套體系浪費(fèi)了大量人力在做“確認(rèn)”這件事上。我做的這套聯(lián)動(dòng)方案核心思路就一句話把告警觸發(fā)的瞬間變成一個(gè)自動(dòng)化的驗(yàn)證動(dòng)作起點(diǎn)。具體來說告警觸發(fā)后不再直接、盲目地發(fā)給值班人而是先進(jìn)一個(gè)聯(lián)動(dòng)邏輯層這個(gè)層會(huì)根據(jù)告警的類型、涉及的組件、影響的范圍自動(dòng)選擇要執(zhí)行的測(cè)試集。比如Redis延遲告警觸發(fā)就自動(dòng)跑緩存讀寫和Key過期策略的測(cè)試訂單接口超時(shí)告警觸發(fā)就自動(dòng)跑訂單鏈路的核心接口和數(shù)據(jù)庫連接池測(cè)試服務(wù)器負(fù)載過高告警觸發(fā)就自動(dòng)跑基礎(chǔ)健康檢查和最近變更涉及的功能回歸。測(cè)試跑完后結(jié)果會(huì)被打成一個(gè)驗(yàn)證標(biāo)簽連同告警信息一起發(fā)送給值班人。值班人收到的不是一條干巴巴的告警而是一份帶驗(yàn)證結(jié)論的處置建議。這套設(shè)計(jì)的優(yōu)勢(shì)在于整個(gè)流程形成了一個(gè)閉環(huán)監(jiān)控發(fā)現(xiàn)問題測(cè)試驗(yàn)證問題結(jié)果輔助決策。告警不再是一個(gè)“需要人去查”的信號(hào)而是“系統(tǒng)已經(jīng)替你查過一遍”的報(bào)告。能自動(dòng)確認(rèn)的告警直接進(jìn)入待處理隊(duì)列確認(rèn)不了的高危告警才會(huì)真正打擾到人。這個(gè)方案適合什么規(guī)模什么場(chǎng)景我認(rèn)為從幾十臺(tái)服務(wù)器的中小團(tuán)隊(duì)到上千臺(tái)機(jī)器的大廠都適用。中小團(tuán)隊(duì)通常人少活多能減少半夜被誤報(bào)叫醒的次數(shù)就是勝利。大廠系統(tǒng)復(fù)雜告警量大通過聯(lián)動(dòng)先把明顯的假警報(bào)過濾掉能大幅降低值班同學(xué)的認(rèn)知負(fù)擔(dān)。我自己是從三套業(yè)務(wù)系統(tǒng)接入開始的跑順了擴(kuò)展到全量系統(tǒng)整個(gè)過程大概用了兩個(gè)迭代周期。1.1 告警鏈路的三個(gè)關(guān)鍵環(huán)節(jié)整套聯(lián)動(dòng)鏈路可以抽象成三個(gè)環(huán)節(jié)監(jiān)控采集與規(guī)則判定、告警路由與聯(lián)動(dòng)決策、測(cè)試執(zhí)行與結(jié)果回寫。每個(gè)環(huán)節(jié)都有獨(dú)立的設(shè)計(jì)要點(diǎn)但也有很強(qiáng)的先后依賴關(guān)系。先看監(jiān)控采集與規(guī)則判定。這一層是源頭采集數(shù)據(jù)的準(zhǔn)確性和規(guī)則設(shè)置的合理性直接決定后面是否會(huì)產(chǎn)生有效聯(lián)動(dòng)。用Prometheus做采集規(guī)則用PromQL寫關(guān)鍵是指標(biāo)設(shè)計(jì)要對(duì)齊業(yè)務(wù)語義比如訂單成功率這個(gè)指標(biāo)不能只看接口返回的HTTP狀態(tài)碼還要把業(yè)務(wù)返回碼里的失敗情況算進(jìn)去否則接口狀態(tài)200但業(yè)務(wù)全失敗監(jiān)控完全無感知。再看告警路由與聯(lián)動(dòng)決策。Alertmanager收到告警后執(zhí)行路由分發(fā)這一步的關(guān)鍵是給告警打標(biāo)簽、分級(jí)。我這邊設(shè)置了三檔P0代表核心鏈路完全不可用直接全渠道轟炸加電話P1代表核心功能受損但有降級(jí)方案發(fā)短信和IMP2代表非核心模塊異常或者指標(biāo)抖動(dòng)只發(fā)IM不打電話。測(cè)試聯(lián)動(dòng)這個(gè)動(dòng)作掛在路由的下一跳不同級(jí)別的告警觸發(fā)不同范圍的測(cè)試驗(yàn)證。最后是測(cè)試執(zhí)行與結(jié)果回寫。測(cè)試框架我選了既支持HTTP接口級(jí)測(cè)試也能做數(shù)據(jù)庫和緩存驗(yàn)證的Pytest加上Requests和Redis的客戶端庫。測(cè)試執(zhí)行完會(huì)把結(jié)果寫回Alertmanager自定義的Webhook通知里帶上驗(yàn)證結(jié)論。下面給一個(gè)最簡(jiǎn)化的聯(lián)動(dòng)流程圖版文字描述Prometheus告警 - Alertmanager路由 - 判斷是否需要聯(lián)動(dòng)測(cè)試 - 觸發(fā)測(cè)試服務(wù)執(zhí)行用例 - 收集結(jié)果 - 組裝報(bào)告 - 發(fā)送通知。整個(gè)過程不需要人工參與從告警到測(cè)試結(jié)果返回的過程控制在三分鐘以內(nèi)。1.2 這套方案的三個(gè)適用場(chǎng)景場(chǎng)景一是線上問題真?zhèn)舞b定。這是用得最多也最見效的場(chǎng)景。某指標(biāo)觸發(fā)告警后系統(tǒng)自動(dòng)跑相關(guān)用例如果測(cè)試通過告警自動(dòng)降級(jí)為低優(yōu)先級(jí)值班人起來看一眼測(cè)試報(bào)告就能繼續(xù)睡不用登錄服務(wù)器排查。如果測(cè)試失敗測(cè)試報(bào)告會(huì)直接指出失敗的具體接口和錯(cuò)誤信息定位范圍能縮小到具體的模塊。場(chǎng)景二是發(fā)布前后的回歸驗(yàn)證。發(fā)布的動(dòng)作會(huì)觸發(fā)監(jiān)控比如發(fā)布新版本后錯(cuò)誤率指標(biāo)出現(xiàn)波動(dòng)聯(lián)動(dòng)機(jī)制會(huì)自動(dòng)對(duì)發(fā)布涉及的核心鏈路跑一輪冒煙測(cè)試。這個(gè)場(chǎng)景的價(jià)值在于回滾決策有數(shù)據(jù)支撐語義明確、不靠猜。如果新舊接口行為不一致在測(cè)試中直接暴露發(fā)布審批人可以直接叫停比等用戶報(bào)障快得多。場(chǎng)景三是故障處理過程中的實(shí)時(shí)驗(yàn)證。當(dāng)值班人定位到一個(gè)疑似根因并嘗試修復(fù)時(shí)修復(fù)動(dòng)作完成后可以通過聯(lián)動(dòng)機(jī)制手動(dòng)觸發(fā)一次驗(yàn)證立即確認(rèn)是否恢復(fù)。這個(gè)場(chǎng)景把測(cè)試從“發(fā)布前把關(guān)”擴(kuò)展到了“故障處理過程”讓驗(yàn)證動(dòng)作隨時(shí)隨地可以進(jìn)行減少來回溝通和等待。2. 核心細(xì)節(jié)警報(bào)規(guī)則設(shè)計(jì)與聯(lián)動(dòng)觸發(fā)策略方案落地能不能跑得穩(wěn)警報(bào)規(guī)則的制定占比七成以上。規(guī)則設(shè)置不合理聯(lián)動(dòng)機(jī)制不但起不到過濾誤報(bào)的作用反而會(huì)因?yàn)檎`報(bào)太多觸發(fā)大量測(cè)試把測(cè)試資源耗盡制造出新的故障。2.1 閾值不拍腦袋三檔設(shè)計(jì)與動(dòng)態(tài)基準(zhǔn)閾值設(shè)計(jì)最忌拍腦袋拍個(gè)“錯(cuò)誤率超過5%就報(bào)警”這種值純屬給自己挖坑。做閾值我推薦三檔設(shè)計(jì)第一檔是警告線標(biāo)記指標(biāo)異常先通知不打擾第二檔是嚴(yán)重線標(biāo)記功能受損升級(jí)通知第三檔是緊急線標(biāo)記核心服務(wù)不可用全渠道轟炸。對(duì)應(yīng)的告警規(guī)則在Prometheus里用三個(gè)獨(dú)立的規(guī)則來表達(dá)每一檔的閾值和持續(xù)時(shí)間參數(shù)各不相同。具體到錯(cuò)誤率這個(gè)指標(biāo)三檔閾值如何計(jì)算才有依據(jù)呢我用了最近14天同時(shí)段的歷史數(shù)據(jù)做分位數(shù)統(tǒng)計(jì)以P95作為警告線P99作為嚴(yán)重線P99.9作為緊急線。這樣做的好處是閾值會(huì)跟隨業(yè)務(wù)周期自動(dòng)變化——比如每天的流量高峰和低谷期的正常錯(cuò)誤率差異很大用固定閾值必然誤報(bào)。把歷史數(shù)據(jù)跑個(gè)分位數(shù)得出這個(gè)業(yè)務(wù)在同時(shí)段95%的時(shí)間內(nèi)錯(cuò)誤率都低于某個(gè)值那這個(gè)值就比拍腦袋可靠得多。給一個(gè)真實(shí)例子。某個(gè)核心接口的正常錯(cuò)誤率大部分時(shí)間在0.5%以下但每天凌晨的批處理任務(wù)會(huì)導(dǎo)致短時(shí)錯(cuò)誤率沖到3%這是正?,F(xiàn)象。如果閾值設(shè)成2%就天天半夜誤報(bào)設(shè)成5%又會(huì)在真正的故障到來時(shí)失靈。后來我引入分位數(shù)動(dòng)態(tài)基準(zhǔn)后凌晨時(shí)段的告警線自動(dòng)上調(diào)到4%白天的告警線維持在1%誤報(bào)率一下降低了80%。2.2 告警去重與靜默窗口防止風(fēng)暴淹沒聯(lián)動(dòng)告警風(fēng)暴是監(jiān)控體系里最頭疼的問題也是聯(lián)動(dòng)方案的潛在風(fēng)險(xiǎn)點(diǎn)。一個(gè)下游服務(wù)抖動(dòng)可能同時(shí)觸發(fā)幾十個(gè)上游接口的告警如果每個(gè)告警都觸發(fā)一輪測(cè)試瞬間涌進(jìn)來的測(cè)試請(qǐng)求會(huì)把原本就緊張的測(cè)試資源壓垮整個(gè)環(huán)境雪崩。解決這個(gè)問題的核心是靜默窗口機(jī)制。在Alertmanager里配置路由分組把同一個(gè)時(shí)間段內(nèi)、同一類資源的告警合并成一條通知然后再統(tǒng)一觸發(fā)一次測(cè)試聯(lián)動(dòng)。比如某接口響應(yīng)時(shí)間告警觸發(fā)后五分鐘內(nèi)這個(gè)接口相關(guān)的超時(shí)類告警自動(dòng)合并不再重復(fù)觸發(fā)測(cè)試。這個(gè)五分鐘窗口就是我做的一個(gè)標(biāo)準(zhǔn)配置。抑制規(guī)則同樣重要。當(dāng)父級(jí)告警存在時(shí)子級(jí)告警自動(dòng)被抑制不打擾人。比如數(shù)據(jù)庫掛了所有業(yè)務(wù)接口都會(huì)報(bào)錯(cuò)這時(shí)候業(yè)務(wù)接口的告警就是噪音。我在Alertmanager里配了一條規(guī)則當(dāng)MySQL不可用告警存在時(shí)所有依賴MySQL的業(yè)務(wù)告警在恢復(fù)前自動(dòng)抑制。這條規(guī)則配上之后告警量直接下降了60%。2.3 聯(lián)動(dòng)測(cè)試觸發(fā)條件過濾噪音只測(cè)關(guān)鍵不是所有告警都需要聯(lián)動(dòng)測(cè)試。無效的聯(lián)動(dòng)比沒有聯(lián)動(dòng)更糟糕因?yàn)闀?huì)浪費(fèi)資源并且模糊重點(diǎn)。我給聯(lián)動(dòng)觸發(fā)設(shè)了三個(gè)前置條件告警持續(xù)時(shí)間超過閾值設(shè)定的持續(xù)時(shí)間比如持續(xù)兩分鐘以上才觸發(fā)聯(lián)動(dòng)指標(biāo)抖動(dòng)一下只會(huì)進(jìn)入觀察狀態(tài)。告警附帶明確的組件標(biāo)簽?zāi)軌蛴成涞骄唧w的測(cè)試集。沒有測(cè)試覆蓋的組件聯(lián)動(dòng)只會(huì)提示“該組件無對(duì)應(yīng)測(cè)試用例”不會(huì)盲目去跑不相干的測(cè)試。當(dāng)前不在靜默維護(hù)窗口內(nèi)。凌晨有大版本發(fā)布或者批量數(shù)據(jù)遷移時(shí)會(huì)提前設(shè)置維護(hù)窗口避免聯(lián)動(dòng)測(cè)試影響正在進(jìn)行的變更。前兩個(gè)條件在Alertmanager配置階段就能過濾掉大部分無效告警第三個(gè)條件需要結(jié)合運(yùn)維日歷做判斷。這套組合下來真正觸發(fā)聯(lián)動(dòng)測(cè)試的告警只占原始告警量的15%左右而留下的這15%基本都是值得關(guān)注的真實(shí)信息。3. 實(shí)操過程Prometheus加Alertmanager加測(cè)試服務(wù)完整落地說完了思路進(jìn)入實(shí)操環(huán)節(jié)。我按真實(shí)的搭建順序展開你可以照著一步步做。環(huán)境假設(shè)是Linux服務(wù)器已安裝好Docker和Python 3.9以上環(huán)境服務(wù)組件包括Prometheus、Alertmanager、測(cè)試執(zhí)行服務(wù)、Webhook接收器。3.1 監(jiān)控告警規(guī)則配置Prometheus規(guī)則文件先看Prometheus告警規(guī)則的配置方式。這部分的關(guān)鍵是每個(gè)告警規(guī)則都定義清楚告警名、觸發(fā)的PromQL表達(dá)式、告警持續(xù)時(shí)間、嚴(yán)重級(jí)別、關(guān)聯(lián)的組件標(biāo)簽。組件標(biāo)簽是后面做測(cè)試聯(lián)動(dòng)映射的依據(jù)必須做好規(guī)范。groups: - name: core-api-alerts rules: - alert: CoreApiErrorRateHigh expr: | sum(rate(http_requests_total{jobcore-api, code~5..}[5m])) / sum(rate(http_requests_total{jobcore-api}[5m])) 0.05 for: 2m labels: severity: P1 component: core-api alert_type: error-rate annotations: summary: 核心接口錯(cuò)誤率超過5% description: 核心接口最近5分鐘錯(cuò)誤率達(dá)到{{ $value | humanizePercentage }}持續(xù)時(shí)間超過2分鐘這個(gè)規(guī)則里有兩個(gè)細(xì)節(jié)要注意。一個(gè)是for: 2m意思是表達(dá)式持續(xù)為真兩分鐘才觸發(fā)告警短時(shí)抖動(dòng)不會(huì)報(bào)警。另一個(gè)是labels里帶了component: core-api和alert_type: error-rate兩個(gè)標(biāo)簽測(cè)試聯(lián)動(dòng)就是靠這兩個(gè)標(biāo)簽找到對(duì)應(yīng)的測(cè)試集。告警觸發(fā)后Alertmanager根據(jù)標(biāo)簽路由到對(duì)應(yīng)接收器。3.2 Alertmanager路由與抑制配置Alertmanager的核心配置是路由樹。我按告警級(jí)別和組件兩個(gè)維度分配P0級(jí)別的告警走緊急通道直接觸發(fā)聯(lián)動(dòng)測(cè)試并全渠道通知P1級(jí)告警走常規(guī)通道觸發(fā)聯(lián)動(dòng)測(cè)試后只在IM群通知P2級(jí)別告警默認(rèn)不聯(lián)動(dòng)只發(fā)到低優(yōu)先級(jí)頻道留待第二天處理。route: receiver: default group_by: [alertname, component] group_wait: 30s group_interval: 5m repeat_interval: 4h routes: - match: severity: P0 receiver: critical-webhook continue: true - match_re: severity: P1|P2 receiver: info-webhook continue: true receivers: - name: critical-webhook webhook_configs: - url: http://test-runner.internal:8080/webhook/alert send_resolved: true - name: info-webhook webhook_configs: - url: http://test-runner.internal:8080/webhook/alert send_resolved: true inhibit_rules: - source_matchers: - severityP0 - componentmysql target_matchers: - component!mysql equal: [component]group_by在這里把同一組件、同時(shí)段產(chǎn)生的同類告警合并成一條這個(gè)配置直接決定了告警風(fēng)暴時(shí)你不會(huì)收到幾十條轟炸信息。repeat_interval設(shè)置了四小時(shí)意思是同一條告警如果一直未恢復(fù)四小時(shí)后才重復(fù)提醒一次避免持續(xù)騷擾。3.3 測(cè)試聯(lián)動(dòng)服務(wù)Webhook接收器與用例觸發(fā)Alertmanager的Webhook會(huì)POST一條JSON格式的告警數(shù)據(jù)到我寫的聯(lián)動(dòng)服務(wù)服務(wù)解析數(shù)據(jù)后根據(jù)標(biāo)簽映射測(cè)試集并觸發(fā)執(zhí)行。下面這個(gè)Python服務(wù)是整個(gè)聯(lián)動(dòng)機(jī)制的中樞核心部分是解析告警、匹配測(cè)試集、執(zhí)行用例、回寫結(jié)果這幾個(gè)動(dòng)作。# test_runner_service.py from flask import Flask, request, jsonify import subprocess import time import requests import redis app Flask(__name__) r redis.Redis(hostlocalhost, port6379, db0) # 維護(hù)一個(gè)從告警標(biāo)簽到測(cè)試命令的映射表 TEST_MAP { core-api:error-rate: pytest tests/core_api/test_error_rate.py, core-api:latency: pytest tests/core_api/test_latency_slo.py, mysql:slow-query: pytest tests/middleware/test_mysql_slow_query.py, redis:high-latency: pytest tests/middleware/test_redis_latency.py, order-service:error: pytest tests/order_service/test_trade_flow.py, } app.route(/webhook/alert, methods[POST]) def handle_alert(): data request.json alerts data.get(alerts, []) for alert in alerts: labels alert.get(labels, {}) alert_name labels.get(alertname, ) component labels.get(component, ) severity labels.get(severity, P2) status alert.get(status, firing) key f{component}:{alert_name} # 只處理firing狀態(tài)resolved狀態(tài)直接跳過 if status ! firing: continue # 去重檢查一小時(shí)內(nèi)同類型告警只聯(lián)動(dòng)一次 dedup_key fdedup:{component}:{alert_name} if r.exists(dedup_key): continue r.setex(dedup_key, 3600, 1) # 根據(jù)嚴(yán)重級(jí)決定是否聯(lián)動(dòng)測(cè)試 if severity P2: send_notification(labels, P2告警不觸發(fā)聯(lián)動(dòng)測(cè)試) continue test_cmd TEST_MAP.get(key) if not test_cmd: # 有告警但沒有對(duì)應(yīng)測(cè)試發(fā)通知讓人注意 send_notification(labels, 無對(duì)應(yīng)測(cè)試集需要人工核查) continue # 執(zhí)行測(cè)試 test_result run_test(test_cmd) report build_report(labels, test_result) send_notification(labels, report) # 如果測(cè)試失敗升級(jí)告警渠道 if test_result.returncode ! 0: escalate_alert(labels, report) return jsonify({status: ok}) def run_test(test_cmd): start time.time() proc subprocess.run( test_cmd.split(), capture_outputTrue, textTrue, timeout180 ) return { returncode: proc.returncode, stdout: proc.stdout[-2000:], stderr: proc.stderr[-2000:], duration: time.time() - start }這個(gè)服務(wù)里我加了兩個(gè)安全機(jī)制。一個(gè)是去重檢查通過Redis記錄一小時(shí)內(nèi)同類告警只觸發(fā)一次聯(lián)動(dòng)防止同一故障反復(fù)觸發(fā)測(cè)試。另一個(gè)是超時(shí)限制測(cè)試執(zhí)行超過三分鐘直接殺掉進(jìn)程返回超時(shí)結(jié)果防止某個(gè)用例卡住導(dǎo)致后續(xù)聯(lián)動(dòng)全部阻塞。3.4 測(cè)試報(bào)告與通知組裝測(cè)試跑完后生成的通知模板是關(guān)鍵體驗(yàn)點(diǎn)。收到通知的人需要在十秒內(nèi)判斷這個(gè)告警是否需要處理所以信息必須結(jié)構(gòu)清晰。我用的模板分三段第一段是告警基本信息哪臺(tái)機(jī)器、什么指標(biāo)、嚴(yán)重級(jí)別第二段是自動(dòng)驗(yàn)證結(jié)果跑了哪些用例、通過與否、關(guān)鍵請(qǐng)求的響應(yīng)時(shí)間第三段是結(jié)論建議明確告訴值班人“無需處理”或“立即介入”。def build_report(labels, test_result): passed test_result[returncode] 0 status_text 驗(yàn)證通過無需處理 if passed else 驗(yàn)證失敗需要立即介入 return f 【告警聯(lián)動(dòng)報(bào)告】 告警名稱: {labels.get(alertname)} 組件: {labels.get(component)} 嚴(yán)重級(jí)別: {labels.get(severity)} 觸發(fā)時(shí)間: {time.strftime(%Y-%m-%d %H:%M:%S)} 自動(dòng)驗(yàn)證結(jié)果: {status_text} 測(cè)試執(zhí)行耗時(shí): {test_result[duration]:.2f}s 用例輸出摘要: {test_result[stdout][:500] if test_result[stdout] else (無輸出)} 處理建議: {status_text} 通知渠道我按嚴(yán)重級(jí)別做了區(qū)分。P0和驗(yàn)證失敗的告警發(fā)到釘釘/企業(yè)微信機(jī)器人并同步電話報(bào)警驗(yàn)證通過的告警只發(fā)到IM群不打電話。這樣值班人收到的每條高優(yōu)通知背后都有測(cè)試驗(yàn)證數(shù)據(jù)支撐可信度遠(yuǎn)高于裸告警。3.5 告警恢復(fù)通知關(guān)閉環(huán)的最后一環(huán)很多人搭建監(jiān)控體系時(shí)會(huì)忽略恢復(fù)通知導(dǎo)致的問題是故障早就解決了告警還掛在那里值班人不敢解除運(yùn)維也不知道是否全部恢復(fù)。我在Alertmanager里配置了send_resolved: true意味著當(dāng)指標(biāo)恢復(fù)到正常區(qū)間時(shí)Prometheus會(huì)發(fā)送一條resolved狀態(tài)的告警到Webhook聯(lián)動(dòng)服務(wù)收到后會(huì)把故障從處理列表中標(biāo)記完成?;謴?fù)通知的關(guān)聯(lián)邏輯也需要設(shè)計(jì)。我在聯(lián)動(dòng)服務(wù)的全局狀態(tài)里維護(hù)了一個(gè)“活躍告警映射表”包含告警的唯一識(shí)別鍵、聯(lián)動(dòng)測(cè)試的任務(wù)ID、觸發(fā)時(shí)間、當(dāng)前狀態(tài)。收到resolved通知后服務(wù)根據(jù)告警鍵找到對(duì)應(yīng)記錄把狀態(tài)改成已恢復(fù)并在通知群里發(fā)一條“已恢復(fù)”的消息。這保證了整個(gè)故障周期的信息閉環(huán)從告警觸發(fā)、自動(dòng)驗(yàn)證、人工處置到恢復(fù)確認(rèn)每一步都有記錄可追溯。4. 常見問題與排查技巧實(shí)錄這套方案跑了我接近一年該踩的坑都踩得差不多了。每個(gè)坑背后都對(duì)應(yīng)一個(gè)機(jī)制優(yōu)化我挑最典型的五個(gè)問題整理成速查表按照優(yōu)先級(jí)排序。4.1 告警風(fēng)暴差點(diǎn)把測(cè)試資源打滿第一次全量接入時(shí)遇到最猛的問題就是告警風(fēng)暴引發(fā)的測(cè)試雪崩。某個(gè)核心數(shù)據(jù)庫短時(shí)抖動(dòng)觸發(fā)了所有依賴它的業(yè)務(wù)線告警每個(gè)告警都觸發(fā)一輪測(cè)試測(cè)試集群瞬間被打滿其他正常業(yè)務(wù)的測(cè)試任務(wù)全部排隊(duì)等待最后把整個(gè)CI資源耗盡。后續(xù)加的防護(hù)機(jī)制有兩層。第一層是Alertmanager路由里的group_by配置把相同組件的告警合并成一條通知意味著即使幾十條業(yè)務(wù)告警同時(shí)進(jìn)來一個(gè)組件只會(huì)觸發(fā)一次聯(lián)動(dòng)測(cè)試。第二層是聯(lián)動(dòng)服務(wù)里Redis去重鎖同類告警一小時(shí)只能觸發(fā)一次徹底堵住了重復(fù)觸發(fā)的路。4.2 閾值設(shè)置不當(dāng)導(dǎo)致告警跟實(shí)際情況脫節(jié)閾值設(shè)置太靈敏每天被P2垃圾告警淹沒設(shè)置太遲鈍故障來了半天不觸發(fā)。第三種情況更隱蔽——凌晨和白天業(yè)務(wù)形態(tài)差異太大統(tǒng)一閾值必然失靈。我的解法是分時(shí)段和分位數(shù)結(jié)合。先按時(shí)間把一天劃分成業(yè)務(wù)高峰段、平峰段、低谷段每段獨(dú)立跑歷史數(shù)據(jù)的分位數(shù)統(tǒng)計(jì)以P95/P99/P99.9作為三檔閾值參考值。這個(gè)邏輯用一個(gè)Python腳本定時(shí)更新Prometheus規(guī)則每天凌晨計(jì)算一次并自動(dòng)滾入生效。另外在Prometheus的告警規(guī)則里用了特殊的記錄規(guī)則先把分位數(shù)存成指標(biāo)再用指標(biāo)做閾值比較閾值變成動(dòng)態(tài)值而不是硬編碼。4.3 生成式錯(cuò)誤率指標(biāo)為什么不準(zhǔn)確監(jiān)控指標(biāo)本身的設(shè)計(jì)很容易出問題。最常見的坑是把錯(cuò)誤率的分子和分母定義得不一致。分子是5分鐘內(nèi)的5xx錯(cuò)誤數(shù)分母卻是1分鐘內(nèi)的請(qǐng)求總數(shù)算出來的錯(cuò)誤率隨著時(shí)間窗口變化而失真。我最后的定義方式是把分子分母統(tǒng)一放在同一個(gè)五分鐘窗口內(nèi)并且明確統(tǒng)計(jì)維度是全部請(qǐng)求數(shù)不剔除重試和健康檢查請(qǐng)求。另外把錯(cuò)誤判定從只看HTTP狀態(tài)碼改為結(jié)合業(yè)務(wù)返回碼因?yàn)楹芏嘟涌诜祷?00但業(yè)務(wù)邏輯其實(shí)是失敗的只看狀態(tài)碼會(huì)漏報(bào)。4.4 測(cè)試聯(lián)動(dòng)反而拖慢了恢復(fù)過程有的運(yùn)維同學(xué)反饋說測(cè)試聯(lián)動(dòng)消耗的時(shí)間比人工手動(dòng)驗(yàn)證還慢主要原因是測(cè)試用例設(shè)計(jì)不合理跑一個(gè)全量回歸要半小時(shí)而不是針對(duì)告警組件做定向小驗(yàn)證。這里的原則是用例要足夠輕量。為聯(lián)動(dòng)場(chǎng)景單獨(dú)設(shè)計(jì)一組快速用例每條用例的預(yù)期耗時(shí)控制在10秒以內(nèi)整個(gè)測(cè)試集不超過三分鐘。高耗時(shí)用例劃分到獨(dú)立的全量回歸集需要時(shí)手動(dòng)調(diào)用不參與自動(dòng)聯(lián)動(dòng)。我把這個(gè)原則稱為“告警場(chǎng)景五分鐘驗(yàn)證閉環(huán)”如果五分鐘內(nèi)得不到測(cè)試結(jié)果聯(lián)動(dòng)機(jī)制的意義就打了折扣。4.5 告警升級(jí)后找不到對(duì)應(yīng)處理人聯(lián)動(dòng)跑完發(fā)現(xiàn)是嚴(yán)重問題需要升級(jí)到核心負(fù)責(zé)人但有些告警發(fā)到了過期的通知接收人那里沒人響應(yīng)。這是人和流程的問題但可以通過系統(tǒng)緩解。我維護(hù)了一份責(zé)任人映射表每個(gè)組件都有主備兩個(gè)負(fù)責(zé)人組件告警連續(xù)三次升級(jí)后會(huì)直接電話主備負(fù)責(zé)人。每周一這個(gè)映射表會(huì)通過腳本自動(dòng)同步一次訂餐管理系統(tǒng)的組織架構(gòu)接口保證人員變動(dòng)后第二天就生效。這套機(jī)制運(yùn)行下來線上嚴(yán)重問題的響應(yīng)中位數(shù)從最初的11分鐘降到了4分鐘。以下是我整理的問題速查表排查時(shí)按優(yōu)先級(jí)從上往下看問題現(xiàn)象可能原因排查思路解決方案告警風(fēng)暴后測(cè)試資源耗盡去重未生效檢查Redis中dedup鍵是否存在確認(rèn)Alertmanager的group_by配置和聯(lián)動(dòng)服務(wù)的去重邏輯P1告警反復(fù)觸發(fā)但測(cè)試未執(zhí)行告警名稱與測(cè)試映射鍵不匹配檢查告警labels里的component和alertname加入映射表缺失時(shí)的默認(rèn)通知邏輯測(cè)試執(zhí)行超時(shí)導(dǎo)致后續(xù)聯(lián)動(dòng)阻塞單條用例執(zhí)行過久檢查Pytest的超時(shí)插件配置在runner層增加kill邏輯告警恢復(fù)后通知混亂未開啟send_resolved檢查Alertmanager配置開啟恢復(fù)通知并關(guān)聯(lián)映射表半夜被P2垃圾警報(bào)叫醒閾值太靈敏查看歷史分位數(shù)分布引入動(dòng)態(tài)分位數(shù)基準(zhǔn)聯(lián)動(dòng)測(cè)試跑完但群消息未發(fā)出Webhook機(jī)器人配置異常檢查通知服務(wù)日志添加通知失敗的重試隊(duì)列4.6 兩個(gè)容易被忽略的細(xì)節(jié)時(shí)間同步與重試機(jī)制時(shí)間同步問題是我在排查一次“告警時(shí)間和測(cè)試時(shí)間對(duì)不上”的詭異問題時(shí)發(fā)現(xiàn)的。監(jiān)控服務(wù)所在機(jī)器和測(cè)試執(zhí)行機(jī)器的系統(tǒng)時(shí)間差了四十秒導(dǎo)致測(cè)試報(bào)告里的執(zhí)行時(shí)間戳和告警觸發(fā)時(shí)間錯(cuò)位人工核對(duì)時(shí)總以為是兩個(gè)獨(dú)立事件。后來我在所有涉及告警的機(jī)器上統(tǒng)一啟用了NTP時(shí)間同步并且在測(cè)試報(bào)告里同時(shí)輸出告警觸發(fā)時(shí)間和測(cè)試開始時(shí)間方便核對(duì)。重試機(jī)制主要針對(duì)測(cè)試執(zhí)行過程中的偶發(fā)失敗。比如網(wǎng)絡(luò)抖動(dòng)導(dǎo)致測(cè)試環(huán)境調(diào)用超時(shí)或者被測(cè)服務(wù)剛好在發(fā)布窗口導(dǎo)致用例失敗。但不能盲目重試所有失敗用例因?yàn)橛行┦∈钦鎸?shí)問題重試只會(huì)掩蓋問題。我的做法是只對(duì)“環(huán)境錯(cuò)誤”類失敗進(jìn)行重試比如連接超時(shí)、DNS解析失敗、資源不可用對(duì)斷言失敗、邏輯錯(cuò)誤這類“代碼錯(cuò)誤”不重試。這個(gè)邏輯在測(cè)試代碼里通過自定義異常分類實(shí)現(xiàn)。5. 這套方案的后續(xù)擴(kuò)展方向方案跑穩(wěn)定之后可以往兩個(gè)方向擴(kuò)展。一個(gè)方向是異常根因定位的延伸。當(dāng)前聯(lián)動(dòng)測(cè)試只能判斷“是否有問題”但無法定位“問題出在哪里”??梢曰诿總€(gè)測(cè)試用例的輸出設(shè)計(jì)一套自動(dòng)根因樹把失敗用例關(guān)聯(lián)到具體的依賴組件。比如訂單接口的測(cè)試失敗了系統(tǒng)自動(dòng)檢查Redis讀取耗時(shí)、數(shù)據(jù)庫連接池狀態(tài)、下游支付接口響應(yīng)時(shí)間三個(gè)指標(biāo)把最異常的指標(biāo)標(biāo)紅放到報(bào)告頂部。這套邏輯目前處于半自動(dòng)化狀態(tài)實(shí)現(xiàn)難度不高關(guān)鍵是建立好指標(biāo)與組件的關(guān)系矩陣。另一個(gè)方向是自動(dòng)恢復(fù)動(dòng)作的引入。測(cè)試驗(yàn)證通過但指標(biāo)確實(shí)異常時(shí)可以嘗試執(zhí)行預(yù)定義的安全恢復(fù)操作比如重啟異常進(jìn)程、切換流量到備用節(jié)點(diǎn)、清除堆積的任務(wù)隊(duì)列。但自動(dòng)恢復(fù)動(dòng)作有兩個(gè)前置要求操作必須可回滾且必須留下完整的操作日志。我目前只對(duì)幾個(gè)非核心的冪等操作開放了自動(dòng)恢復(fù)試驗(yàn)核心系統(tǒng)還是保留人工確認(rèn)環(huán)節(jié)。自動(dòng)恢復(fù)的風(fēng)險(xiǎn)遠(yuǎn)高于自動(dòng)驗(yàn)證必須做好充分的演練才能放開。我在實(shí)際使用中的體會(huì)是這套聯(lián)動(dòng)機(jī)制最有價(jià)值的不是省了多少人力而是把團(tuán)隊(duì)成員從“天天被警報(bào)追著跑”的被動(dòng)狀態(tài)中解放出來。警報(bào)響的時(shí)候系統(tǒng)已經(jīng)完成了一輪初步診斷人要做的是基于診斷報(bào)告做決策而不是從零開始排查。穩(wěn)定運(yùn)行之后值班同學(xué)重新敢在晚上十一點(diǎn)之后放下手機(jī)睡覺了這種體驗(yàn)上的改善是我覺得最有成就感的地方。最后再分享一個(gè)小技巧整套聯(lián)動(dòng)機(jī)制搭好后一定要安排一次真實(shí)的故障演練來檢驗(yàn)閉環(huán)的有效性。我在上線后的第二個(gè)星期主動(dòng)在預(yù)發(fā)環(huán)境注入了一個(gè)SQL慢查詢故障觀察從告警觸發(fā)到測(cè)試聯(lián)動(dòng)再到值班人收到帶結(jié)論報(bào)告的全過程第一次演練就發(fā)現(xiàn)測(cè)試映射表漏了兩個(gè)組件問題在造成實(shí)際影響前就被修掉了。故障演練看似浪費(fèi)時(shí)間其實(shí)是檢驗(yàn)整個(gè)鏈路最有效的方式建議每個(gè)月至少做一次。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色噜噜婷婷| 丁香五月色网| 99视频在线精品免费观看2| 色五月av伊人| 日本一道久久| 婷婷五月丁香A∨| 丁香五月天激情视频| 五月丁香狠狠地噜噜噜噜| A级毛片高清免费不卡播放谢谢谢谢| 亚洲综合九九| 99只有精品| 婷婷五月激情基地| 开心五月六月婷婷| 九洲一级A片| 91丁香综合| 婷婷操逼| 欧美色宗和激情| sewuyue第四色| 久久玖玖综合| 99热观看| 六月丁香啪| 激情小说五月天| 99精品视频网站| 久久综合热17c| 九九综舍久久| 久久超视频| 99精品丁香五月| 婷婷综合| 99色网站| 欧美成人精品A片免费一区99| 亚洲成人五月| 日日操天天操| 婷婷五月天激情电影| 欧美视频在线观看噜噜| 六月丁香婷婷色69| 五月天婷婷青青草| 天天xxxxxx天天日| 中文字幕色色| 日韩小视频在线99| 五月Huangsewang| 99热这里是精品| 婷婷丁香十月| 五月丁香六月婷婷网| 婷婷久久国产视频| 婷婷五月丁香婷婷| 五月婷婷婷自由综合| 99久久黄色顶级视频| 91超级碰| 五月婷婷与六月丁香图片激情| 婷婷激情六月综合| 欧美99热| 99r久久这里只有精品| 97狠狠色| 五月天婷基地| 99视频精品8| 婷婷5月色| 五月丁香六月综合情在线观看 | 综合婷婷| 开心五月激情网| 女婷久久| 伊人综合网站| 99re资源在线视频导航| 亚洲xx网| 丁香五月六月久久综合| 五月丁香色五月| 狠狠人人| 91成人看| 久久精品夜色噜噜亚洲a∨| 久色大香蕉| 99精品丰满| 一区无码| 九九色色网| 五月婷在线影院| 五月婷在线影院| www.婷婷五月| 综合激情五月丁香| 99亚洲无码| 九九亚洲视频| 激情婷婷色色| 欧美日韩精品人妻狠狠躁免费视频| 99热这里只有精| 无码人妻AV久久久一区二区三区| 久草婷妨| 婷婷四色五月| 色色色色色色综合| 婷婷成人AV| 综合激情五月丁香| 婷婷色五月91啪啪| 天堂久久婷婷| 五月丁香婷婷婷婷综合网| 操嫩逼电影| 99re在线这里只有精品视频首页| 123草逼网| 久久激情五月婷婷| 色五月色综合| 天天射综合网站| 色久播播| 少妇激情五月天| 婷婷射丁香| 婷婷丁香69精华| 婷婷五月欧美综合| 综合网啪| 大香伊人久色| 色婷婷AAA| 天天日天天干天天爱| 天天爽综合| 天天影视天天爽天天草| www.狠狠| 全高清无码视頻| 丁香五月激情天AV无码| 可以直接看的AV| 五月丁香婷婷色| 久久精品99国产精品日本| 五月激情婷婷四射| 色五月天成人在线| 热久精品| 色综合中文色综合网| 好好日激情五月天| 中文字幕不卡+婷婷五月| 亚洲人妻av伦理| 影院久久久| 色五月丁香五月| 欧美97p| 色久丁香五| 婷婷激情六月| 99黄色在线视频精品熟女| 色五月天天在线观看资源站| 久久人人九九| 大香蕉九九操| 日韩99精品| 99热只有| 丁香五月91| 天天拍久久| 99九色视频在线观看| 久操香蕉| 这里只有精品在线播放| 国外亚洲成AV人片在线观看| 操人无码| 91一起艹| 五月婷婷综合影院| 亚洲这里只有精品| 91嫩草国产线观看亚洲一区二区| 亚洲综合网激情小说| 九九色图| 亚洲在线视频321| 综合色天天| 二色av| 第四色色色色色丁香五月天| 思思热在线精品视频网站| 99热这里只有精品1025| 亚洲色夜| 五月天婷婷免费| 日韩无码AV电影网站| 婷婷久久网| 婷婷五月天AV| 亚洲成人网站在线播放| 丁香五月人妻| 另类激情四射| 热五月婷婷| 色婷婷狠狠禁久久| 伊人啪啪网| 4399无码视频| 俺去也在线www色官网| 婷婷综合五月| 婷婷天天舔| 另类激情综合| 激情综合区| 开心激情综合| 九月丁香八月婷婷久久综合久97| 亚洲va成人va成人va在线观看| 97色射| 五月丁香少妇A| 色色色综合色| 婷婷美女精品视频| 五月婷婷综合激情小说| 色色COm| 色婷婷综合久久| 美女婷婷六月色| 五月丁香色色网| 综合激情伊人影视在线| 亚洲日韩一页精品发布| 国语精品探花| 2015超碰| www.五月.com| 99久久综合网| 日韩天堂久久| 亚洲精品影视| 96人人操人人操人人| 99色热| 日韩婷婷五月| 国外亚洲成AV人片在线观看| 亚洲色爱综合| 99久久玖玖| 久久久99免费视频| 啪啪啪啪五月天| 中文字幕在线免费看线人| 久色五月婷婷综合| 久久日韩婷婷五月| 欧美精品18| 亚州激情网| 色情成人五月天| 五月激情偷拍婷婷| 成人免费网站免费看| 狠狠色五月天| 婷婷丁香五月天色播网站| 99色热| 婷婷五月天日逼| 日韩国产在线精品| 五月天天综合| 激情伍月 欧美| 婷婷五月欧美综合| 五月婷婷av| www.婷婷亚洲基地| 精品欧美一区二区三区久久久| 激情婷婷六月| 久久久久久9| 五月丁香五月综合欧美| 婷婷五月天六月| 亚洲a片免费观看| 96精品久久久久久久久| 桔色成人官方网站| 久久人人九| 天天色视频| 婷婷丁香五月欧美人| 综合色视频| 色色色婷婷五月天| 26UUU精品一区二区Com| 久久色天堂| 2018国产大陆天天弄| 99热99热不卡| 五月婷婷黄色| 狠狠草网| 六月丁花香啪啪激情欧美| 天天射影院| 久久精品爱爱| 超碰色女| 激情久久伊人| 激情AV| 亚洲九九九九| 欧美激情丁香五月| 婷婷大乡焦噜噜| 婷婷五月天小说| 天天操人人干| www.夜夜騎夜夜狠| 五月婷婷丁香深深爱| 大香蕉丁香五月| www.色婷婷| 99视频精品全部免费观看| 91精产品自偷自偷综合| 国产av网| 四LLL少妇BBBB槡BBBB| 六月婷婷网| 色婷婷视频| 第五色色色婷婷| 99色精品视频| 九热视频在线精品15| 国产成人综合电影| 国产成人精品亚洲线观看| 激情五月丁香亭亭 | 9l视频自拍9l九色成人| 婷婷久久五月天| 天天拍天天做视频| 在线国产精品色| 人人操人人看97干| 色情激情五月婷婷| 日本WwW色偷偷丁香花久久久京东热| 97色久| 丁香5月婷婷| 色热久资源| 婷婷激情视频| 丁香久久五月婷综合| 5月丁香综合图区| 婷婷丁香人妻天天爽| 五月综合婷婷五月| 思思热精品在线观看| 99爱免费在线观看| 秋霞三级影视资源| 日本在线视频手机播放五月婷| 五月综合丁香婷婷| 天堂资源欧日浪女在线播放| 一本色道久久88加勒比—| av首页在线| 全部老头和老太XXXXX| 狠狠干夜夜干| 丁香五月香蕉| 天天日天天插| 狠狠精品干练久久久无码中文字幕| 色婷| 97碰碰人人| 亚洲国产99| 亚洲色综合性| 成人国产网站| 欧美婷婷综合网| 久久九九思思| 六月婷婷AV| 中文字幕操比影片| 色九九九综合| 日韩有码一区| 97碰碰在线观看视频| 色色色色色色色色色色色色色五月天| 久久久久久久五月| 六月婷婷色色色| 9超碰在线| 永久热91| 97人人做| 色性综合| 91综合色| 天堂亚洲 在线| 亚洲岛国电影| 91AV视频| 婷婷伊人网| 五月丁香花开综合网| 99视频在线观看视频| 三十路磁力链接| 99热骚货| 99视频这里有精品| 色五月综合在线| 五月婷婷色五月| 婷婷五月天丁香| 少妇大叫太大太粗太爽了A片| 双性美人被调教到喷水A片| 青草青草视频2免费观看| 国产毛片欧美毛片久久久| 香蕉久久国产AV一区二区| 亚洲三A| 日韩欧美成人一区二区三区| caopeng97人人| 91丁香五月| 天天综合网、天天综合色| 五月天激情网图片 - 百度| 五月天久久婷婷婷| 婷婷色五月婷| 亚洲操人| 色五月大香蕉婷婷| 97丁香花五月天激情小说| 九色视频这里只有精品| 丁香色综合| 看片视频在线免费日产在线看| 成人国产欧美大片一区| 亚洲超级碰| 丁香五月婷婷狠狠色| 婷婷激情蜜桃玖玖丁香| 午夜婷婷久久| 久久精品国产AV一区二区三区 | 婷色成人| 婷婷五月天网址| www99热| www婷婷色| 久9精品| 在线观看熟女少妇| 噜噜狠狠色| 精品久久人妻| 国产黄色一级片| 国产亚洲精品人人| 色五月婷婷大香蕉| 五月婷婷啪啪啪啪| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 66精品国产成人| 久久99久久99精品免视看婷婷| 激情深爱综合网| 五月色综合| 亚洲免费综合一区| 天天开心婷婷丁香五月| 激情五月天婷婷| 亚洲九区| 第四色激情网| 欧美狠狠色| 天天日天天舔| 色五月成人| 久久这里只有国产视频| 91丨九色丨43老版熟女| 九月综合| 综合色五月| 五月丁香激情综合| 色呦呦免费观看| 狠狠激情五月天| 天天干天天操天天爽| 亚洲色图啪啪| 99色在线观看视频| 亚洲视频一区| 综合色图区| 99视频在线精品免费观看2| 婷婷综合久久| 色婷婷视频| 综合网亚洲| 精品人妻一区二区三区在| 色~性~乱~伦~噜| 欧美α√| 日韩AV成人电影| 五月丁香好婷婷A片网| 玖玖资源在线视频| 激情六月丁香| 超碰97干| 99自拍视频网站| 日本女色人人| 思思久久96热在精品国产,| 国产成人99久久亚洲综合精品| 久婷自拍视频| 99亚洲精品视频| 久久久久久久久久久-久五月天婷婷| 97人人干人人操| 夜夜撸日日操| 五月天婷婷激情在线色图| 婷婷十月丁香| 丁香五月婷婷总啪啪| 91dy.av| 九九视频在线| 五月色婷婷在线观看| 99ri在线视频| 激情久久久| 五月激情婷婷综合| 婷婷成人综合| 啪啪91| 色综合大香蕉| 99热老网站| 亚洲无码11| 色婷婷综合网| 亚洲综合视频网| 久色激情| 丁香五月久久| 在线日韩视频| 巴基斯坦粉嫰无码视频| 欧美性爱丁香五月| 亚洲免费婷婷| 97极品在线| 天堂久久婷婷| 另类激情五月天。| 最近韩国日本免费高清观看| 六月丁香综合网| 97碰碰碰免费公开在线视频| 日日肏天天操| 影音先锋偷偷色男人站| 久操热| 激情婷婷五月天| 五月丁香激情五月天| 色婷婷丁香五月| 最新日本A片| 99久热| se99在线| 成年视频免费观看| 九九亚洲视频| 丁香伊人综合| 一级无码作爱片| www.五月天婷婷| 超碰免费99| 婷婷丁香五月天激情| 久久亚洲A| 成人国产欧美大片一区| 久久少妇视频| 91九色视频| 国产精品18久久久| 激情综合五月婷婷六月丁香| 婷婷色在线观看| 色色五月婷婷| 日日天天干| 色三级色三级| 亚洲狠狠色丁香婷婷综合久久| 蜜乳中文字| 97九色视频| 狠狠操狠狠操| 丁香五月天啪啪a日本| 91婷婷色| 成人αV视频免费观看| 26uuu精品国产| 超碰成人在线观看| 五月婷婷玖玖综合玖玖爱| 色综合色色色| 99热这里只有精品手机在线观看| 久久爱综合| 97久久人人| 婷婷六月插屄激情| 久草A片| 91精品久久久久久久久久| 五月婷综合| 99 r热| 黄色视频网站在线播放| 九九色图| 夜夜夜夜夜操| 狠狠色综合777| 亚洲av网址| 天天干,夜夜爽| 色五月婷婷很很操| 99成人精品六| 日良久久| 欧美三级视频下载| 精品欧美一区二区三区久久久| 久久这里只有精品8| 丁香五月天婷婷在线视频| 五月激情四射网站| 玖玖婷婷五月天| 婷婷丁香18| 丁香六月av| 另类视屏| 伊人九九68| 天天干天天干天天干天天干天| 色五月婷婷婷婷| 爱久综合| 九九综舍久久| 婷婷94s| 婷婷综合网站| 色婷久久| 五月天婷婷綜合院| www.亭亭五月天| 精品九九在线观看视频| 亚洲、欧美、国产另类笫二区| 超碰操日| 操老逼综合网| 国产伦亲子伦亲子视频观看| 九九伊人网| 五月婷婷激情五月| 婷婷射婷婷舔| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 色欲Av五月天| 日韩综合网络男女香蕉a片| 大香蕉视频99| 牛牛澡牛牛爽| 色婷婷成人做爰A片免费看网站| 九九热九九| 五月激情在线| 五月丁香五月婷婷| 婷婷五月av| 天天操天天日天天爽| WWW色综合| 91男同| 五月婷婷丁香啪啪| 天堂综合久| 毛片九九九九九九| 丁香婷婷综合影院| 成人免费超碰| 久久久噜噜噜操操操| 日产精品一线二线三线芒果| 搡BBBB搡BBB搡18| 天天日天天色| 9久精品| 狠狠干夜夜干| 99热国产免费| 久热超碰| 成人国产欧美大片一区| 99热99艹在线观看| 色五月婷婷五月天激情综合| 丁香五月无码| xxx.色婷婷| 色狠久| 俺也去在线视频 | 99色这里| 无码天天操| 五月天开心成人网| 色色婷婷综合网| 日日操,天天操| 免费视频这里只有精品| 少妇激情五月天| 激情婷婷五月| 97干视频| www色色色com| 亚洲成人在线观看av| 五月丁香六月片| 一本色道久久综合狠狠躁一二三| 婷婷六月久久| 五月停停999| 久久9久| 狠狠干狠狠色| 五月综合激情图片| 婷婷六月伊人| 色婷婷五月天| 色色色综合| 青草视频在线播放| 九九热青青草| 91九色在线| 婷婷成人综合免费视频| 午夜婷婷五月天| 激情五月天综合网| 五月婷婷六月天| 国产精产国品一二三在观看| 欧美婷婷九月| 天天操夜夜爽天天操| 激情五月天综合图片小说网站| 九九草热在线观看| 草五月| 在线播放成人网站| 亚洲综合网在线| 888久久久| 亚洲精品视频在线播放| 天天cha成人综合网| 五月丁香六月婷婷国产视频| 亚洲午夜AV| 色色色色欧美| 五月婷婷久久大香蕉| 久这里只有精品99| 久久久久久久合一狠狠做深爱| 99热这里只有精| 欧洲激情五月天婷婷| 影音先锋人妻出差| 久99| 久久久潮喷-久久久九九-成人AV| 色婷婷操逼| 人人色AV| 日韩久久视频| 欧美人人草草| 99小视频在线| 五月综合激情视频在线| 欧美交换配乱吟粗大25P| 成人一区在线观看| 欧美婷婷五月激情| 丁香婷婷色| www.色五月| 婷婷内射视频在线| 婷婷五月六月丁香综合| 色播五月| 99久久五月天| 无码婷婷五月天| 色三级色三级| 久久综合9| 思思热国产视频| 婷婷狠狠操| 国产精品久久久久久妇女6080| 91无码高清| 亚洲综合视频一下| 99热这里只有精品青草| 色婷婷文字幕| 亚洲一区二区无码蜜乳av| 久久婷婷精品| 中文字幕成| www.丁香黄色五月天人与| 国产免费一区二区在线A片视频| 婷婷五月丁香色色| 精品国产va久久久久久久| 国产免费一区二区三区三州老师F1F1.CC | 亚洲精品久久久久久久久久吃药| 99九九热在线观看| 五月天com| 东京热五月婷婷| 噜噜色五月| 五月丁香自拍| 久草丁香婷婷五月天婷| 欧美综合激情五月天| 狠狠爱综合| 激情综合网五月丁香| 夜夜躁爽日| 亚洲色亚洲精品| 天天插天天干| 一区色色色色网| 激情五月天综合网| 午夜日日| 色99在线视频| 婷婷新网址| 天天射天天射一道本日本社区 | 丁香五月天激情婷婷丁香六月| 干一干xxxx| 日本三级片片| 婷婷射丁香| 日本美女97在线视频| 亚洲激情电影五月天色婷婷丁香一起草 | 操碰99| 99热99精品| 人人爱人人草| 天天综合五月天| 久久久精品人妻| 九九精品婷| 亚洲bt丁香五月天婷婷激情小说| 五月婷婷操操| www.热99热| 超碰亚洲欧美| 国产色五月婷婷| 丁香六月天婷婷色| 五月丁香色婷婷基地| 蜜桃五月天| 婷婷五月丁香在线观看| 欧美69久成人做爰视频| 五月丁香综合啪啪対白| 国产欧美性成人精品午夜| 亚洲亚洲激情| 97超碰婷婷五月天| 午夜婷婷五月天| 欧美日韩一区二区三区四区| 丁香五月激情五月开心五月| 色九月综合网| 色呦呦美女| 亚洲成人av在线| 操一区| 丁香五月六月久久综合| 麻豆WWWCOM内射软件| www婷婷色情网| 丁香五月亚洲综合丝袜| 天天日综合| 婷婷爱爱蜜臀天天操| 五月天激情影院| 五月婷婷综合在线| 激情五月婷婷啪啪| 噜噜五月天综合| 狠狠狠狠狠| 色综合色综合网| 开心五月婷婷激情| 六月五月婷婷| 九九十99视频| 五月天综合| 99热这里有精品24| 色色色色区| 综合婷婷| 影音先锋 婷婷| 看逼中文字幕| 人妻操逼视频| 婷婷丁香色五月久久88| 日本一毛片| 免费黄色视频网址| 999热在线视频| 97人妻碰碰碰久久香蕉| 99热91| 丁香久久久| www.maotanji.com| 极品少妇XXXX精品少妇偷拍| 亚洲第79页| 九九久久五月天| 色婷婷成人做爰A片免费看网站 | 久热精品视频在线观| 免费看欧美成人A片无码| 亚洲视频图片婷婷五月| 异能之下短剧免费观看全集| 影音先锋 萱萱| www.99日本| 婷婷丁香久久五月综合| 久久久久激情网| 极品少妇XXXX精品少妇偷拍| 五月婷婷视频在线观看| 丁香五月亭亭六月综合激情网| 丁香五月综合激情久久潮喷| 26uuu在线观看| 婷婷开心激情五月激情网| 色色丁香五月天| 丁香五月婷婷图片综合| 色9999日韩国产| 色情免费视频播放| 婷婷色婷婷| 99A片| 色99网| 五月色网| 丁香婷婷综合五月天| 性色av大香综合| 久热婷婷综合| 婷婷激情社区| 天天做天天爱| 婷婷综合五月色播| 婷婷激情五月吧| 综合网啪| 五月婷护士| 狠狠婷婷爱| 综合性爱网| 丁香色色五月| 极品人妻VIDEOSSS人妻| 超碰久热| 日本3级片一区2区| 欧美色五月天| 丁香五月狠狠综合欧美| 99自拍视频| 九九综合网色全集| 婷婷日韩| 成人无码髙潮喷水A片| 99日韩| 婷婷 色 丁香 夜| 久久婷婷一级片| 琪琪理论片| 欧美色色色| 婷婷99狠狠躁天天躁中文| 久久99草五月婷婷| 六月色丁香婷婷| 欧洲电影在线观看免费版英语版| 天天爽天天爽| 色五月在线观看| 久久99激情| www.色五月| 色情婷婷五月天| 九九精品视频在线观看| 九色色| 色五月婷婷激情五月| 人人爱干人人爱草| 久色网| 五月天久久www| 激情丁香五月AV| 大香蕉视频婷| 97AV人人插人人操| 人妻激情网| 亚洲国产另类av| 潮汕成人AV片在线| 亚洲成人综合网在线免费观看| 五婷婷综合网| 99热传媒| 中文字幕91,综合| 成人va在线| 欧美超碰亚洲| 久久婷婷资源| 欧美日韩成人在线网| 色玖玖玖| 一区二区免费看| 五月婷婷人人人操| 久99| 一起草无码视频| 99在线精品观看99| 成人五月天婷婷| .操區COm| 伊人六月丁香婷婷| 精品综合五月| 色五月首页| 五月丁香六月婷婷国产视频| 综合网亚洲| 射区导航| 天天干天干| www.99视频| 人妻日日日| 狠狠色婷| 99九九视频精彩在线| 97精品自拍| 玖玖资源站国产| 襙比视频| 五月婷婷片| 97干欧美| 91丨九色丨东北熟女| Blackedraw视频一区二区| 亚洲九九99精品视频在线播放| 97干在线免费| 久99久精品视频| 久久婷婷五月天| 美女婷婷六月色| 五月天五月婷五月激情网| 99免费视频网| 99热精品观看| 99精品热| 香蕉色色网| 91久久综合亚洲鲁鲁五月天| 久久久久婷婷五月热综合| 五月综合六月丁| 久久五月丁香| 99re久久| 狠狠色丁香久久综合婷婷亚洲成人福利| 亚洲熟女乱色综合亚洲网站| 色色网站观看| 色色色色色色色色网站| 中文无码婷婷| 少妇伦子伦精品无吗| 91jiuseshunv| 热99精品视频在线观看| 激情五月色综合| 日本欧美在线| 99se丁香| 婷婷天堂综合| 婷婷五月天综合中文| 丁香六月激情| 欧美成人在线观看| 五月婷六月| 色婷五月天网站| 五月婷婷六月丁香| 国产欧美日韩综合精品一区二区| 任你干嘛免费视频播放| 开心久久五月天| 丁香色五月天| 婷婷久久综合| 夜夜爱伊人| 五月丁香六月婷婷a v| 五月丁香婷婷色色色| 午夜天天精品视频| 99热日韩| 久久久久丁香婷婷五月天| 热久精品| 婷婷五月丁香欧洲| 久久开心五月婷婷| 色五月激情五月| 吾爱AV导航| 色综合色综合色综合高潮| 99久久久久久www| seav天堂| 天天综合亚洲综合网天天αⅴ| 天天日本夜夜谢| 久久精品A片777777| 91超碰九色| 激情五月丁香亭亭| 五月天丁香久久综合| 99热九九这里只有精品| 99精品无码| 久久44| 九九这里只这里只有精品| 色色色网站| 免费在线观看av网站| henhencao国产在线| 免费婷婷| 久久久久激情网| 丁香五月综合网亚洲综合欧美狠狠| 99热免费观看| 一逼色综合| 激情网五月天| 大香蕉中文| 亚洲行行色色| 久久这里有精品视频| 人人操av| wwwss在线观看| 色五月超碰| 91丁香婷婷综合资源| 天天天天爽爽天干| 日本激情综合| 99精品在| 亚洲日本韩国| 天天爽—爽| 激情五月天社区| 日韩啪啪网| 国产熟女一区二区三区五月婷| www.com.色色| 五月激情综| 日逼影音先锋AV男人资源站| 思思久日精品视频| 五月婷视频| 99惹精品视频| 亚洲欧美综合7777色亭亭| ss99热| 人妻内射一区二区在线视频| 亚洲综合网激情小说| 9l视频自拍9l九色成人| 人人爽在线视频综合网| 99综合网| 丁香六月婷婷综合麻豆| 亚洲中文字幕在线观看| 婷婷久久六月费| 久久R激情| 色五月婷婷内射| 久久九九一區| 丁香婷婷九月| 超碰超碰在线| 深爱激情五月网| 久久久久久草黄色片AV在线观看| 欧美人与性动交CCOO| 激情婷婷五月黑人| 日本44久久在线| 激情五月天激情综合网| 丁香色影院| 91热视频色网站| 亚洲色啪| 国产精品国产成人国产三级| 五月婷婷之激情五月| 在线综合啪| 色九九九九| 五月婷婷色色| 做爰丰满少妇1313| 婷婷六月情| 五月丁香色婷基地综合久久| 亚洲激情综合网| 日本激情ⅩXX免费视频| av中文网| 九九精品免费| 成人网址在线观看| 女人高潮内射99精品| 五月天精品综合| 欧美日韩国产伦精品日韩人妻一| 九九Av| 管管補管管紱| 色97啪啪| 九九久久网| 丁香六月毛片| 成人午夜免费电影| 日本九九九九| 亚洲天天综合| 日韩欧美一级大黄网站| 少妇人妻人伦A片| 婷婷六月天激情| 久久久久久欧美精品se一二三四| 老美AA片| 9热在线观看| 五月丁了香蕉综合| a毛片二逼wwwwwwwwww| 五月丁香操婷逼| 亚洲瑟瑟精品在线| 婷婷色五月大香蕉在线观看| 五月天偷拍| 五月天六月婷婷电影| 亚洲av成人在线| 亚洲无AV在线中文字幕| 亚洲丁香婷婷丁香五月天激情| 国产亚洲99久久精品| 色九九中文字幕| 久月婷婷| 99爱无码| a色色片| 婷婷色一二三区波多野结衣| 激情网五月天| 久久久久丁香婷婷五月天| 色视频2025| 99少妇精品| 天天日天天爽| 极品另类| 亚洲国产成人裸舞| 五月婷色| 久久婷婷东京热大香樵| 少妇大叫太大太粗太爽了A片 | 99ri国产| 伊人九九九久| 五月天婷婷小说| 人人干女人| 伍月婷婷六月丁香| 播五月婷婷开心| 91丨九色熟女丨首页| 嫩草AV久久伊人妇女超级A| 色色色五月婷| 五月久久丁香| 欧美va视频不用播放器的va视频网| 99九九中文字幕视频| 激情婷婷丁香| 思思热在线| 一级精品999WWW| 亚洲五月色| 五月婷婷网久久| 超碰AV在线| 激情九九六月激情免费视频| 欧类av怡春院| 老司机日日夜夜青草| 五月婷婷激情综合视频| 天天噜天天爱| av九九| 五月婷婷狠狠久久| 97一区二区| 婷婷伊人綜合中文字幕| www.99热| 色五月婷婷丁香五月| 初夜av| 色婷婷久久| 色色五月天丁香婷婷| 日本nghangse中文字幕| 欧美顶级少妇做爰HD| 久久538| www99精品| 五月婷亚洲精品| 午夜激情五月| 五月婷婷综合色啪首页| 性五月激情| 啊V视频在线观看| 六月婷婷色色色| 天天色凹凸| 丁香五月大香蕉在线99| 图片区 小说区 区 亚洲五月| 97碰在线视频| 欧美精品999| 99精品热视频| 精品久久人妻| 六月婷婷中文字幕| 99热激情| 玖玖资源站蜜臀| 亚洲激情精品| 青青草原99热| 99热这里有精品24| 丁香五月天婷婷中文| 色综合久久88色综合天天人守婷| 丁香五月激情啪啪| 婷婷伊人綜合中文字幕| 久久婷婷伊人| 97干欧美| 亚洲精久久| 国产日产成人亚洲欧美国产VA| 开心五月婷婷婷美女| 婷婷涩涩五月天| 丁香五月AV| 亚洲色图81p| 久热91精品| 99自拍视频网站| 青青草伊人婷婷| aV直接看| 丁香六月婷婷激情| 久久婷婷六月综合综合| 色婷婷丁香AV综合| 人妻在线网站| 69久久99精品久久久久| 看全色黄大色大片| 六月丁香综合| 久久久人妻不卡| 99视频这里只有免费精品| 777.色色| 夜夜撸天天日| 性生活久久朋友人妻| 亚洲另类视频| 黄色成人网站在线播放| 97操碰视频| 99∨VTV| AA片在线观看视频在线播放| 在线日韩视频| 日韩丰满少妇无码内射| 亚洲AV久久久久久久久久久久久久久久| 五月婷婷精品视频| 99热在线观看99| 人妻激情综合| 激情婷婷五月亚洲| 久久伊人日日夜夜| 5月婷婷激情网| 婷婷久久五月天丁香| 色五月综合激情| 五月婷婷六月天| OYIWbGcPu8H| 亚洲成人在线观看av| 91大神在线免费看视频全集男男一起操| 欧美操逼天堂| 性爱网久久| 亚洲无码成人性爰网| 五月天婷婷在线AN| 九月婷婷综合| EEUSS鲁片一区二区三区| 色综合网页| 色五月天堂| 久久五月天综合视频网站| 日韩av网址大全| 日本久久婷婷| 国产欧美熟妇另类久久久| 99九九这里有免费视频| 日韩99视频| 国产阿姨日皮艹逼内射视频 | 丁香九月综合激情| 激情婷婷综合| www,婷婷| 五月天开心激情综合网| 97日本在线播放| 六月99天天婷婷激情综合| 久久黄色网扯| 2025天天日爽| 极品少妇XXXX精品少妇偷拍| 婷婷五月激情基地| 国产精典视频在线观看| 天天操,天天插| 九九这里只有精品| 成人综合网站| 五月丁香在线观看99| 婷久看人爽| 熟女激情五月天| 久久五月天婷婷| 色天堂操| 5月婷婷视频网站综合| 欧洲亚洲精品| 极品少妇XXXX精品少妇偷拍| 日韩大片艹艹| 亚洲婷婷丁香五月在线| 激情五月天小说网| 国产精品久久久久久久久久| 91无码高清| 男人先锋久久| 婷婷久久五月天| 人人摸人人搞| www.色婷婷| 色色九九五月天| 97色婷婷五月天| 99精品视频网| 九九99男女视频在线观看| 免費亭亭成人| 日本三级韩三级99久久| 狠狠色色色| 色情·com| 青青草原亚洲天堂| 激情婷婷99| 九九热免费观看视频| 丁香五月区| 亚洲无码免费看| sS丁香五月婷婷| 婷婷99视频精品| 一级性感毛片| 亚洲综合在线丁香五月| 人妻22p| 日亚二欧美| 色丁香影院| 99久久66综合| 亚洲中文字幕网| 超碰网站在线观看| 色九月婷婷| 丁香五月综合亚洲| 五月丁香六月婷婷啪啪| 夜色爱爱亚洲| 婷婷六月激情丁香| 九九色精品| 色九网| 五月天成人网在线观看| 99久久超级| 99视频精品8 | 操一操干一干| 综合伊人久久| 色播五月婷婷| 4438全国最大视频成人网站在线观看| 襙比视频| 婷婷午夜天| 91热久久| 91超碰在线观看| 9精品视频在线观看| 国产精品香蕉| 大香蕉视频99| 五月天另类图片| 思思热视频在线| 婷婷五月av| 91九色视频| 色三级色三级| 五月丁香婷婷网在线在线| 婷婷五月激情综合啪啪| 日日夜夜婷婷| 久久久婷婷色五月资源网| 日日操,天天操| 久9综合| 久久成人天| www日本熟妇99在线视频| 五月婷婷六月丁香激情综合网| 91人妻PORNY九色大屁股| 开心久久xxx色| 亚洲成人在线播放| 久久天天天| 天天色播| 综合狠狠干| 久久大国产香蕉| 伊人狠狠干| 婷婷五月天天激情| 激情色色色| 色久影院| 五月婷婷色综图片| 久久久18| 色九九综合| 综合久色五月| 婷婷中文字幕网站| 五月色俺婷婷| 裸体做A爰片毛片A片免费| 99啪99| 婷婷操超碰| 五月婷婷啪啪网| 91Chinese在线| 婷婷六月视频| 五月丁香亚洲综合| 久久久五月天网站| 九九热婷婷| 久久九九婷婷| 色哟哟精品| 国产xxxxx在线观看| 天天射天天插天天干| 婷婷丁香色无五月| 九九人人看| 俺去也五月天婷婷| 婷婷区日本| 国产人人操| 久久久噜噜噜久久人妻| 婷婷五月天激情综合| 免费黄色片子| 99只有这里是精品| 人人操碰| 色婷婷亚洲| 日本在线免费中文com.| 亚洲图片 丁香婷婷| 26uuu丁香婷婷五月| AV伊人青草丁香六月| 九九操屄| 日本色色网站| 婷丁五月| 99精品久久久久久久婷婷久久| 精品九九久久| 婷婷五月丁香六月| 日韩五月天婷婷| 五月丁香六月婷婷激情四射| 棕合影院色色| 天天婷婷天天| 丁香五月综合久久| www.色婷婷| 久热这里只有精品66| 99热综合色图| 99热国品| 五月丁香综合| 色噜噜,噜噜色| 亚洲天堂青草| 五月天婷婷色综合| 天天爽日日爽夜夜爽| 国产在线中文字幕| 色偷偷AV亚洲男人的天堂| 99网99热| 亚洲丁香五月美女| 欧美三日本三级少妇三99| 成人美女网|