智能巡检告警配置最佳实践

智能异常分析的检测结果通过 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】,添加【条件】
  • 配置【特定异常形态】

智能巡检告警配置最佳实践

场景五

目标:根据巡检事件和根因事件类型进行分发

操作步骤

  • 找到特定的【行动策略ID】,添加【条件】
  • 配置【智能告警的事件类型】
    • 配置【标注】alert_msg_type,对应的值是 ml_anomaly_msg (这个字段表示的是智能巡检的告警)

智能巡检告警配置最佳实践


参考资料

上一篇:区块链技术与应用(北大公开课,肖臻)- ETH 反思


下一篇:<提升效率>Mysql函数(function)|存储过程(procedure)