可编程检测¶
通过脚本编写检测规则,覆盖对各种系统数据类型的检测需求。
注意
可编程检测监控器的运行本身不计费,其规则与安全检测扫描流量的计费方式相同。
检测配置¶
检测频率¶
规则会按照此处设置的时间间隔(如每 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})
在上述脚本示例中,主要分为以下几个部分:
-
执行数据查询,从所有服务中找出每个主机上平均响应时间最差的一条性能数据;
-
设定告警级别:优先级为
high; -
定位数据源:
-
最终生成告警:
主机 {host} 上的 {service} 服务响应时间异常
其他配置¶
更多详情,可参考 规则配置。