跳转至

可编程检测


通过脚本编写检测规则,覆盖对各种系统数据类型的检测需求。

注意

可编程检测监控器的运行本身不计费,其规则与安全检测扫描流量的计费方式相同。

检测配置

检测频率

规则会按照此处设置的时间间隔(如每 5 分钟、每 1 小时)运行一次。包含:

  • 30 秒
  • 1 分钟
  • 5 分钟
  • 15 分钟
  • 30 分钟
  • 1 小时

除了系统提供的以上特定选项,您还可以输入自定义 crontab 任务,基于秒、分钟、小时、天、月、周等周期配置定时任务执行情况。

检测区间

表示每次执行任务时,数据查询的时间范围。受检测频率影响,可选检测区间会不同。

检测频率 检测区间(下拉可选项)
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

定义检测规则

定义安全检测逻辑时,您可以在脚本中使用 DQL 查询数据,并通过定义条件表达式(例如字段匹配、阈值判断等)来设定信号触发逻辑。

在自主编写规则时,您可以:

  • 设置文本自动换行或内容溢出;
  • 使用快捷键对内容进行格式处理;
  • 一键复制;
  • 直接在内容框中书写脚本内容;
  • 选用 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} 服务响应时间异常

其他配置

更多详情,可参考 规则配置

文档评价

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