日志服務以日志形式記錄告警的整個生命周期,并存儲到專屬的Logstore中。您可以通過告警日志,了解監控對象的整體狀況、穩定性等。本文介紹在專屬Logstore中進行告警日志自定義分析的操作步驟。
背景信息
在首次使用日志服務告警時,系統會提示您選擇一個地域,并自動在該地域創建日志服務資源,即在您所選的地域創建一個名為sls-alert-主賬號ID-區域的Project和名為internal-alert-center-log的Logstore,用于存儲告警日志。
internal-alert-center-log Logstore為免費使用,并默認已創建索引。
日志服務基于internal-alert-center-log Logstore,生成內置儀表盤,用于統計告警的觸發情況、通知情況等。更多信息,請參見告警中心大盤。您也可以在該Logstore中,執行查詢和分析語句對告警日志進行自定義分析。
日志主題
不同階段的告警日志的主題不同,因此您可以通過日志中的__topic__ 字段區分不同階段的告警日志。常見的日志主題如下所示。
日志主題 | 說明 |
__topic__: alert_state | 告警規則評估數據。 |
__topic__: alert_received | 告警管理系統接收到告警消息。 |
__topic__: alert_routed | 告警經過告警策略之后,進行路由合并。 |
__topic__: alert_pre_filter | 告警進入抑制靜默流程。 |
__topic__: alert_silenced | 告警被抑制或者靜默。 |
__topic__: alert_pre_notify | 告警進入通知發送流程。 |
__topic__: alert_notified | 告警通知被發送。 |
__topic__: system_config | 由于配置錯誤產生的日志。 |
操作步驟
登錄日志服務控制臺。
在Project列表中,單擊目標Project(例如sls-alert-13****47-cn-hangzhou)。
在 頁簽中,單擊internal-alert-center-log。
在Logstore查詢和分析頁面,自定義分析告警日志。
查詢和分析語句由查詢語句和分析語句構成,格式為查詢語句|分析語句,查詢分析語句語法請參見查詢語法、SQL分析語法。
您還可以通過Data Explorer構建查詢和分析語句。具體操作,請參見通過Data Explorer構建查詢和分析語句。
示例1:統計一定時間范圍內,觸發告警的告警監控規則以及對應的觸發次數。
查詢和分析語句
__topic__: alert_received | select "alert.project" as project, "alert.alert_name" as alert_name, count(*) as cnt group by project, alert_name order by cnt desc
查詢和分析結果
示例2:統計一定時間范圍內,各個通知渠道發送失敗的次數。
查詢和分析語句
__topic__: alert_notified and level: error | select "notifierConfig.type" as notificationType, count(*) as cnt group by notificationType order by cnt desc
查詢和分析結果
示例3:查看告警通知失敗的原因。
查詢和分析語句
__topic__: system_config and alert.alert_id: alert -1626423664 -868572 | select level, error, msg, "desc"
查詢和分析結果
如果查詢和分析結果中有數據,則說明告警配置有問題。關于配置錯誤的具體說明,請參見配置錯誤詳情。
如果查詢和分析結果中無數據,可能是因為通知渠道問題(例如Webhook地址無效、釘釘機器人被刪除等),您可以執行如下查詢和分析語句,進一步查看發送通知失敗的原因。
__topic__: alert_notified and level: error and alert.alert_id: alert -1626423664 -868572 | select error
例如返回如下信息,說明是因為Webhook地址無效導致告警通知發送失敗。