1. 前置说明
查询模式
- 查原文
- 做统计
调用
/select/logsql/query 接口,返回二维表格数据。2. 阈值判定模式 (Threshold)
查原文和做统计两种查询模式都可以使用。下面分别举例说明。2.1 查原文示例
查询语句示例:
值字段配置为
total,标签字段配置为 level(或不配置,Monitors 会自动识别)。不同阈值不同级别的配置示例:
- Warning:
$A.total >= 50或者简写为$A >= 50(因为只有 total 这一个值字段) - Critical:
$A.total >= 100或者简写为$A >= 100(因为只有 total 这一个值字段)
2.2 做统计示例
查询语句示例:_time:1d and level:ERROR | stats by (level) count(*) total
得到的结果遵从 Prometheus 协议格式:
- Warning:
$A.total >= 50或者简写为$A >= 50(因为只有 total 这一个指标字段) - Critical:
$A.total >= 100或者简写为$A >= 100(因为只有 total 这一个指标字段)
2.3 恢复逻辑
3. 数据存在模式 (Data Exists)
这是最推荐的 VictoriaLogs 告警配置方式,因为日志场景更适合采用”有异常数据就告警”的模式。
| filter total:>10 用于筛选出 total 大于 10 的数据。只要有满足该条件的数据行返回,Monitors 就会触发告警;如果没有任何数据行满足该条件,则认为告警恢复。
4. 数据缺失模式 (No Data)
数据缺失模式用于监控”原本应该持续产生的日志不再出现”的情况,常见于:- 应用实例不再产生日志(可能是进程退出)
- 日志采集链路异常(如 agent 宕机或输出阻塞)
配置示例
查询语句(做统计模式):5. 获取告警时日志原文
告警查询条件通常使用 “做统计” 模式,这种模式没有返回日志原文。Monitors 支持在告警规则中配置“关联查询”,用于在告警触发时额外查询日志原文。
“关联查询”的结果可以渲染在 “备注描述” 中,示例: