背景
阿里雲日誌服務致力於為用戶提供統一的可觀測性平臺,同時支持日誌、時序以及Trace數據的查詢存儲。為了方便用戶計算聚合數據,或者根據日誌數據計算服務指標,日誌服務推出了Scheduled SQL功能。Scheduled SQL支持定時分析數據、存儲聚合數據、投影與過濾數據。為了方便用戶觀察Scheduled SQL任務的執行情況,日誌服務為Scheduled SQL增加了告警功能,本文主要向用戶介紹如何開啟Scheduled SQL告警,以及追蹤任務的執行情況,方便用戶及時發現異常情況。
執行日誌
開通執行日誌
- 在Scheduled SQL任務所在Project的概覽頁面,點擊開通服務日誌。
- 點擊作業告警日誌按鈕,開通Scheduled SQL執行日誌。
開通作業告警日誌之後,在對應project下的internal-diagnostic_log,就可以查看到Scheduled SQL的執行日誌了。
查看執行日誌
在控制檯查詢頁面輸入
* and __topic__: scheduled_sql_alert
可以查看Scheduled SQL的執行日誌,每個任務實例的執行情況均可以查看。
字段說明
字段 |
說明 |
示例 |
project |
任務所在的project名稱 |
my-project-name |
job_name |
任務名稱 |
sql-16xxxxxxx-xxxxxx |
uid |
主賬戶阿里雲UID |
|
schedule_id |
調度配置標識 |
|
job_type |
任務類型,目前恆為ScheduledSQL |
|
instance_id |
任務實例標識 |
|
create_time |
任務實例創建時間,單位為秒 |
|
schedule_time |
任務實例調度時間,單位為秒 |
|
trigger_time |
任務實例觸發時間,單位為秒 |
|
status |
任務實例執行結果,可以為FAILED或者SUCCEEDED |
|
error_code |
如果實例執行失敗,說明失敗原因 |
SQLFailed |
error_message |
如果實例執行失敗,說明失敗詳情 |
sql syntax error |
fallbehind |
任務觸發時間和調度時間間隔,說明執行延遲,單位為秒 |
85 |
succeed_lines |
如果實例成功,說明寫入行數;如果實例失敗,則為0 |
100 |
告警規則
通過監控任務執行日誌,可以配置告警規則監控任務的執行情況。用戶可以自定義告警規則,也可以使用內置的Scheduled SQL告警規則。
開啟新版告警
在執行日誌所在的project,點擊左側的告警按鈕打開告警中心,開啟新版告警服務。
行動策略
點擊告警管理標籤頁,在下拉框中點擊行動策略,打開行動策略編輯框。可以看到SLS Scheduled SQL內置行動策略。點擊右側的修改按鈕,在第一行動列表中添加想要的通知方式,目前支持十多種通知渠道。更多關於行動策略的信息,可以參考官方文檔。當然,用戶也可以選擇自定義Scheduled SQL告警的行動策略,通過點擊添加按鈕添加新的額行動策略。
內置告警
在告警中心的規則視圖頁面,選中SLS ScheduledSQL複選框,篩選出內置告警規則。點擊右側的添加按鈕,在彈出窗口中填寫告警配置,即可完成告警規則的配置。這裡需要注意內置告警規則評估間隔為5分鐘。
配置 |
說明 |
示例 |
告警名稱 |
告警實例名稱 |
xxx任務錯誤監控 |
監控的Project |
ScheduledSQL任務所在的Project,.*表示監控所有Project |
|
監控的任務名稱 |
需要監控的ScheduledSQL任務名稱,注意非顯示名稱;.*表示監控所有任務 |
sql-123456-1234 |
行動策略 |
行動策略小節中配置的行動策略,默認使用內置行動策略 |
|
嚴重度 |
告警嚴重度 |
自定義告警
如果內置告警規則不符合需求,也可以自定義告警規則。可以通過點擊新建告警按鈕,新建自定義告警。關於自定義告警的配置詳情,可以參考官方文檔。
事件管理
配置完告警規則,就可以在ScheduledSQL任務異常時收到告警。點擊告警中心頁面右側的事務視圖按鈕,可以查看歷史告警事件。
總結
Scheduled SQL為用戶週期性的進行分析數據、存儲聚合數據、投影與過濾數據提供了較大的便利。為了避免任務執行失敗引發問題,建議開啟Scheduled SQL告警功能,能夠及時處理出現的問題。