OpenResty XRay 異常事件

異常事件觸發

OpenResty XRay 會採集應用的 CPU 使用率、記憶體使用率和磁碟寫入 IO 等監控指標,如果監控指標的波動幅度達到閾值,就會產生異常事件並觸發分析器執行。

異常事件的判斷我們參考了 3σ 法則,具體規則如下:

  1. 當前值和 60 秒內的均值的差值絕對值要大於設定的最小變化量
  2. 當前值和 60 秒內的均值的差值絕對值要大於設定的 n 倍標準差
  3. 當前應用沒有正在執行的分析器任務

當符合這些條件後,就會產生一條異常事件觸發分析器執行。

我們預設配置了一些常用分析器的觸發規則:

可以新增自定義分析器觸發執行的規則:

還可以調整事件觸發的閾值:

為了不錯過異常事件,事件發生後就會立即觸發分析器執行採集,但這樣會產生很多由指標毛刺觸發的無效採集任務,所以我們在事件產生的四秒之後會再次進行判斷,如果這四秒內的值都符合條件,則標記該事件為有效。

無效事件預設不會展示在事件列表中,可以透過這個開關展示所有捕獲到的異常事件:

異常事件通知

我們提供了 email 和 Webhook 兩種通知方式,配置了事件通知之後,當有異常事件產生就會及時通知使用者。