跳转至

可编程检测


当前文档定位

本文档为检测规则配置流程中的第二步。配置完成后,请返回主文档继续第三步:事件通知

通过脚本编写检测规则,覆盖对各种系统数据类型的检测需求。支持使用 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})

在上述脚本示例中,主要分为以下几个部分:

  1. 执行数据查询,从所有服务中找出每个主机上平均响应时间最差的一条性能数据;

  2. 设定告警级别:优先级为 high

  3. 定位数据源:

    host = dql_series_get(data1,"host")  # 提取故障主机
    service = dql_series_get(data1,"service")  # 提取问题服务
    
  4. 最终生成告警:主机 {host} 上的 {service} 服务响应时间异常

后续配置

完成上述检测配置后,请继续配置:

  1. 事件通知:定义事件标题、内容、通知成员、数据断档处理及关联故障;

  2. 告警配置:选择告警策略,设置通知对象和静默周期;

  3. 关联:关联仪表板,便于快速跳转查看数据;

  4. 权限:设置操作权限,控制谁可以编辑/删除此监控器。

文档评价

文档内容是否对您有帮助? ×