离群检测¶
概述¶
通过算法检测特定分组下检测对象的指标/统计数据是否存在离群偏差情况,若存在有超过一定程度的不一致情况,则会产生离群检测的异常事件用于后续的告警追踪。
应用场景¶
用户可根据指标数据特征配置合适的距离参数,触发紧急事件。例如您可以监控个别主机内存使用率远远偏离其它主机。
规则说明¶
在「监控器」中,点击「+新建监控器」,选择「离群检测」,进入离群检测规则配置页面。
步骤1.检测配置¶
1)检测频率:检测规则的执行频率,自动匹配用户所选检测区间。
2)检测区间:每次执行任务时,检测指标查询的时间范围。可以选择15m, 30m, 1h, 4h, 12h, 1d
检测区间(下拉可选项) | 默认检测频率 |
---|---|
15m | 5m |
30m | 5m |
1h | 15m |
4h | 30m |
12h | 1h |
1d | 1h |
3)检测指标:监控的指标数据。
字段 | 说明 |
---|---|
数据类型 | 目前仅支持“指标”数据 |
指标集 | 当前检测指标所在的指标集 |
指标 | 当前检测所针对的指标 |
聚合算法 | 包含Avg by(取平均值)、Min by(取最小值)、Max by(取最大值)、Sum by(求和)、Last(取最后一个值)、First by(取第一个值)、Count by(取数据点数)、Count_distinct by(取非重复的数据点数)、p50(取中位数值)、p75(取处于75%位置的值)、p90(取处于90%位置的值)、p99(取处于99%位置的值) |
检测维度 | 检配置数据里对应的字符串类型(keyword)字段都可以作为检测维度进行选择,目前检测维度最多支持选择三个字段。通过多个检测维度的字段组合,可以确定一个确定的检测对象,观测云会判断某个检测对象对应的统计指标是否满足触发条件的阈值,若满足条件则产生事件。(例如选择检测维度【 host 】与【 host_ip 】,则检测对象可以为{host: host1, host_ip: 127.0.0.1}) |
筛选条件 | 基于指标的标签对检测指标的数据进行筛选,限定检测的数据范围,支持添加一个或多个标签筛选,支持模糊匹配和模糊不匹配的筛选条件。 |
别名 | 自定义检测指标名称 |
查询方式 | 支持简单查询和表达式查询,详情参考 查询 |
4)触发条件:设置告警级别的触发条件。
配置触发条件及严重程度,当查询结果为多个值时,任一值满足触发条件则产生事件。
- 紧急(红色):使用DBSCAN算法,用户可根据指标数据特征配置合适的距离参数,触发紧急事件。距离参数,表示其中一个样本与另一个样本相邻,两个样本之间的最大距离,不是簇内点距离的最大界限。(float, default=0.5)
Attention
可选择配置 range(0-3.0) 之间的任意浮点值,如果不配置,默认距离参数为 0.5,距离设置越大得到的异常点越少, 距离值设置过小可能检测到的离群值非常多,距离值设置过大可能导致没有任何离群检测到, 所以需要根据不同的数据特征设置合适的距离参数。
-
正常(绿色):用户可配置次数,若检测指标触发了“紧急”异常事件,之后连续 N 次检测都正常,则产生“正常”事件。用于判定异常事件是否恢复正常,建议配置。
-
信息(蓝色):正常检测结果也产生事件,若检测指标不满足“紧急”“错误”“警告”“正常”“无数据”任一触发条件,则表示检测结果无异常,此时触发“信息”事件。
-
无数据(灰色):当检测指标出现无数据情况,用户可配置:不触发事件,触发无数据事件,触发恢复事件,在配置条件下触发相对应事件。
步骤2.事件通知¶
5)事件标题:设置告警触发条件的事件名称,支持使用预置的模板变量,详情参考 模板变量 。
Attention
最新版本中 “监控器名称” 将由 “事件标题” 输入后同步生成。旧的监控器中可能存在 “监控器名称” 和 “事件标题” 不一致的情况,为了给您更好的使用体验,请尽快同步至最新。支持一键替换为事件标题。
6)事件内容:满足触发条件时发送的事件通知内容,支持输入markdown 格式文本信息,支持预览效果,支持使用预置的模板变量,详情参考 模板变量 。
Attention
不同告警通知对象支持的 markdown 语法不同,例如:企业微信不支持无序列表。
7)告警策略:监控满足触发条件后,立即发送告警消息给指定的通知对象。告警策略中包含需要通知的事件等级、通知对象、以及告警沉默周期。详情参考 告警策略 。
步骤3.关联¶
8)关联仪表板:每一个监控器都支持关联一个仪表板,即通过「关联仪表板」功能能够自定义快速跳转的仪表板(监控器关联的仪表板,支持快速跳转查看监控视图)。
示例¶
以主机内存指标离群检测为例。
配置监控器,当相邻的两个样本最大距离参数大于 1.2 时产生告警:
事件详情页页面展示,可以看见主机 datakit-internal 内存离群超过配置的距离参数,产生了紧急告警事件:
通知对象详情展示: