1. 前置说明
查询模式
- 查原文
- 做统计
调用
/select/logsql/query 接口,返回二维表格数据。2. 阈值判定模式 (Threshold)
查原文和做统计两种查询模式都可以使用。下面分别举例说明。2.1 查原文示例
查询语句示例:
将标签字段配置为
level,值字段配置为 total。如果结果还包含日志样例等其他列,这些列会作为附加信息随告警携带。不同级别的阈值配置示例:
- 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 就会触发告警;如果没有任何数据行满足该条件,则认为告警恢复。
数据存在模式同样支持配置恢复方式:默认「查询检测查不到数据即恢复」(即上述行为),也可以配置恢复查询,或选择「手工关闭」(告警保持活动,直到用户手工关闭)。
使用查原文模式时,建议选择 service、host 等稳定字段作为标签字段,把 _time、_msg 和其他日志上下文留作附加信息。数据存在模式不要求配置值字段。
详细规则请参见查询结果字段映射。
4. 数据缺失模式 (No Data)
数据缺失模式用于监控”原本应该持续产生的日志不再出现”的情况,常见于:- 应用实例不再产生日志(可能是进程退出)
- 日志采集链路异常(如 agent 宕机或输出阻塞)
配置示例
查询语句(做统计模式):恢复逻辑
无数据告警支持配置告警结束方式,决定告警如何结束:5. 获取告警时日志原文
告警查询条件通常使用 “做统计” 模式,这种模式没有返回日志原文。Monitors 支持在告警规则中配置“关联查询”,用于在告警触发时额外查询日志原文。
“关联查询”的结果可以渲染在 “备注描述” 中,示例: