日志服務提供智能巡檢功能,用于對監控指標或業務日志等數據進行全自動、智能化、自適應的異常巡檢。本文介紹如何通過智能巡檢功能,對通過SQL聚合的多維指標進行巡檢與打標反饋。
前提條件
背景信息
日志服務智能巡檢服務支持非指標數據(例如日志數據)進行智能巡檢。非指標數據一般指常規的日志數據,您可以通過SQL語句聚合生成指標數據后,再進行智能巡檢。
數據示例
例如A公司將其SLB 7層訪問日志接入到日志服務后,在智能巡檢服務中通過SQL語句計算QPS、延時、出入流量、成功率等指標,即設置實體為host,設置特征為qps、success_date、inflow、outflow和latency。當服務器出現問題時,日志服務將展示QPS、延時、出入流量、成功率等不同維度指標的變化,并通過釘釘群通知給運維人員,便于運維人員及時判斷故障,解決問題。
SLB 7層訪問日志示例如下圖所示。
步驟一:創建智能巡檢任務
登錄日志服務控制臺。
進入創建作業頁面。
在日志應用區域,單擊智能異常分析。
在實例列表中,單擊目標實例。
在左側導航欄中,單擊智能巡檢。
單擊實時檢測。
在巡檢任務區域,單擊立即創建。
在創建智能巡檢作業配置向導的基本信息區域,完成如下配置,然后單擊下一步。
參數
說明
任務名
自定義設置智能巡檢作業的名稱。
Project
選擇源日志庫或時序庫所在的Project。
地域
您所選擇的Project的所在地域。
日志庫類型
根據您數據存儲的位置選擇日志庫類型。
如果您的數據存儲在日志庫中,則選中日志庫。
如果您的數據存儲在時序庫中,則選中時序庫。
源日志庫
當日志庫類型設置為日志庫時,需設置源日志庫,設置為您的源數據所在的日志庫。
時序庫
當日志庫類型設置為時序庫時,需設置時序庫,設置為您的源數據所在的時序庫。
角色
如果您在創建實例時已完成了授權,則此處自動顯示AliyunLogETLRole角色的角色標識。
目標庫
目標日志庫,固定為internal-ml-log。
在數據特征配置區域的數據類型,選擇通過SQL格式化數據,然后完成以下配置。
其中,數據特征配置中的查詢和分析語句如下:
* | select __time__-__time__ % 60 as time, 'slb-total' as host, COUNT(*) as qps, round(1.0 * count_if(status < 400) / COUNT(*), 2) as success_rate, sum(request_length) as inflow, sum(body_bytes_sent) as outflow, round(avg(upstream_response_time) * 1000, 3) as latency FROM log group by time order by time asc limit 10000
在算法配置區域,完成以下操作。
在算法配置區域,完成以下配置,然后在數據采樣中,選擇一個實體,單擊預覽采樣數據,驗證您所配置的參數與您的數據是否適配,以及執行結果是否符合您的預期。
在調度配置區域,設置智能巡檢作業開始執行的時間。
說明智能巡檢作業默認從設置的位置開始一直往后執行。
單擊下一步。
在創建智能巡檢作業配置向導的告警配置區域,完成以下配置,然后單擊完成。
如何獲取釘釘請求地址,請參見釘釘-自定義。
當指標異常時,即result.score大于0.75時,日志服務將發送告警通知到釘釘群中。
步驟二:打標反饋
您可以在釘釘群,打標告警通知。
如果告警符合預期,單擊確認。
如果告警不符合預期,單擊誤報。
告警通知示例如下: