Prometheus學習系列(三十六)之報警管理器

Alertmanager處理客戶端應用程序(如Prometheus服務器)發送的警報。 它負責對它們進行重複數據刪除,分組和路由,以及正確的接收器集成,例如電子郵件,PagerDuty或OpsGenie。 它還負責警報的靜音和抑制。git

如下描述了Alertmanager實現的核心概念。 請參閱配置文檔以瞭解如何更詳細地使用它們。github

1、分組

分組將相似性質的警報分類爲單個通知。 在許多系統一次性失敗而且數百到數千個警報可能同時發生的較大中斷期間,這尤爲有用。正則表達式

示例:發生網絡分區時,羣集中正在運行數十或數百個服務實例。 一半的服務實例沒法再訪問數據庫。 Prometheus中的警報規則配置爲在每一個服務實例沒法與數據庫通訊時發送警報。 結果,數百個警報被髮送到Alertmanager。數據庫

做爲用戶,人們只想得到單個頁面,同時仍可以確切地看到哪些服務實例受到影響。 所以,能夠將Alertmanager配置爲按羣集和alertname對警報進行分組,以便發送單個緊湊通知。服務器

經過配置文件中的路由樹配置警報的分組,分組通知的定時以及這些通知的接收器。網絡

2、抑制

若是某些其餘警報已經觸發,則抑制是抑制某些警報的通知的概念。路由

示例:正在觸發警報,通知沒法訪問整個集羣。 Alertmanager能夠配置爲在該特定警報觸發時將與該集羣有關的全部其餘警報靜音。 這能夠防止發送與實際問題無關的數百或數千個觸發警報。文檔

經過Alertmanager的配置文件配置禁止。get

3、靜默

沉默是在給定時間內簡單地靜音警報的簡單方法。 基於匹配器配置靜默,就像路由樹同樣。 檢查傳入警報它們是否匹配活動靜默的全部相等或正則表達式匹配器。 若是他們這樣作,則不會發送該警報的通知。it

在Alertmanager的Web界面中配置了靜音。

4、客戶端行爲

Alertmanager對其客戶的行爲有特殊要求。 這些僅適用於不使用Prometheus發送警報的高級用例。

5、高可用

Alertmanager支持配置以建立用於高可用性的集羣。 這能夠使用---cluster-標誌進行配置。

重要的是不要在Prometheus和它的Alertmanagers之間加載平衡流量,而是將Prometheus指向全部Alertmanagers的列表。

6、連接

Prometheus官網地址:prometheus.io/ 個人Github:github.com/Alrights/pr…

相關文章
相關標籤/搜索