Prometheus 告警分爲兩部分。Prometheus 服務器中的告警規則會向Alertmanager發送告警。正則表達式
而後,Alertmanager 處理這些告警信息,包括沉默,禁止,聚合和發送到電子郵件、PagerDuty和HipChat等。數據庫
設置告警和通知的主要步驟是:服務器
設置並配置Alertmanager網絡
配置Prometheus和Alertmanager通訊ip
在Prometheus中建立告警規則路由
----------------------------------------------------------------------------------------------------------------------------------------------------文檔
Alertmanager處理客戶端應用程序(如Prometheus服務器)發送的警報。it
它負責重複數據刪除,分組並將它們路由到正確的接收方集成,例如電子郵件,PagerDuty或OpsGenie。 它還處理警報的沉默和抑制。io
如下介紹Alertmanager實現的核心概念。 請參閱配置文檔以瞭解如何更詳細地使用它們。class
(分組)
分組將類似性質的警報分類爲單個通知。
在由系統服務器單節點宕機致使成百上千臺服務器同時觸發告警的時候,這個功能很是有用。
示例:你的羣集中有數十或數百個服務實例運行在同一個網絡區域。一半的服務實例沒法訪問數據庫。
Prometheus中的警報規則被配置爲在每一個服務實例沒法與數據庫通訊時發送警報。結果有數百個警報被髮送到Alertmanager。
做爲用戶,只但願獲取一個告警信息,同時仍然可以準確查看哪些服務實例受到了影響。
所以,能夠將Alertmanager配置爲按照羣集和警報名稱對警報進行分組,以便發送單個緊湊型通知。
告警的分組,分組通知的時間以及這些通知的接收者能夠經過修改配置文件中的路由樹配置來實現。
抑制
抑制是一個概念,若是某些其餘警報已經觸發,則抑制某些警報的通知。
示例:警報觸發,通知整個羣集沒法訪問。
若是該特定警報正在觸發,警報管理器能夠配置爲關閉與該羣集有關的全部其餘警報。
這能夠防止數百或數千個與實際問題無關的觸發警報的通知。
禁止經過Alertmanager的配置文件進行配置。
沉默
沉默是簡單地將警報靜音給定時間的簡單方法。
沉默是基於匹配器配置的,就像路由樹同樣。
傳入的警報會檢查它們是否與主動沉默的全部相等或正則表達式匹配器匹配。
若是他們這樣作,則不會發送通知來發送該警報。
Alertmanager的Web界面中配置了靜音。
Alertmanager對客戶的行爲有特殊要求。 這些僅適用於普羅米修斯不用於發送警報的高級用例。
Alertmanager支持網狀配置以建立高可用性羣集。 這可使用-mesh- *標誌進行配置。
重要的是不要平衡普羅米修斯和其警報管理者之間的流量,而應將普羅米修斯指向全部警報管理員名單。
----------------------------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION