Prometheus告警最佳實踐

完整譯文請訪問http://www.coderdocument.com/docs/prometheus/v2.14/best_practices/alerting.html

對什麼告警

目標是儘可能少地觸發告警,通過關聯終端用戶痛點來觸發告警,而不是試圖捕捉所有可能觸發告警的條件。告警應該鏈接到相關的控制檯,以便於找出哪個組件有問題。

可以對告警保持一定的寬容,以適應小幅波動。

在線服務系統

儘可能對高延遲和高錯誤率情況觸發告警。

在堆棧中某一點的延遲只顯示一個頁面。如果較低級別的組件延遲較高,但是總體來說,延遲良好,那麼就不需要添加頁面。

有關錯誤率,只對“用戶可見錯誤”提供頁面。如果有錯誤會使堆棧掛掉而引發故障,則不需要分別對它們提供分頁。但是,如果有些故障用戶不可見,但是嚴重到需要人工參與(例如,錯誤導致損失很多錢),則需要添加相關頁面。

如果不同類型的請求具有不同的特徵,你可能需要分別對它們發出告警,否則低流量類型的請求中的問題將被高流量請求淹沒。

離線處理

對於離線處理系統,關鍵指標是系統處理數據所需的時間,因此如果數據處理耗時很長,會對用戶造成影響,則添加頁面。

批處理作業

對於批處理作業,如果批處理作業最近沒有成功,則需要添加頁面,而且這將引發用戶可見的問題。

這通常需要足夠的時間執行兩次完整的批處理作業。對於每4小時運行一次、需要1小時的作業,10小時是合理的閾值。如果你無法接受一次運行失敗,請更頻繁地運行作業,因爲一次失敗應該不需要人工進行干預。

容量

雖然容量問題不會立即對用戶造成影響,但容量不足通常需要人工進行干預,以避免在不久的將來出現停機。

元監控

重要的是要確認監控正在發揮作用。因此,要有告警,以確保Prometheus服務器、Alertmanager、PushGateway和其他監控基礎設施是可用的並且正常運行。

與往常一樣,如果能夠根據症狀而不是原因觸發告警,這有助於降噪。例如,從PushGateway到Prometheus,再到Alertmanager,再到電子郵件的告警黑盒測試比各自告警要更合適。

使用外部墨盒監控來補充Prometheus的白盒監控,可以捕捉到原本不可見的問題,也可以在內部系統完全故障時用作回調。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章