免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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热这里有精品| 国产精品国产成人国产三级| www.99热精品| 日本久久网| 五月婷婷熟女| 性色婷婷| 婷婷激情综合色五月久久91| 九九这里只有精品| 久久婷婷综合基地| 色导航色婷婷五月天在线观看| 96精品久久久久久久久| 亚洲bt丁香五月天婷婷激情小说| 婷婷九九| 婷婷性爱综合| 婷婷狠狠综合网入口| 97色天堂| 性生活久久人妻| 99视频在线观看网址| 可以看的AV| 丁香五月冃欧美| 激情五月色综合网| 国产成人精品一区二三区熟女在线 | 五月婷婷影| 99热狠狠操| 丁香五月天堂| 天天色综网| 伊人久久五月天| 色~性~乱~伦~噜| 久久大大香| 99久久久免费| 99国产精品久久久久久久久久久| 狠狠搞亚洲| 久久久中文| 男人的天堂99| 色综合久久8| 亚洲妇女熟BBW| 激情五月婷婷网在线观看| 蜜乳人妻一区二区三区| www综合久久| 久久久久人妻| 色婷婷五月天| 婷婷丁香六月天| 欧美天堂久久| 欧美天堂久久| 97操碰视频| 久久小片| 天天日综合| 久久久婷丁香五月| 色婷五月| 久久综合中文| AV九九| 免费操超碰| 97日韩无套内| 成人五月天综合网| 日本三日本三级少妇三级66| 看全色黄大色大片| 五月丁香六月婷婷成人| 日本美女上人| 777色婷婷爱五月| 亚洲色激情| 天天色99| 啪啪激情网| 大香蕉99热| 五月天婷婷丁香花| 色婷五月| 天天噜天天爱| 激情98色婷婷五| 99久久99九九99九九九| 91久久99久久91熟女精品| 综合久久婷婷| 中文字幕网伦射乱中文| 黄色高清无码| 天天揷综合网| 99A片| 大香焦啪啪啪| 色五月天丁香婷婷色| 99在线一区| 老司机视频lsj爱就色| 五月天婷婷综合色| 五月丁香六月综合基地| 久久性爱视频免费| 天天日天天干天天爽| 婷婷五月天日本无码| 五月婷婷综合潮喷| 久9热在线视频| www狠狠| 色吧五月婷婷| 97操碰在线97| 色婷婷五月天中文字幕| www,av好吊操| 丁香色婷婷| 99re6久热只有精品6在线直播| 天天综合精品| Caop在线| 26uuu激情五月天| 79色色免费| 狠狠五月综合在线 | 中文AV网站| 久久视频婷婷| 亚洲亚洲人成综合网络| 第四色网婷婷| 三十路磁力链接| 99久久综合狠狠综合久久| 色婷婷在线视频观看| 婷婷五月欧美| 思思久ren热| 狠狠狠五月婷婷六月丁香| 五月天激情网页| 五月天啪啪啪| 久久黄色片| 欧美激情久| 东京热免费视频| 丁香五月婷婷乱| 九九热视| 久99久视频精品| 99毛片| 99热欧| 激情深爱综合网| 深爱激情综合| 色噜噜狠狠色综合成人99| 五月激激网w'w'w| 五月天影院婷婷在线观看| 天天婷婷| 视频一区二区在线| 婷婷五月天六月综合| 五月丁香综合在线| 熟妇天天综合| 天天摸日日舔狠狠添婷婷婷| 婷婷六月色| 欧美日韩精品一区二区三区钱| 色吧五月| 丁香五月激情啪| 亚洲五月天天| 天天爱天天操| 亚洲精久久| 日日做夜夜爱| 99精品偷自拍| 天天爽,天天操。| 中文字幕AV网址| 久久久一级AAA| AV在线观看网站| 另类综合婷婷五月天欧美视频| 欧洲色| 伊人大蕉香| 午夜九九电影| 一本大道伊人AV久久综合| 久久在线大香蕉| 亚洲爱爱无码婷婷色五月| 伊人久久大香蕉网| 婷婷六月天天| 亚洲av免费在线| 九色综合五月天婷五月| 丁香五月婷婷骚视屏| 色婷婷网| 开心五月丁香综合久久| 色狠狠色噜噜AV天堂五区| 激情欧美婷婷| 97色色婷婷| 久久久8| 91无码高清| 亚洲第一av| 婷婷色综合中心站| 丁香五月婷婷日本| 五月天狠狠色| 久久九九综合| 婷婷五月天成人五月天| 免费看欧美成人A片无码| 丁香五月香蕉在线| 欧美日韩99| 九九热九九| 影音先锋一区二区三区| 看婷婷五月天网| 丁香五月婷婷影院| 天干干夜夜操| www.99久久久久99| 开心五月综合激情网| 丁香久久五月婷综合| 色色亚洲| 婷婷五月激情六月丁香| 久久久久久97| 影音先锋日本三级资源| 99性色| 婷婷激情四射五月天| 国产裸舞表演WWWW| 婷婷免费无马| 国产黄大片在线观看画质优化| www.日韩艹| 九九热狼人| 在线可以看的av网址| 六月婷婷操逼| 综合色五月| 五月丁香六月激情综合网| 久热9| 五月丁香花伦理电影| 香蕉AV777XXX色综合一区| 丁香美女主播视频在线观看| 五月丁香激情综合| 九九九九九九热| 久久五月丁香| va婷婷在线| 五月激情丁香啪啪| av色婷婷| 婷婷激情5月| 99精品久久久久久久久| 99久久九九| 人人色AV| 九九操操| 一级无码作爱片| 色播五月综合网| 99热这里是精品| 国精产品一区一区三区免费视频| 婷婷色情五月| 俺去也五月天| 色五月亚洲| AA久久| 成人精品一区日本无码网| 天天做 天天爱| 人人妻人人澡| www.超碰| 色播五月| 六月丁香婷婷开心综合基地| 99久久精彩视频。| 色五月婷婷影院| 精品一二三区久久AAA片| 5月丁香婷婷激情网| 丁香五月综合| 日本97在线| 九色婷婷| 婷婷久久五月天| 久久人妻高清中文| 日本成人噜噜噜噜噜| 欧美超级视频97| 亚洲黄网AV| 国产精品成人AV在线| 丁香五月骚喷水视频| 超碰色婷婷| 九久久九精品视频| 亚洲日韩一页精品发布| 99自拍视频在线观看| 五月天色婷婷综合| 99热无码| 国产日日操夜夜操的肉棒视频| 九月婷婷久久| 久久色五月| 99热传媒| 婷婷五月丁香综合亚洲| 中文字幕在线免费观看视频| av无码电影| 国产一区二区av免费| 国产成人av在线| 色色色免费视频| 梁铮版《蜘蛛女侠》在线| 国产无人区大片| 五月综合激情网| 色色五月婷婷| 图片区 小说区 区 亚洲五月| 久99在线视频| 婷婷久久亚洲| 99色视频在线| 五月天社区| 久久婷婷五月天懂色| 噜噜视频| 五月丁香六月激情| 超碰不卡在线| 色色色欧美| 色五月欧美| 51avj视频大全| 久久欧洲综合网| 另类图片 五月激情| 丁香婷婷六月激情文学| 婷婷五月成人有| 婷婷激情伍月网| 变态另类9| 色日本综合| 热婷婷在线视频| 婷婷综合国产| 啪啪黄页网| 123草逼网| 六九色综合婷婷五月天| 五月天综合色| 综合一区二区三区| 五月天播播| 精品久热| 色伦专区97中文字幕| 激情久久肏屄视频| 丁香婷婷五月| 国产特级毛片AAAAAAA高清| 六月婷婷综合| 伊人久久丁香五月91| 五月激情综合婷婷| 色播婷婷五月天| 亚洲中文字幕网| 亚洲激情四射| 综合狠狠五月婷婷| 婷婷五月六月| 色综合色| 天天插天天射| 婷婷成人av| 五月天大香蕉AV| 丁香六月婷| 久久性爱视频| 五月久久亚洲| 欧美久久网| 久久98| 亚洲无码 图片区| 91人人看| 色婷婷狠狠爱| 婷婷丁香激情| 天天干狠狠| 亚洲妇女熟BBW| 超碰2021| 丁香六月婷婷综合激情欧美 | 狠狠干综合| 欧美va视频不用播放器的va视频网| 思思综合热| 26uuu成人网| 超碰人妻在线| 欧美婷婷综合网| 五月婷啪| 久久色这里只有精品| 久久精品五月天| 亚洲综合在线视频| 色哟哟性爱av| 99re思思热这里| 夜夜爽天天爽| 婷婷五月天VI| 亚洲午夜精品久久久久久人妖| 激情纯色婷婷五月天在线不卡视频| 婷婷午夜天| 日狠狠| 激情网五月天| 婷婷九九| 99亚洲视频| 国产伦亲子伦亲子视频观看| 99玖玖在线视频| av 一区三区四区| 五月激情婷婷开心| 狠狠干综合| 久热丁香| 天天操天天操天天操天天操天天操 | 综合精品99| 激情另类综合| 五月婷色色| 91啦丨九色丨刺激中文| 婷婷六月激情丁香| 亚洲精品无码一区二区| 大香蕉啪啪啪| 午夜成人天堂久久无码日韩久久| 丁香狠狠操| 狠狠干2007| 大香蕉五月丁香| 婷久久久| 五月婷婷丁香在线视频| 国产精品99久久久久久久女警| 中文字幕精品在线观看| 激情婷婷六月天| 日本操B视频在线观看| 韩日在线熟女| 丁香五月AV| 日本三级中文字幕| 激情综合五月天| 99啪视频在线观看| 狠狠高潮精品亚洲1| 天天插天天插| 狠狠肏综合网| 无码视频国内精品久久久| 丁香5月激情网| 99狠狠色| 九九Av| 淫视馆AV在线| 婷婷五月丁香综合| 岛国AV网| 精品99久久久久成人网站免费| AV网站免费在线| 另类视在线| 五月丁香六月婷婷姐| 热99热久| 久久香蕉丁香| 五月婷婷色色| 啪啪一区| 色五月色五天色情网| 久久久99精品免费观看| 99热久草| 9热久久| 日本狠狠网| 桃色五月婷婷| 五月婷婷69| 亚洲AV成人无码电影| 色色网站免费| 久久9久| 日韩aaaaa| 噜噜噜噜噜日本视频| 亚洲午夜成人av电影网| 久久精品视频在这里有| 9999三级片| 色五月在线观看| 丁香婷婷性久久| 激情五月激情综合网| 无码yw| 香蕉婷婷色五月| 96丁香六月婷婷蜜桃综合久久| 91碰| 九月婷婷丁香| www91在线| 啊v视频在线观看| 久久丝丝热| A片试看120分钟做受视频红杏| 中文字幕丁香五月| 狠狠se| 99操逼| 综合狠狠五月婷婷| 九九99热| 免费看欧美成人A片无码| www.色窝| 国产五月天婷婷| 婷婷久久精品| AV天堂淫乩| 91久久国产综合久久| 五月丁香综合啪啪| 天天干-天天日| 91在线操逼视频| 极品另类| 丁香五月婷在线| 9l视频自拍九色9l视频在线观看| 亚洲乱码日产精品BD| 五月天婷婷影院影院观看| 91超级碰碰| 97碰碰碰免费公开在线视频| 99成人在线观看| 99热无码精品| 天天久综合网永久入口17v| 中文字幕乱码亚洲精品一区| www.婷婷五月| 五月丁香六月成人| 日日干日日s| 玖玖婷婷色| 亚洲精品久久久无码| 狠狠狠狠狠狠色| 伊人五月人妻精品| 久久视频婷婷| 五月婷婷先锋| 丁香狠狠干| 狠狠综合| 情色婷婷五月天| 丁香五月成人在线| 这里只有精品视频在线观看免费| 天天操B| 亚洲AV日韩在线观看| 思思热视频| 六月撸婷婷| 怡红院院久久| 九九爱这里只有精品| 婷婷综合97| 狠狠色婷| 五月停性愛| 无码少妇高潮喷水A片免费| 五月丁香成人| 超碰免费99| 九九九九这里只有精品| 亚洲色 视频| 国内婷婷丁香社区在线播放| 在线国产精品色| 色噜噜狠狠色综合网| 久久婷婷东京热大香樵| 丁香伊人五月色婷婷五十路| 人操91在线| 国产操B| 成人国产欧美大片一区| 国产真实乱了老女人视频| 九九视频这里只有精品| 色五月六月| 91超碰在线观看| 超碰在线观看9| 国产精品久久久海的味道| 色婷婷六月丁香综合欲精品| 亚洲五月花| 婷婷成人五月天成人文学小说| 99热久久这里只有精品| 亚洲日本激情| 五月婷婷熟女| 色色COm| 丁香五月综合网亚洲综合欧美狠狠| 国产综合激情五月久久| 91精品国产综合久久密臀 | 超碰在线观看三级片| 天天日日夜夜| 级人人91| 久久精品夜色噜噜亚洲a∨| 九月大香蕉| 激情久久综合网| 五月天社区婷婷丁香社区| 99九九热视频| 中文字幕在线免费观看视频| 色五月久久成人婷婷| 思思久久精品视频| 婷婷在线免费| 婷婷婷久久久| 色五月欧美| 婷婷色色五月天| 五月天网址在线刘玥| 激情 久久 婷婷| 99资源人人| 黄色精品五月婷婷| 婷婷五月天视| 狠狠xx| 色婷另类| 青青草免费公开视频| 婷婷六月丁香五月图区| 久久激情五月网| 亚洲色碰| 五月天色婷婷基地| 久久九九免费视频| 天天天天干| 爱iii做iiii日| 91人人澡人人爽人人看| 色婷丨日丨天丨综合久久| 新精品99| 色久综合| 91 九色 入口| 精品无码色欲AV| 99爱视频在线观看这里只有精品| 久草热在线视频| 性色九九| 九九这里是免费的视频5| 天天色综合色色色色色。| 精品草原久久视频| 中文AV网| 狠狠爱五月婷婷| 婷婷色五月激情| 黄色一级影片| 91人人妻人人操人人爽| 婷婷五月免费在线| 精品一区二区三区免费毛片爱| 99久精品视频| 成人开心五月天| 河北真实伦对白精彩脏话 | 久久99精品日本| 久久婷婷五月国产激情综合片| 色五月综合激情| AV人人操| 色婷婷综合久久久久| 亚洲色A| 99热精品中文字幕| 欧美人人女女精品综合五月天| 色97综合婷婷天天色| 97婷婷丁香| av网站免费在线| 色综合色综合婷婷热| 亚洲五月停停| 亚洲啪啪自拍| 色狠狠色噜噜噜a天堂一区| 色啪网| 五月婷婷丁香网| 成人欧美一区二区三区在线观看| 亚洲综合一区二区| 婷婷五月天激情诱惑| 国产在线aaa片一区二区99| 久久久性爱视频| 欧美va在线| 五月亭亭开心网| 91肏| 99啪啪网| 色婷婷影| 色婷婷精品视频| 色五月开心久久网| av中文网站| 婷婷五月天伊人| 婷婷六月综合| 婷婷大乡焦噜噜| Www.se.久久| 99re思思热这里| 亚洲人妻av| 色吧综合网| 日本啪啪网| 超碰国产av| 天天天摸夜夜夜玩| 久热A片| 丁香五月激情无码视频| 综合色七七| 日操| 狠狠操狠狠| 一起草AV| 成人av免费观看| 99资源在线视频| 激情久久综合| 99久在线精品99re8| 久久婷丁香五月| 六月丁香停| 97人人做| 99熟女| 九热网站| 激情综合五月婷婷| 99福利导航| 色欲影香| 久久99免费视频网站| 91无码视频| 97色婷婷| 狠狠干青青草| 啪精品| 五月天色综合| 成人欧美一区二区三区在线观看| 色99久草在线| 久久综合丁香| 色情五月天se| 成人一区在线观看| 九九aV| 五月综合婷婷久久在线| 91婷婷搞| 无码 av电影| 99热97| 天天久久人人| 一区二区你懂的| 99操视频| 久8色色| BT综合在线视频观看| 第九色区av天堂| 思思久久精品| 五月社区丁香| 日本3级片偷拍网站| 99年操人人爽| www.婷婷| 色婷婷狠狠| 夜夜人妻五月天| 九月大香蕉| 99ER热精品视频| 久操无码| 激情五月天影院| 美女要搞搞天天搞搞搞网站| 色婷婷色情| 偷拍九九热| 五月天激情小说网| 99九九视频| 亚洲丁香网| 日韩色色小视频| 激情久久丁香| 开心五月婷婷伊人| 婷婷丁香社区| 色婷婷六月| 射区导航| 热99在线| 婷婷五月六月丁香综合| 操国产人妻| 五月 激情视频| 久久男人网婷婷| 97精品人人A片免费看| 大香蕉手机视频| 久色大| 色丁香五月天婷婷| 九九草热在线观看| 五月天国产| 婷丁香五月天| 可以免费观看的AV| 丁香五月天啪啪| 99视频热| 99综合一区| 操逼福利视频| 夜夜噜夜夜奇| 春色激情第四色| 99久久国产成人精品| 丁香五月婷婷深五月| 久久五月丁香婷婷| 久久婷婷热| 丁香久久综合| 爆乳熟妇一区二区三区爆乳| www,色婷婷| 久超超碰| 日本一道久久| av在线资源| 丁香婷婷五月激情| 99热青青草| 91色色色18| 综激情网| 激情五月深爱五月观看| av婷婷丁香 六月| 永久无码色| 99热99ai| 日日天天操| 五月天全国最大成人网| 五月天激情网页| 婷婷五月丁香综合人妻| 丁香五月婷老师| 五月天婷婷免费视频| WWW.桔色成人.COM| 六月99天天婷婷激情综合| 色婷婷88| VA婷婷| 狠狠色激情在线| 五月夜丁香| 五月中旬婷婷丁香六| 五月婷婷人妻| 色婷婷综合影院| 99碰碰| 成人做爰高潮A片免费视频| 嫩草AV久久伊人妇女超级A| 免费观看全黄做爰的视频| 亚洲AV成人精品网站在线播放| 毛片蕉地一二| 日本熟妇精品99| 亚洲AV激情五月综合网| 色99欧洲色19| 热久久91| 成人在线二区| 免费看无码视频A级| 成人丁香五月| 色色色.com| 中文av网站| 五月丁香六月色| 色和综合网| 一操久久| 婷婷色播综合五月| 色五月激情网| 五月色综合| 99啪在线视频| 久久婷婷六月| 欧美五月婷婷| 少妇性按摩无码中文A片| 欧美123区免| 亚洲精品色色| 婷婷丁香五月亚洲| 人妻操逼视频| 九九综合五月欧美| 激情深爱婷婷网| 五月天色社区| 激情婷婷| 97资源欧美日韩大香蕉超碰一区| 九色视频这里只有精品| 99热国产精品| 婷婷新网址| 密臀久久| 99在线精品观看99| 亚洲欧洲小视频9| 五月激情六月| 日日噜噜夜夜狠狠久久丁香六月| 九九色插| 丁香婷婷激情五月| 色色色色五月天| www.婷婷久久五月天| 99久久久国产大片| 欧美超级视频97| 久久久婷婷五月天| 久婷婷五月激情| 九九热10| 2015WWW永久免费观看播放| 成人狠狠成人狠狠成人狠狠成人狠狠| 日本久久99| 久婷久婷激情肉| 播五月丁香六月| AA片在线观看视频在线播放| 亚洲天堂热| 亚洲va综合va国产va中文| 五月丁小婷婷激情四射| 77799热| 淫视馆aV二区一区| 日本97在线视频| 婷婷丁香五月天激情| 一本色道久久综合狠狠躁一二三 | 婷婷久久五月| 午夜丁香综合婷婷| 激情久久综合网| 深夜A片| 激情综合丁香六| 激情综合五月色在线| 日韩色色视频| aaaaa不卡| 狠狠干综合| 大香蕉精品视频| yellow视频在线观看91| 国产精品色婷婷99久久精品| 五月丁香激情综合网| 极品精品一区二区三区在线| 五月婷婷五月天天| 极品人妻VIDEOSSS人妻| 国内婷婷丁香社区在线播放| 99久久久久| 天天摸.天天mo| 九九这里有精品| 五月婷视频久久| 99热手机在线精品| 日韩好吊操| 国产精产国品一二三在观看| 五月丁香啪啪拍| 欧美性生交XXXXX无码小说| 袁子仪视频观看| 国产精产国品一二三在观看| 五月丁香网站在线播放| 99热热热99精品丁香| 天天干天天色天天干| 婷婷激情六月中文| 婷婷五月av| 小骚穴电影| 成人在线精品| 人人干天天舔| 疯狂做受XXXX高潮A片| 五月婷婷激情中心| 91干在线视频| 色情五月天丁香社区| 9999三级片| 色色色热| 99热九九在线| www.久久9| 五月婷婷狠狠干| 蜜乳9188| 淫视馆av三区| 婷婷射综合| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 丁香婷婷激情五月| 婷婷丁香无码专区| 日本在线va| www久久99| 777影视理论片大全在线观看| 婷婷五月天激情影片| 亚洲AV无码成人精品区电影网| 91美女被操| 五月天另类综合网| 综合 蜜月 婷婷| 91成人品| 99福利视频| 日熟女| 丰满人妻一区二区三区| 色J香五月天| 日韩欧洲亚洲| 大香蕉久久视频久久视频| 26uuu| 天天插天天狠| 婷婷五月综合免费在线| 91狠狠综合久久久久久| 激情九九这里只有精品| 国産精品| 97成人丁香| 亚洲AV免费在线| 久狠日av| 九九热这里只有精品首页| 色在线免费观看| 五月天色婷婷综合| 欧美色色色色色| 婷婷五月天激情偷拍| 日本天堂免费99| 日韩免费视频| www.日本91| 亚洲激情丁香五月基地| 国产激情av| 伊人99久久| 99精品亚洲| 激情伊人五月天| 在线VA视频| AV操逼网| 五月天激情黄色网址| 一起草AV| 97干在线视频| 日本五月天婷婷丁香| 6月丁香婷婷激情| 99熟女视频| 一起操 91N.com| AⅤ网站在线看| 五月天婷婷丁香| 99色精品| 综合色五月| 9999色色色色| 99久久国产宗和精品1上映 | 婷婷五月天另类视频| 99毛片| 黄色成人AV在线| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 婷婷五月成人社区| 五月丁香在线| 久9热| 大香伊人婷婷| 成人国产欧美大片一区| 狠狠综合网| 人妻久热| 久久怡红院| 精a品a| 日本熟女一区二区| 日本va欧美va精品发布视频| 快乐激情五月色婷婷| 婷婷久久久久| 超碰在线观看9| 无码动漫AV| 啪啪五月婷婷| 五月婷婷性爱网| 大香蕉在线99热| 色吧婷婷五月亚洲| 2025神马午夜福利| 欧美性生交XXXXX无码小说| 婷婷综合五月| 日日夜夜狠狠| 99热免费| 欧美成人一区二区三区在线视频| 性一交一乱一交A片久| 五月婷婷无码| 夜精品无码A片一区二区蜜桃| 丁香六月激情综合| 国产激情视频在线观看| 亚洲久热| 黄色三级毛片中字| 久热久69| 99热精品超碰| 五月丁香婷婷成人版| 成人网站免费在线播放| 欧美六月| 婷婷 久综合| va中文资源在线观看| 婷婷丁香五另类网站| 黄页大全十八禁| 婷婷五月天天aV| 开心五月婷婷婷美女| 超碰高清在线| 五月天综合网| 中文字幕在线免费看线人| 日韩AV免费看| 五月丁香六月婷婷综合| 性生活视频98791| 九九热这里只有精品5| 婷婷五月综合欧美在线播放| 思思热再线视频| 天天综合在线网| 九九色欲网| 能看的av| 婷婷六月香| 大香蕉久久婷婷| 五月婷婷另类| 婷婷五月偷拍| 日本WWW九九九| 日韩人妻无码专区| 综合另类激情| 999婷婷综合| 六月丁香射婷婷欧美色图片 | 成人无码髙潮喷水A片| 丁香婷婷狠狠97| 狠狠久久婷婷| 99色综合网| 丁香五月婷婷在线视频| 色噜噜97视频在线观看| 国内外色色色色色成人视频| av首页在线| 99日本黄站| 婷婷激情鹿城五月天| 人。妻久久| 五月丁香人妻| 伊人天堂婷婷| 五月婷婷在线丁香| 婷婷日日夜夜| 日韩成人电影AV| 色很久综合| 国产99精品免费视频| 色综合色综合色综合色综合| 色色色色热| 97久操| 色狠狠999综合网| 色五月婷婷在线观看| 婷婷五月天av| 色婷婷激情四射视频| 婷婷五六日| 久热 91| 人操综合| 婷婷色五月综合丁香| AV操操操| 综合天堂AV久久久久久久| 久久92| 天天综合影院| 亚洲精品字幕在线观看| 亚洲AV第二区国产精品| 婷婷五月综合激情小说| 99视频内射三四| 天花AV无码| 亚洲射激情| av中文在线| 色五月婷婷激情基地| 天天插天天日天天爽| 草一草avb| 97久操| 亚洲人妻一区二区 | 色婷婷免费观看| 懂色av粉嫩AV蜜臀AV| xxxx五月| 激情五月丁香五月| 久九九热| 亚洲色情网站| 亚洲亚洲人成综合网络| 色情综合网| 激情五月天综合网| YW无码| 综合网五月天123| 婷婷六月天| 久久天天天| 91九色精品女同系列| 欧美激情久| 夜丁香综合| www,setingting| 天天操夜夜夜拍拍拍| 五月婷婷影院| 色六月丁香婷婷啪啪啪| 婷婷五月情| 9热视频在线观看| 日本久久精品18| 色涩影院六月丁香| 色色色色色色网站| 久热天堂| 五月亚洲| 久久色吧| 综合图片色色| 亚洲色图81p| 日本五月天网站| 97碰碰碰| 婷婷激情六月综合| 成人永久免费视频在线观看| 五月丁香婷婷综合| 日本3级片一区2区| 亚洲婷婷五月| 香蕉操亚洲| 在线中文av| 亚洲黄色影视| 天天干天天干天天| 日韩a热| 欧美性猛交XXXX乱大交极品| 婷婷开心青青草| 思思9久久| 久久久久久五月天| 综合九九日本| 五月丁香激情综合啪啪| 97碰| 天天干,夜夜爽| 婷婷黄色五月天在线视频| 噼里啪啦完整版中文在线观看| 亚洲欧洲自拍图片专区五月天| 国产成人AV| 色区域网站视频| 婷五月天| 无码人妻电影| 久久五月天综合视频网站| 亚洲V国产V欧美V久久久久久| 五月天狠狠干| 停停综合色色| WWW,五月| 久久婷婷操| 欧美久人人| 久久只有18视频| 五月天激情网图片 - 百度| 香蕉久操| 婷婷丁香六月| 五月色情婷婷| 色亭亭影园| 综合激情视频| 色婷婷影院| 日比网免费国产| 婷婷婷婷婷婷婷婷| 99热九九这里只有精品| 91se精品国产| 色婷婷a| 欧美日韓成人亚洲精品另类| 久9热插入| 97人人超| 婷婷伊人五月| 色综合久久88色综合天天99| 强辱丰满人妻HD中文字幕| 天天插天天操| 九九热在线观看6| 婷婷视频在线碰| 97人人干人人操| 婷婷五月天论坛| 五月天婷婷伊人| 一本色道久久88综合日韩精品| 五月天婷婷激情在线色图| 天天综合网、天天综合色| 青吴乐视频| 玖玖热视频| 五月婷婷网站| 五月婷婷六月丁香免费| 色婷婷久久9.com| 夜夜谢天天干| 久久性爱视频网站| 五月丁香啪啪拍| 人妻AV在线观看| 九九热九九| 97精品自拍视频| 少妇水多A片太爽了| 站长推荐无码播放| 六月婷婷激情小说网| 激情网第九色| 亚洲成片在线观看| 777精品久无码人妻蜜桃| 亚洲午夜视频| 九九精品在线观看视频6| 最新日本A片| 亚洲操B视频| 婷婷五月天性色| 99热在线看| 五月综合色| 婷婷中文字暮| 美女要搞搞天天搞搞搞网站| 日韩综合久久| 五月开心啪啪| 久久ri精品| 综合网色| 婷婷五月天影院| 欧美精品18| 婷婷五月天激情丁香| 69五月天视频| 色视频2025| 欧美久久婷婷| 国产无人区大片| 久9热插入| 在线中文AV| 另类少妇人与禽zOZZ0性伦| 97色色色色色| 丁香六月啪啪啪| 五月婷婷视频| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 99在线资源视频| 强壮公让我夜夜高潮A片视频| 91久久久久久| 97干免费视频| 色婷另类| 天天干天天干天天干| 亚洲成人婷婷| 国产色色色色| 五月婷婷二月丁香| 五月婷久久在线| 亚洲婷婷激情888精品久| 管管補管管紱| www.狠狠狠.com| tingting五月天亚洲| 五月天伊人av| VA国产在线综合网站| 国产在线6| 热久久77777| 狠狠五月天婷婷| 亚洲天天免费| 97深爱伊人综合| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 99热国产在线| 深爱五月日韩| 另类小说激情五月天| 久久色这里只有精品| 六月合五月婷| 播五月丁香三月婷婷| 狠狠综合网| 久久大香蕉同僚| 久久婷婷成人| 日韩操人| 久综合网| 免费看欧美成人A片无码| 免费看欧美成人A片无码| 无码 av电影| 婷婷综合玖玖五月| 六月丁香激情| 婷婷中文无码| 久久视屏这里只有久久| 99 频99热国里只有精品| 日韩AAA| 婷婷五月天香蕉| 99精品在线| 久久五月丁香| 人妻少妇色综合| 五月丁香婷婷色啪| 久久午夜丁香| 超碰成人在线观看| 五月激情四射婷婷丁香| 色婷婷丁香五月观看| 激情五月婷婷在线| 五月天色丁香| 99re在线观看| 中文字幕 中文字幕明步| 99操不停| 亚洲中文av| mmm1717.6dbm人人爱人人操| 久久亚洲婷婷| 欧美在线操| 狠狠舔| 99精品7| 久热超碰91| 丁香五月婷婷色| 九九色婷婷Av| 97人人操人人| 5月婷婷六月丁香| 综合图片色色| 97色色婷婷| 丁香五月婷婷www..com| 五月婷婷与六月丁香图片激情| 激情五月六月婷婷综合啪啪| 五月天激情国产综合婷婷| 综合色色色| av首页在线| 婷婷中文字幕| 激情五月天www| 久操婷婷| 国产欧美大香蕉一区| 日本色色色| 丁香五月婷婷激情中文| 99久久九九| 九九久久色| 无码九九| 色激情五月天| 成人国产欧美大片一区| 香蕉久久六月| 五月婷婷深爱六月| 丁香五月欧美成人| 丁香婷婷影院| 天天搞夜夜爽夜夜爽| 日本人人xxx| 丁香网站| 综合大香蕉| 丁香狠狠色婷婷久久无码视频| 九九热免费视频| 国产精品国产| 婷婷五月丁香伊人网| 丁香五月成人| 四射综合网| 99re这里有精品手机在线| www.色99| 日韩AV一区二区三区| 五月丁香婷婷成人伊人网| 欧美精品999| 激情婷婷丁香色五月| 丁香五月激情月| 五月激情偷拍| 青996青| 99热这里只有精品搜| 日日干日日| 亚洲AV成人在线| 亚洲六月婷婷| 日韩人妻在线播放| 狠狠擼综合| 丁香五月色| 五月丁香激情四射综合| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 亚洲一二三网| 色播五月丁香综合| 天天日天天摸| 九色91视频| 99热免费观看| 91丁香色五月| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 天天天天天操| www.99热在线观看| 开心激情网在线| www。五月,com| 色九月激情综合网| 婷婷色中文字幕| 99在线精品观看99| 91碰视频| 99热新网址| 色爽九九| 另类激情码| 九九热最新| 色99www.| 五月天婷婷在线播放| 99青青草99| 色五月成人在线| 色五月综合激情网| 久久这里只有精品无码| 国产美女无遮挡裸体毛片A片| 婷婷六月丁香综合| 日本九九九九| 开心婷婷五月激情网小说| 91中文在线| 婷婷色操| 无码区婷婷五月花开| 五月丁香婷婷基地| 97AV在线视频| 九九伊人网| 九九av| 色色丁香| 午夜精品777| 久久日婷婷| 成人丁香五月|