离群检测¶
概述¶
通过算法检测特定分组下检测对象的指标/统计数据是否存在离群偏差情况,若存在有超过一定程度的不一致情况,则会产生离群检测的异常事件用于后续的告警追踪。
应用场景¶
用户可根据指标数据特征配置合适的距离参数,触发紧急事件。例如您可以监控个别主机内存使用率远远偏离其它主机。
规则说明¶
进入监控器 > 新建监控器,选择离群检测,进入离群检测规则配置页面。
步骤一:检测配置¶
1)检测频率:检测规则的执行频率,自动匹配用户所选检测区间。
2)检测区间:每次执行任务时,检测指标查询的时间范围。可以选择15m, 30m, 1h, 4h, 12h, 1d。
检测区间(下拉可选项) | 默认检测频率 |
---|---|
15m | 5m |
30m | 5m |
1h | 15m |
4h | 30m |
12h | 1h |
1d | 1h |
3)检测指标:监控的指标数据。
字段 | 说明 |
---|---|
数据类型 | 当前检测的数据类型,包含检测指标、日志、基础设施、自定义对象、事件、应用性能监测、用户访问监测、安全巡检、网络和 Profile。 |
指标集 | 当前检测指标所在的指标集。 |
指标 | 当前检测所针对的指标。 |
聚合算法 | 包含 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) |
正常(绿色) | 用户可配置次数,若检测指标触发了“紧急”异常事件,之后连续 N 次检测都正常,则产生“正常”事件。用于判定异常事件是否恢复正常,建议配置。 |
信息(蓝色) | 正常检测结果也产生事件,若检测指标不满足“紧急”“错误”“警告”“正常”“无数据”任一触发条件,则表示检测结果无异常,此时触发“信息”事件。 |
无数据(灰色) | 当检测指标出现无数据情况,用户可配置:不触发事件,触发无数据事件,触发恢复事件,在配置条件下触发相对应事件。 |
步骤二:事件通知¶
5)事件标题:设置告警触发条件的事件名称,支持使用预置的模板变量。
注意: 最新版本中监控器名称将由事件标题输入后同步生成。旧的监控器中可能存在监控器名称和事件标题不一致的情况,为了给您更好的使用体验,请尽快同步至最新。支持一键替换为事件标题。
6)事件内容:满足触发条件时发送的事件通知内容,支持输入 Markdown 格式文本信息,支持预览效果,支持使用预置的 关联链接,支持使用预置的 模板变量。
注意:不同告警通知对象支持的 Markdown 语法不同,例如:企业微信不支持无序列表。
无数据通知配置:支持自定义无数据通知内容,若没有配置,则自动使用官方默认的通知模版。
7)告警策略:监控满足触发条件后,立即发送告警消息给指定的通知对象。告警策略中包含需要通知的事件等级、通知对象、以及告警沉默周期。
8)同步创建 Issue:若该监控器下产生了异常事件,将同步创建 Issue 异常追踪,投递到异常追踪的频道中。您可以前往异常追踪 > 您选定的频道进行查看。
步骤三:关联¶
9)关联仪表板:每一个监控器都支持关联一个仪表板,即通过关联仪表板功能能够自定义快速跳转的仪表板(监控器关联的仪表板,支持快速跳转查看监控视图)。
示例¶
以主机内存指标离群检测为例:
配置监控器,当相邻的两个样本最大距离参数大于 1.2 时产生告警:
事件详情页页面展示,可以看见主机 datakit-internal
内存离群超过配置的距离参数,产生了紧急告警事件: