突变检测¶
当前文档定位
本文档为检测规则配置流程中的第二步。配置完成后,请返回主文档继续第三步:事件通知。
通过对比同一指标在两个不同时间段的绝对变化量或相对百分比变化,来判断是否出现了异常。这种方法常用于追踪指标的峰值或波动,当检测到异常时,能够更精确地生成事件记录,以便后续分析和处理。
适用于监控短期内与长期数据的相对变化或变化率。例如,将 MySQL 的连接数指标设置为最近 15 分钟与过去 1 天的平均值的百分比差异大于 500%,这表示如果最近 15 分钟的平均连接数超过过去一天平均连接数的 5 倍,系统将触发预警。
建议使用平均值(avg)、最大值(max)、最小值(min)等统计函数来计算这些指标,而不是使用最后值(last)函数,以减少异常数据的影响并提高监控的准确性。
检测指标¶
基于 DQL 定义检测数据源及聚合方式(❗️请避免选择高基数字段作为检测维度。如果配置不当,触发条件过于宽松,可能会引发频繁告警。当前查询最大返回数量为 10 万条记录)。
通过比较两个时间段的指标数据,检测突变异常:
Result = [时间段 A] 与 [时间段 B] 两个时间段内检测指标的 [差值/差值百分比]
配置要素¶
| 配置项 | 说明 |
|---|---|
| 工作空间 | 默认当前空间,可切换至其他授权空间 授权后,您可以使用当前账号下其他工作空间的检测指标来创建监控器。规则创建成功后,即可实现跨工作空间的告警配置。需要留意的是,当您选择其他工作空间时,检测指标的下拉列表仅会显示当前工作空间已被授权使用的数据类型 |
| 数据源类型 | 指标、日志、链路、用户访问数据等 |
| 查询方式 | 简单查询、表达式查询 |
| 筛选条件 | 基于指标的标签对检测指标的数据进行筛选,限定检测的数据范围;支持添加一个或多个标签筛选;支持模糊匹配和模糊不匹配的筛选条件 |
| 聚合算法 | 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}。) |
| 别名 | 自定义检测指标名称 |
时间段配置¶
| 配置项 | 说明 |
|---|---|
| 时间段 A | 作为基准的近期数据时间段 |
| 时间段 B | 作为对比的历史数据时间段 |
| 比较方式 | 差值:两个时间段的绝对差值(A - B) 差值百分比:相对变化百分比((A - B) / B × 100%) |
- 可选时间段:
| 时间段类型 | 选项 |
|---|---|
| 历史同期 | 上月、上周、昨日、1 小时前、环比上期、最近 15 分钟、最近 30 分钟、最近 1 小时、最近 4 小时、最近 12 小时、最近 1 天 |
| 最近时间 | 最近 1 分钟、最近 5 分钟、最近 15 分钟、最近 30 分钟、最近 1 小时、最近 4 小时、最近 12 小时、最近 1 天 |
注意
检测区间“昨日”和 “1 小时前”,比较的是相同时间范围内检测指标的差值或差值百分比;其他的检测区间比较的是两个不同时间段内检测指标的差值或差值百分比。
点击可查看 查询方式详解。
检测频率¶
检测规则的执行频率,自动匹配所选两个检测区间中时间范围更大的检测区间。
- 默认选中:5 分钟
触发条件¶
配置触发条件及严重程度。当查询结果为多个值时,任一值满足触发条件则产生事件。
支持配置致命、严重、重要、警告四级阈值,以及正常恢复条件。
| 等级 | 配置 | 说明 |
|---|---|---|
| 致命 | 当 Result >= [值] |
最高等级告警,需立即处理 |
| 严重 | 当 Result >= [值] |
高等级告警,需优先处理 |
| 重要 | 当 Result >= [值] |
中等级告警,需关注 |
| 警告 | 当 Result >= [值] |
低等级告警,需留意 |
| 正常 | [N] 次检测无事件产生 |
检测规则生效后,若在配置的自定义检测次数内,数据检测结果由异常(致命、严重、重要、警告)恢复正常,则触发恢复告警事件。 ❗️ 恢复告警事件不受告警沉默限制。若未设置恢复告警事件检测次数,则告警事件不会恢复,且一直会出现在事件 > 未恢复事件列表中 |
更多详情,可参考 事件等级说明。
触发前置条件¶
系统默认开启。作为突变检测的准入门槛,当检测值满足前置条件所设阈值时,才继续进行突变检测规则的判断。
- 配置格式:当
[时间段]检测值[运算符][阈值]时才执行下面判断 - 运算符支持:
>、>=、<、<=(默认选中>) - 关闭该配置后,系统将直接进行突变检测规则的判断,不设置准入门槛。
突变方向¶
当突变方向为 [方向] 时触发事件:
- 向上:检测数据升高(上升)的突变
- 向下:检测数据下降(降低)的突变
- 向上或向下:检测数据双向波动(升高或下降)的突变
大批量告警保护¶
系统默认开启。
当单次检测产生的告警数量超过预设阈值时,系统会自动切换到按状态汇总策略:不再逐个处理告警对象,而是根据事件状态生成少量摘要告警并进行推送。
这样既能确保通知的及时性,又能显著减少告警噪声,避免因处理过多告警而导致超时风险。
当此开关开启,后续监控器检测到异常后产生的此类事件详情中不会展示历史记录和关联事件。
数据断档¶
当检测指标在检测区间内查询结果为空时的处理策略:
| 选项 | 说明 |
|---|---|
| 不触发事件(默认) | 联动检测区间的时间范围,根据检测指标在最近若干分钟内的查询结果,判断是否生成事件。适用于允许数据缺失的场景 |
| 查询结果视为 0 | 联动检测区间的时间范围,将检测指标在最近若干分钟内的查询结果视为 0,并重新与上方触发条件中配置的阈值进行比较,以判断是否触发异常事件 |
| 自定义填充并触发事件 | 支持自定义填充检测区间值,并分别触发以下事件类型:数据断档事件、致命事件、严重事件、重要事件、警告事件及恢复事件。 ❗️选择此策略时,建议自定义的数据断档时间配置 ≥ 检测区间的时间间隔;若配置时间 ≤ 检测区间时间间隔,可能会出现数据断档与异常同时满足的情况,此时将优先应用数据断档处理结果 |
同时配置触发条件、数据断档、信息生成时,按照如下优先级判断触发:数据断档 > 触发条件 > 信息事件生成。
即:先判断是否断档,再判断是否触发阈值,最后判断是否生成信息事件。
信息生成¶
开启此选项后,系统会将所有未匹配到上述触发条件的检测结果,以“信息”事件的形式进行写入。
适用于需要记录正常状态变化或低优先级信息的场景。
后续配置¶
完成上述检测配置后,请继续配置: