Prometheus 告警分配到指定接收組

2022-05-17 06:39:12 字數 1740 閱讀 1860

prometheus 告警分配到指定接收組

route屬性用來設定報警的分發策略,它是乙個樹狀結構,按照深度優先從左向右的順序進行匹配。

主要處理流程:

1.接收到alert,根據labels判斷屬於哪些route(可存在多個route,乙個route有多個group,乙個group有多個alert)。

2.將alert分配到group中,沒有則新建group。

3.新的group等待group_wait指定的時間(等待時可能收到同一group的alert),根據resolve_timeout判斷alert是否解決,然後傳送通知。

4.已有的group等待group_interval指定的時間,判斷alert是否解決,當上次傳送通知到現在的間隔大於repeat_interval或者group有更新時會傳送通知。

route:

receiver:

'default-receiver'#

為乙個組傳送通知的初始等待時間,預設30s、等待是時間內為了合併更多同類郵件

group_wait: 30s #

在傳送新告警前的等待時間。通常5m或以上、第二組傳送郵件間隔時間

group_interval: 5m #

傳送重複告警的週期。如果已經傳送了通知,再次傳送之前需要等待多長時間。通常3小時或以上

repeat_interval: 4h #

報警分組依據,根據標籤進行分組

group_by: [cluster, alertname] #

所有不匹配以下子路由的告警都將保留在根節點,併發送到「default-receiver」

routes:

#所有service=mysql或者service=cassandra的告警分配到資料庫接收端

- receiver: '

database-pager

'group_wait: 10s

match_re:

#使用正則匹配告警包含兩個服務,傳送到database-page

service: mysql|cassandra

#所有帶有team=frontend標籤的告警都與此子路由匹配

#它們是按產品和環境分組的,而不是集群

- receiver: '

frontend-pager

'group_by: [product, environment]

match:

#所有告警標籤帶有frontend傳送到frontend-pager

team: frontend

#receiver標記:告警接受者

receivers:

#- name: '

database-pager'#

email_configs:通過郵箱傳送報警

email_configs:

#to:指定接收端email

- to: '

[email protected]

'- name: '

frontend-pager'#

email_configs:通過郵箱傳送報警

email_configs:

#to:指定接收端email

- to: '

[email protected]

'

Prometheus告警收斂

告警面臨的最大問題 就是告警訊息太多,很可能會導致運維人員遺漏重要的告警資訊,或者一些無關緊要的小警報太多,收件人很容易麻木,可能不再理會。如果遺漏關鍵警報沒有及時處理可能會對系統業務造成重大故障。在這個問題上,alertmanager的告警收斂配置就變得尤為重要了。合理的分組將類似的警報進行分類。...

Prometheus 告警收斂

prometheus 告警收斂 告警面臨最大問題,是警報太多,相當於狼來了的形式。收件人很容易麻木,不再繼續理會。關鍵的告警常常被淹沒。在一問題中,alertmanger在一定程度上得到很好解決。prometheus成功的把一條告警發給了altermanager,而altermanager並不是簡簡...

Prometheus告警簡介

告警能力在prometheus的架構中被劃分成兩個獨立的部分。如下所示,通過在prometheus中定義alertrule 告警規則 prometheus會週期性的對告警規則進行計算,如果滿足告警觸發條件就會向alertmanager傳送告警資訊。在prometheus中一條告警規則主要由以下幾部分...