智能异常分析的检测结果通过 SLS 告警功能输出到用户配置的通知渠道。在智能巡检场景中,单个任务往往会巡检大量的实体对象,涉及到的对象规则很多,我们通过SLS新版告警可以实现较好的对于巡检事件的管理。
巡检事件基础结构
在这里,我们先简单看下巡检任务的基本逻辑:
对于单个巡检作业而言,内部包含N个实体的巡检,每个巡检实体对应一个巡检模型,其中任意一个异常事件产生后,都会通过告警系统通知到用户,因此我们需要有能力通过不同的方式将结果进行分发和管理。
我们先看下巡检事件的基础结构,具体的内置模板如下所示:
## 数据源 + Project: ${results[0].project} + LogStore: ${results[0].store} ## 异常对象 + Entity: ${labels} ## 异常程度 + Score: ${annotations.anomaly_score} ## 异常时序图 ![image](${annotations.__plot_image__}) [[数据详情](${query_url})] [[作业详情](${alert_url})] [[确认](${annotations.__ensure_url__})] [[误报](${annotations.__mismatch_url__})]
我们一起来看下具体的告警消息的样例,接下来我们所有的描述都会根据对应的如下结果进行描述。
{ "results": [ { "store_type": "log", "region": "cn-chengdu", "project": "sls-ml-demo", "store": "machine_metric_logtail", "start_time": 1641361140, "end_time": 1641361200 } ], "labels": { "ip": "192.168.1.5", "name": "load_avg" }, "annotations": { "__ensure_url__": "$url_path", "__mismatch_url__": "$url_path", "__plot_image__": "$url_path", "alert_msg_type": "ml_anomaly_msg", "anomaly_score": "0.8000", "anomaly_type_id": "1", "anomaly_type_name": "STAB_TYPE", "job_id": "29030-2bbf5beba0110fa869339708a8217b67", "model_id": "9c0f0d5ad4879eb75237e2ec8494f5f1", "title": "metric-logtail-sql" }, "severity": 8, "drill_down_url": "$url_path" }
典型场景配置
场景一
目标:过滤特定实体的异常
操作步骤
- 寻找到某个巡检任务的【行动策略ID】,这里要根据用户自己的实际配置来确定,具体的路径如下:
- 在行动策略中,添加对应的条件
- 根据上述提供的告警字段而言,我们假设目前只将【标签】中字段为【ip】且值为【192.168.1.5】的告警消息发送到特定的【钉钉机器人】中
场景二
目标:过滤特定分数的异常
操作步骤
- 找到特定的【行动策略ID】,添加【条件】
- 配置【异常分数】超过【0.9】分数以上的告警到特定的渠道
- 【名称】- anomaly_score
- 【正则】- ^((1\.0*)|(0\.9[0-9]*))$
场景三
目标:过滤特定实体的特定分数的异常
操作步骤
- 找到特定的【行动策略ID】,添加【条件】
- 配置【特定实体】的【异常分数】超过【0.9】分数以上的告警到特定的渠道
- 【标注】的名称设置为 anomaly_score,【正则】- ^((1\.0*)|(0\.9[0-9]*))$
- 【标签】的名称设置为 ip,对应的实体内容是 192.168.1.5
场景四
目标:过滤特定异常类型的异常
操作步骤
- 找到特定的【行动策略ID】,添加【条件】
- 配置【特定异常形态】
- 配置【标注】anomaly_type_id,根据对应的值进行判别,具体的内容可以参考[异常类型说明](https://help.aliyun.com/document_detail/356475.html)
- 这里只接受特定的【向上漂移类型的异常】anomaly_type_id = 7
场景五
目标:根据巡检事件和根因事件类型进行分发
操作步骤
- 找到特定的【行动策略ID】,添加【条件】
- 配置【智能告警的事件类型】
- 配置【标注】alert_msg_type,对应的值是 ml_anomaly_msg (这个字段表示的是智能巡检的告警)
参考资料
- 智能异常分析app - https://help.aliyun.com/document_detail/356466.html
- 基于SLS的告警管理- https://help.aliyun.com/document_detail/208998.html
- 基于SLS的告警降噪 - https://help.aliyun.com/document_detail/209193.html
- 基于SLS的告警内容设置 - https://help.aliyun.com/document_detail/207708.html