一千萬個為什麽

搜索

在多次事件後觸發尋呼機警報



集成中發生一定數量的事件後,是否可能只觸發警報?

例如,如果我的應用程序報告某種非關鍵性的故障,那麽排除故障是值得的,但可能不會像半夜喚醒某人一樣。

但是,如果應用程序一遍又一遍地報告相同的故障,則表明有人應該盡快查看更大問題的癥狀。

有任何想法嗎?

轉載註明原文: 在多次事件後觸發尋呼機警報

一共有 2 個回答:

最簡單的方法是建立一些基於指標的警報系統,如Prometheus,datadog等等。這些系統允許你有一個增加的計數器,你可以看到在給定的時間段內發生了多少事件在一個漂亮的圖表上。大多數指標系統將很好地與警報件的PagerDuty相關聯。擁有這些指標系統的任何一個功能,也會為您的系統提供一個歷史性的基線,這對於確定我們發生了什麽問題以及何時發生了什麽非常方便。

閾值可能應該是特定時間段內的事件數量。如果你只是選擇一個任意數字,比如說100,那麽你總是會達到這個極限。如果您在一小時內看到10起可能對您不好的事件。

最難的部分是我不認為PagerDuty可以輕松訪問有關事件數量的指標。您可以在他們的用戶界面中查看漂亮的圖表,但是沒有簡單的方法將其提供給您的指標系統。你需要添加一些代碼給其他你創建事件的地方,讓他們增加這個計數器。

我們處理這個問題的方法是先通過Sensu運行我們的警報。您可以配置Sensu檢查以要求多次失敗提醒,然後配置支票的通知以發送至PagerDuty。通過這種方式,當PagerDuty聽到這個消息(並且發送給你)時,它已經通過了“連續N次失敗”標準。

如果您不需要檢查連續失敗的次數,而是需要檢查整個時間範圍內的N次失敗,那麽添加彈性搜索或石墨或類似的混合物就是一個很好的用例。每當出現故障時,記錄一個錯誤或增加一個指標,然後您的支票可以簡單地查看時間範圍並查看匯總是否超出限制。