可编程检测¶
当前文档定位
本文档为检测规则配置流程中的第二步。配置完成后,请返回主文档继续第三步:事件通知。
通过脚本编写检测规则,覆盖对各种系统数据类型的检测需求。支持使用 DQL 查询数据,并通过自定义逻辑(如字段匹配、阈值判断等)设定信号触发逻辑,实现灵活的监控告警策略。
注意
可编程检测监控器的运行本身不计费,其规则与安全检测扫描流量的计费方式相同。
检测配置¶
检测频率¶
设置执行检测的时间周期。
-
预设选项:30 秒、1 分钟、5 分钟(默认)、15 分钟、30 分钟、1 小时
-
Crontab 模式:点击“切换到 Crontab 模式”可配置自定义周期,支持基于秒、分钟、小时、天、月、周等周期配置定时任务执行情况。
检测区间¶
设置每次检测查询的数据时间范围(❗️若检测规则中 DQL 查询指定时间范围,系统将优先采用规则内定义的时间范围)。
| 检测频率 | 检测区间(下拉可选项) |
|---|---|
| 30s | 1m/5m/15m/30m/1h/3h |
| 1m | 1m/5m/15m/30m/1h/3h |
| 5m | 5m/15m/30m/1h/3h |
| 15m | 15m/30m/1h/3h/6h |
| 30m | 30m/1h/3h/6h |
| 1h | 1h/3h/6h/12h/24h |
- 自定义格式:自定义输入检测区间,如:20m(最近 20 分钟)、2h(最近 2 小时)、1d(最近 1 天)。
定义检测规则¶
通过编写脚本定义安全检测逻辑。支持在脚本中使用 DQL 查询数据,并通过条件表达式(如字段匹配、阈值判断等)设定信号触发逻辑。
编辑器功能¶
| 功能 | 说明 |
|---|---|
| 自动换行 | 设置文本自动换行或内容溢出显示 |
| fx 函数 | 选用 fx 函数辅助编写规则 |
| 快捷键 | 使用快捷键对内容进行格式处理 |
| 一键复制 | 快速复制脚本内容到剪贴板 |
| 规则编写指南 | 查看脚本编写规范和示例 |
| 开始测试 | 验证脚本逻辑是否正确执行 |
脚本示例¶
示例:
data1 = dql("T::re(`.*`):(avg(duration), service, span_id) by host limit 1")
status = "high"
host = dql_series_get(data1,"host")
service = dql_series_get(data1,"service")
trigger(data1,status,dimension_tags={"host":host},related_data={"service":service})
在上述脚本示例中,主要分为以下几个部分:
-
执行数据查询,从所有服务中找出每个主机上平均响应时间最差的一条性能数据;
-
设定告警级别:优先级为
high; -
定位数据源:
-
最终生成告警:
主机 {host} 上的 {service} 服务响应时间异常
后续配置¶
完成上述检测配置后,请继续配置: