夜鶯 v9 抑制規則:在特定標籤/資料來源/時間視窗內壓制告警通知,處理計畫性維護、已知問題、非關鍵時段噪音。

概述

抑制規則 在指定標籤 / 資料來源 / 時間視窗內壓制告警通知。被命中的事件不會推送、不會出現在活躍告警列表,但告警引擎仍在評估(不影響告警狀態判定本身)。

側欄路徑:告警 → 規則管理 → 抑制規則 Tab,URL /alert-mutes

適用場景:

  • 計畫性維護:升級/重啟視窗期間,相關告警暫時不吵;
  • 已知問題在處理:故障復盤中、暫未根治,不再重複通知;
  • 非關鍵時段的低優先告警:夜間/節假日暫時靜默非核心告警;
  • 測試環境噪音:開發/測試環境的高頻告警長期抑制,只透過儀表板看。

和**全局抑制(PLUS 獨有)的關鍵區別:抑制規則綁業務組**、只對本業務組生效;全局抑制跨所有業務組生效,是 Admin 用的「大開關」。

工作機制:層層過濾的漏斗

抑制規則像一個漏斗,事件必須全部滿足所有篩選條件才被壓制。邏輯關係是 業務組 AND 資料來源類型 AND 資料來源 AND 事件等級 AND 所有標籤條件 AND 時間視窗缺一不可

如果一條事件只命中其中部分條件,規則不生效

表單欄位

區塊 欄位 必填 說明
基本資訊 抑制原因 否(建議) 寫清楚「為什麼抑制 + 負責人 + 預期恢復時間」;列表裡的標題就是它
篩選條件 業務組 自動綁目前業務組,不可改
資料來源類型 不填 = 不限類型(Prometheus / Elasticsearch / MySQL…)
資料來源 不填 = 該類型下的所有實例
事件級別 不填 = 不限級別(S1 / S2 / S3)
事件標籤 至少 1 條 標籤匹配條件,可以加多行 — 詳見下方「匹配運算符」
抑制時長 抑制時間類型 固定時間 / 週期時間
起止時間 看類型 固定:選起止時間視窗;週期:選星期幾 + HH:MM 區間

匹配運算符(6 種)

事件標籤條件支援 6 種運算符,全部針對標籤的 value

運算符 含義 範例
== 等值匹配 rulename == 測試伺服器掛載多個業務組告警
=~ 正則匹配 ident =~ flashcat|v63-192.168.0.2
!= 等值不匹配(取反) ident != pushgw-flashcat02-192.168.0.2
!~ 正則不匹配(取反) ident !~ flashcat(不含 flashcat 關鍵詞的全抑制)
in 屬於一個列表 ident in (flashcat01-192.168.0.2, pushgw-flashcat02-192.168.0.2)
not in 不屬於一個列表 ident not in (...)

多條事件標籤條件之間是 AND(且)關係 — 一條事件需要同時滿足所有標籤條件才被抑制。

想用 OR 關係?把不同條件拆成多條抑制規則即可(任一規則命中就抑制)。

抑制時長:固定 vs 週期

固定時間

  • 抑制時長:1h / 6h / 24h / 7d 等快捷選項;
  • 抑制開始 / 結束時間:選時長後自動算出,也可手工改成任意區間;
  • 預設時長快捷選項是 1h;想精確到分秒,手工編輯起止時間欄位。

週期時間

每週固定時段都抑制,長期生效。常用於「夜間維護視窗長期靜默」、「工作日午休時段不吵」等。

  • 週幾(多選週一到週日);
  • 起止時間(當天 HH:MM);
  • 可加多個時段。

重要:被抑制事件的 TriggerTime 必須落在抑制時間範圍內。如果事件觸發於視窗前但持續到視窗內,不會被抑制 — 抑制看的是觸發時刻。

實操:臨時抑制某條已知告警

經典用法 — 從活躍告警裡帶標籤預填新建抑制:

  1. 活躍告警 → 點選該事件標題開啟詳情抽屜;
  2. 詳情抽屜底部點選「抑 制」按鈕 → 自動跳轉到 /alert-mutes/add,事件的標籤已預填到表單的事件標籤條件裡;
  3. 調整抑制時長(預設 1h),填抑制原因;
  4. 儲存即可。

這條事件以及未來匹配相同標籤的事件都會被壓制。

常見問題

Q1:抑制規則儲存後,對應的告警事件還在活躍告警列表,正常嗎?

A:抑制規則只對新觸發的告警生效。已經存在的活躍告警不會被立即移除,需要等它自然恢復後才消失。如果想立刻讓它消失,詳情抽屜裡手工刪除該事件(注意:僅在確定指標不會再上報的情況下做,否則規則會再產生新事件)。

Q2:抑制規則和訂閱規則、全局抑制之間什麼關係?

A:

  • 全局抑制(PLUS):跨所有業務組的抑制,最先評估,命中就過濾掉;
  • 業務組抑制規則(本頁):只對本業務組生效;
  • 訂閱規則文件):相反 — 把別人業務組的事件訂閱過來;

三者關係是:先全局抑制過濾、再本地抑制過濾、最後剩下的發通知 / 訂閱給其他業務組。任一抑制命中事件就被壓制,不會重複抑制。

Q3:週期抑制跨天(如每天 22:00 到次日 06:00)怎麼寫?

A:拆成兩段:週一到週日 22:00-23:59 + 週一到週日 00:00-06:00。目前 UI 不支援單段跨日。

Q4:抑制規則生效後,被抑制事件還會被告警引擎評估嗎?會不會導致引擎壓力增加?

A:會評估 — 抑制規則只過濾通知事件入庫,引擎照常 每個評估週期跑 PromQL。抑制對引擎本身幾乎零負擔,區別只在事件後端處理那一步。

Q5:怎麼批次設定抑制規則?比如運維週末把所有核心業務都抑制?

A:UI 沒有批次入口,兩種方式:

  • API 寫指令稿批次建立;
  • PLUS 使用者全局抑制 — 一條規則覆蓋所有業務組,比 N 條業務組抑制輕量得多。

參考資料

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云