Alertmanager與Prometheus是相互分離的兩個部分。Prometheus服務器根據報警規則將警報發送給Alertmanager,而後Alertmanager將silencing、inhibition、aggregation等消息經過電子郵件、PaperDuty和HipChat發送通知。數據庫
設置警報和通知的主要步驟:
服務器
安裝配置Alertmanager網絡
配置Prometheus經過 -alertmanager.url標誌與Alertmanager通訊併發
在Prometheus中建立告警規則ide
(一)Alertmanager簡介及機制url
Alertmanager處理由相似Prometheus服務器等客戶端發來的警報,以後須要刪除重複、分組,並將它們經過路由發送到正確的接收器,好比電子郵件、Slack等。Alertmanager還支持沉默和警報抑制的機制。spa
(1.1)分組
命令行
分組是指當出現問題時,Alertmanager會收到一個單一的通知,而當系統宕機時,頗有可能成百上千的警報會同時生成,這種機制在較大的中斷中特別有用。ip
例如,當數十或數百個服務的實例在運行,網絡發生故障時,有可能服務實例的一半不可達數據庫。在告警規則中配置爲每個服務實例都發送警報的話,那麼結果是數百警報被髮送至Alertmanager。可是做爲用戶只想看到單一的報警頁面,同時仍然可以清楚的看到哪些實例受到影響,所以,人們經過配置Alertmanager將警報分組打包,併發送一個相對看起來緊湊的通知。ci
分組警報、警報時間,以及接收警報的receiver是在配置文件中經過路由樹配置的。
(1.2)抑制
抑制是指當警報發出後,中止重複發送由此警報引起其餘錯誤的警報的機制。
例如,當警報被觸發,通知整個集羣不可達,能夠配置Alertmanager忽略由該警報觸發而產生的全部其餘警報,這能夠防止通知數百或數千與此問題不相關的其餘警報。
抑制機制能夠經過Alertmanager的配置文件來配置。
(1.3)沉默
沉默是一種簡單的特定時間靜音提醒的機制。一種沉默是經過匹配器來配置,就像路由樹同樣。傳入的警報會匹配RE,若是匹配,將不會爲此警報發送通知。
沉默機制能夠經過Alertmanager的Web頁面進行配置。
Alertmanager的配置
Alertmanager經過命令行flag和一個配置文件進行配置。命令行flag配置不變的系統參數、配置文件定義的禁止規則、通知路由和通知接收器。
要查看全部可用的命令行flag,運行alertmanager -h。
Alertmanager在運行時加載配置,若是不能很好的造成新的配置,更改將不會被應用,並記錄錯誤。