一. 告警的介紹
1.1 簡介
日志服務支援根據儀表盤中的查詢圖表設定告警,實作實時的服務狀态監控。
日志服務的告警功能基于儀表盤中的查詢圖表實作。在日志服務控制台查詢頁面或儀表盤頁面設定告警規則,并指定告警規則的配置、檢查條件和通知方式。
設定告警後,日志服務定期對儀表盤的查詢結果進行檢查,檢查結果滿足預設條件時發送告警通知,實作實時的服務狀态監控。
1.2 使用限制
限制項 | 說明 |
---|---|
組合查詢 | 組合查詢的個數為1~3個。 |
字元串 | 字元串長度如果超過1024個字元,隻會截取前1024個字元用于計算。 |
條件表達式 | 條件表達式長度為1~128個字元。 每個查詢隻會取查詢結果的前100條用于計算條件表達式。條件表達式計算次數不超過1000次,如使用組合查詢,則組合計算的次數最多隻會計算1000次。 |
短信數量 | 同一個手機号碼每天接收的短信不超過50條。 |
語音通知數量 | 同一個手機号碼每天接收的語音電話通知不超過50個。 |
郵件數量 | 同一個郵箱每天接收的郵件不超過100條。 |
查詢區間 | 每個查詢語句的查詢區間時間跨度不能超過24小時。 |
1.3 告警中的查詢語句
告警基于儀表盤中的分析圖表,而分析圖表實質上是一條查詢分析語句的可視化查詢結果。其中,查詢語句可以是查詢語句或查詢分析語句。
注意:查詢語句告警和分析語句告警不能互相轉換,也就是說查詢語句告警不能改成分析語句告警,分析語句告警不能改成查詢語句告警,如需更改需要删除重建。
1.3.1 查詢語句
直接傳回查詢條件命中的日志資料。
查詢語句會傳回一條日志的所有的内容,如果想通知中展示日志中所有内容建議用此語句。
1.3.2 查詢分析語句
對查詢條件命中的日志進行統計,傳回統計結果。
查詢分析語句隻會傳回select查到的字段,沒有查到的字段不能在通知中展示。
1.4 告警的設定
1.4.1 建立查詢語句告警
字段level,每15min檢查一次,有ERROR,觸發釘釘告警
1. 控制台查詢
全文索引可以在控制台查詢 ERROR ,
如果設定了字段索引可以查詢 level:ERROR ,
查詢範圍15min,點選右上角的另存為告警

2. 建立告警
填寫名稱,儲存到建立的儀表盤或已有的儀表盤中,觸發條件是level=="ERROR"。
個别字段的含義可以點選?會有詳細說明。
注意1:查詢的區間要和檢查的頻率相同,如果檢查的頻率小于查詢的區間會重複告警。
注意2: 如果查詢區間為1分鐘(相對),建議改成1分鐘(整點),因為日志服務查詢為分鐘内精确,如果用1分鐘相對時間會出現告警不準确的情況。
3. 告警通知
通知方式可以選擇短信、語音、郵件等。
注意:如果選擇釘釘機器人,需要在釘釘中設定關鍵詞,可以設定成關鍵詞 "告警"
發送内容設定參考
https://help.aliyun.com/document_detail/91785.html https://help.aliyun.com/document_detail/98398.html如果想擷取,展示某個字段
${Results[0].FireResult.字段名}
kv形式展示觸發告警的日志
${Results[0].FireResultAsKv}
kv形式展示所有查詢結果
${Results[0].RawResultsAsKv}
1.4.2 建立查詢分析語句告警
每分鐘檢查某個ip的pv,小于100觸發告警,通知次數和ip。
查詢分析語句為
- | select from (select source as ip , count() as count from log group by ip) where count < 100
由于告警判斷的條件表達式的限制,條件表達式計算次數不超過1000次,如使用組合查詢,則組合計算的次數最多隻會計算1000次。可以在查詢語句分析語句中做判斷,查符合條件的日志,如果有查到結果則觸發告警。
4.告警結果
1.4.3 儀表盤建立告警
1 在儀表盤中,點選告警清單下的建立按鈕,打開建立告警界面。
2 點選添加按鈕,選擇關聯的告警圖表,其他操作與上面類似。
1.5 告警其他功能
1.5.1 檢視告警統計
1.5.2 關閉告警
在告警概覽中,可以設定啟用狀态,暫時關閉告警。
1.5.3 告警抑制
在告警概覽中,可以設定通知狀态關閉的時長。
二. 告警問題排查
2.1 排查方法
2.1.1 檢視告警曆史
在告警清單中,點選相應的告警,在告警曆史中檢視沒有告警的那條資料,
告警曆史向左滑動會有原因字段,相應的解釋在右側錯誤資訊中。
2.1.2 檢視執行結果
建立告警之後,會生成告警曆史logstore,internal-alert-history,
進入這個logstore可以檢視完整的告警執行結果。
其中Results字段中的RawResults為告警語句查詢傳回結果,檢查是否和預期結果相比對。若為空,說明沒有查到符合條件的結果。
詳細字段含義參考:
2.2 常見問題及解決方法
1 設定查詢範圍相對1分鐘,觸發誤告警
參考上文,日志服務查詢為分鐘内精确,查詢範圍改成整點1分鐘。
2 符合條件沒有觸發告警
檢查觸發的次數是否符合設定的門檻值
3 用查詢分析語句設定的告警,怎麼把日志中的某個值展示在通知裡
通知展示的值,要在查詢的結果中,分析語句中需要可以查到這個值。
4 告警符合條件,沒有觸發
檢視告警曆史,沒有達到觸發的通知的間隔限制,
修改告警,在進階選項裡,修改通知間隔,改成和執行頻率相同。