离群检测¶
当前文档定位
本文档为检测规则配置流程中的第二步。配置完成后,请返回主文档继续第三步:事件通知。
通过算法分析特定分组内检测对象的指标或统计数据,以识别是否存在显著的离群偏差。如果检测到的不一致性超过预设的阈值,系统将生成一个离群检测异常事件,用于后续的告警跟踪和分析。这种方法有助于及时发现并处理潜在的异常情况,提高监控的准确性和响应速度。
适用于基于指标数据的特性来配置恰当的距离参数,以便在数据显著偏离正常范围时触发告警。例如,当某台主机的内存使用率显著高于同组其他主机时,系统能够及时发出警报,快速识别并响应潜在的性能问题。
检测配置¶
检测频率¶
设置执行检测的时间周期,自动匹配所选的检测区间。
- 默认选中:5 分钟
检测区间¶
设置每次检测查询的数据时间范围(❗️检测区间应大于等于检测频率,且需与数据实际上报周期匹配,避免漏检或误报)。
| 检测区间(下拉可选项) | 检测频率 |
|---|---|
| 15m | 5m |
| 30m | 5m |
| 1h | 15m |
| 4h | 30m |
| 12h | 1h |
| 1d | 1h |
检测指标¶
基于 DQL 定义检测数据源及聚合方式(❗️请避免选择高基数字段作为检测维度。如果配置不当,触发条件过于宽松,可能会引发频繁告警。当前查询最大返回数量为 10 万条记录)。
配置要素¶
| 配置项 | 说明 |
|---|---|
| 工作空间 | 默认当前空间,可切换至其他授权空间 授权后,您可以使用当前账号下其他工作空间的检测指标来创建监控器。规则创建成功后,即可实现跨工作空间的告警配置。需要留意的是,当您选择其他工作空间时,检测指标的下拉列表仅会显示当前工作空间已被授权使用的数据类型 |
| 数据源类型 | 指标、日志、基础设施、资源目录、事件、应用性能监测、用户访问监测、网络和 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}。) |
| 别名 | 自定义检测指标名称 |
点击可查看查询方式详解。
触发条件¶
配置触发条件及严重程度。当查询结果为多个值时,任一值满足触发条件则产生事件。
离群检测采用 DBSCAN 算法识别异常,支持配置严重级别阈值,以及正常恢复条件。
| 等级 | 配置 | 说明 |
|---|---|---|
| 严重 | DBSCAN 算法,距离 [值] |
使用 DBSCAN 算法检测离群点,距离参数表示其中一个样本与另一个样本相邻时两个样本之间的最大距离(float,default=0.5)。 ❗️ 可选择配置 range(0-3.0) 之间的任意浮点值,如果不配置,默认距离参数为 0.5。距离设置越大得到的异常点越少,距离值设置过小可能检测到非常多的离群值,距离值设置过大可能导致没有任何离群点被检测到,需要根据不同的数据特征设置合适的距离参数。 |
| 正常 | [N] 次检测无事件产生 |
检测规则生效后,若在配置的自定义检测次数内,数据检测结果由异常(严重)恢复正常,则触发恢复告警事件。 ❗️ 恢复告警事件不受告警沉默限制。若未设置恢复告警事件检测次数,则告警事件不会恢复,且一直会出现在事件 > 未恢复事件列表中 |
更多详情,可参考 事件等级说明。
大批量告警保护¶
系统默认开启。
当单次检测产生的告警数量超过预设阈值时,系统会自动切换到按状态汇总策略:不再逐个处理告警对象,而是根据事件状态生成少量摘要告警并进行推送。
这样既能确保通知的及时性,又能显著减少告警噪声,避免因处理过多告警而导致超时风险。
当此开关开启,后续监控器检测到异常后产生的此类事件详情中不会展示历史记录和关联事件。
数据断档¶
当检测指标在检测区间内查询结果为空时的处理策略:
| 选项 | 说明 |
|---|---|
| 不触发事件(默认) | 联动检测区间的时间范围,根据检测指标在最近若干分钟内的查询结果,判断是否生成事件。适用于允许数据缺失的场景 |
| 查询结果视为 0 | 联动检测区间的时间范围,将检测指标在最近若干分钟内的查询结果视为 0,并重新与上方触发条件中配置的阈值进行比较,以判断是否触发异常事件 |
| 自定义填充并触发事件 | 支持自定义填充检测区间值,并分别触发以下事件类型:数据断档事件、严重事件、重要事件、警告事件及恢复事件。 ❗️选择此策略时,建议自定义的数据断档时间配置 ≥ 检测区间的时间间隔;若配置时间 ≤ 检测区间时间间隔,可能会出现数据断档与异常同时满足的情况,此时将优先应用数据断档处理结果 |
同时配置触发条件、数据断档、信息生成时,按照如下优先级判断触发:数据断档 > 触发条件 > 信息事件生成。
即:先判断是否断档,再判断是否触发阈值,最后判断是否生成信息事件。
信息生成¶
开启此选项后,系统会将所有未匹配到上述触发条件的检测结果,以“信息”事件的形式进行写入。
适用于需要记录正常状态变化或低优先级信息的场景。
后续配置¶
完成上述检测配置后,请继续配置: