Flashduty Docs
中文
EnglishRoadmapAPI官网控制台
中文
EnglishRoadmapAPI官网控制台
  1. 告警规则配置
  • 简介
  • On-call
    • 快速开始
      • 快速开始
      • 常见问题
      • 产品对比
    • 故障管理
      • 什么是故障
      • 检索与查看故障
      • 处理与更新故障
      • 升级与分派故障
      • 自定义字段
      • 自定义操作
      • 了解降噪过程
      • 了解历史故障
      • 了解新奇故障
      • 状态页
    • 配置On-call
      • 协作空间管理
      • 多种方式接入告警
      • 配置路由规则
      • 配置标签增强
      • 配置告警降噪
      • 配置分派策略
      • 故障静默与抑制
      • 配置值班规则
      • 配置通知模板
      • 配置服务日历
      • 配置个人信息
      • 配置过滤条件
      • 通知配置
      • 告警处理 pipeline
    • 高级功能
      • 引用变量
      • 动态分派
      • 分析数据
      • 作战室
    • 集成引导
      • 告警集成
        • 邮件 Email 集成指引
        • 夜莺 Flashcat 集成指引
        • Prometheus 集成指引
        • 标准告警事件集成指引
        • Grafana 集成指引
        • Zabbix 集成指引
        • Uptime Kuma 集成指引
        • 阿里云 ARMS 集成指引
        • 阿里云监控 CM 事件集成指引
        • 阿里云监控 CM 指标集成指引
        • 阿里云 SLS 集成指引
        • AWS CloudWatch 集成指引
        • Azure Monitor 集成指引
        • 百度云监控 BCM 集成指引
        • 华为云监控 CES 集成指引
        • 腾讯云 CLS 集成指引
        • 腾讯云监控 CM 集成指引
        • 腾讯云 Event Bridge 集成指引
        • Influxdata 集成指引
        • Open Falcon 集成指引
        • Pagerduty 集成指引
        • 蓝鲸智云集成指引
        • OceanBase 集成指引
        • Graylog 集成指引
        • Skywalking 集成指引
        • Sentry 集成指引
        • 监控宝告警集成指引
        • AWS EventBridge 集成指引
        • Dynatrace 集成指引
        • 华为云 LTS 集成指引
        • GoogleCloud 集成指引
        • Splunk 集成指引
        • AppDynamics 集成指引
        • SolarWinds 集成指引
        • 火山引擎CM 指标集成指引
        • 火山引擎CM 事件集成指引
        • 火山引擎日志服务 TLS 集成指引
        • Opmanager 告警事件
        • Meraki 告警事件
        • 天翼云告警集成
        • 观测云告警事件
        • zilliz 告警事件
        • 华为云 APM 告警事件
        • zstack 告警事件
        • Keep 告警集成指引
        • ElastAlert2 告警集成
        • Monit 告警集成指引
        • RUM 告警集成指引
      • 即时消息
        • 飞书 Lark 集成指引
        • 钉钉 Dingtalk 集成指引
        • 企业微信 Wecom 集成指引
        • Slack 集成指引
        • Microsoft Teams 集成指引
      • 单点登录
        • Authing 集成指引
        • Keycloak 集成指引
        • OpenLDAP 集成指引
      • Webhooks
        • 告警 webhook
        • 故障 webhook
        • 自定义操作
        • Jira 同步
        • ServiceNow 同步
        • ServiceDesk Plus 同步
      • 变更集成
        • 标准变更事件集成指引
      • 其他集成
        • Link 集成
    • 最佳实践
      • 基于标签增强实现动态分派
  • RUM
    • 快速开始
      • 入门介绍
      • 快速开始
      • 常见问题
    • 应用管理
      • 应用管理
      • SDK接入
      • 高级配置
      • 分析看板
    • 性能监控
      • 概览
      • 指标上报
      • 性能分析
      • 诊断优化
    • 查看器
      • 概览
      • 数据查询
    • 异常追踪
      • 概览
      • 异常上报
      • 异常聚合
      • Issue状态
      • 异常查看
      • 源码映射
      • Issue告警
    • 会话重放
      • 概览
      • SDK配置
      • 查看 RUM 会话重放记录
      • 隐私保护说明
    • 最佳实践
      • 分布式追踪
    • 其他
      • 术语说明
      • 数据收集
      • 数据安全
  • Moniors
    • 快速开始
      • 产品介绍
      • 快速开始
    • 告警规则配置
      • Prometheus
      • ElasticSearch
      • Loki
      • ClickHouse
      • MySQL
      • Oracle
      • PostgreSQL
      • Aliyun SLS
      • VictoriaLogs
    • 常见问题
      • 常见问题
  • 平台功能
    • 团队和成员
    • 了解权限设计
    • 配置单点登录
  • 服务协议
    • 服务条款
    • 用户协议/隐私政策
    • SLA承诺
    • 数据安全
中文
EnglishRoadmapAPI官网控制台
中文
EnglishRoadmapAPI官网控制台
  1. 告警规则配置

VictoriaLogs

本文档介绍如何在 Monitors 告警引擎中配置 VictoriaLogs 数据源的告警规则。Monitors 通过 HTTP 查询 VictoriaLogs,支持查询日志原文、做统计分析,并基于结果进行阈值判定和数据存在/缺失判断。

1. 前置说明#

1.1 原理说明#

Monitors 针对 VictoriaLogs 数据源的告警规则配置,分两个模式:
查原文。调用的是其 /select/logsql/query 接口。该接口返回的数据可以看作是一个二维表格,在阈值判定模式下需要用“标签字段”和“值字段”进行映射。
做统计。调用的是其 /select/logsql/stats_query 接口。该接口返回的数据遵从 Prometheus 协议格式,Monitors 自动识别哪些字段是标签,哪些字段是值,无需额外配置。
VictoriaLogs 数据源仍然支持三种告警模式,最推荐使用“数据存在模式”,最适合日志场景。

1.2 查原文#

在“查原文”模式下,相关配置项说明:
查询语句。举例:error | fields _time, _stream, _msg | sort by (_time) desc
返回条目限制。该配置项用于限制查询结果的最大返回行数,避免单次查询返回过多数据影响性能。在 Monitors 中,最大可以设置为 100。
时间范围。指定查询的时间窗口,例如“最近 5 分钟”。
标签字段。指定查询结果中哪些字段作为告警对象的标签,用于区分不同的告警实体。可以配置多个标签字段。如果留空,Monitors 会将除了值字段之外的所有字段都视为标签字段。
值字段。指定查询结果中哪个字段作为数值进行阈值判定。通常是一个数值类型的字段。在阈值判定模式下必填,在其他模式下选填。

1.3 做统计#

在“做统计”模式下,需要使用 stats 关键字。相关配置项说明:
查询语句。举例:_time:1d | stats by (level) count(*) total
没有其他参数。注意查询语句中要包含 _time 过滤条件,例如 _time:5m,以限定查询的时间范围。否则就是查全部数据,可能导致性能问题。

2. 阈值判定模式 (Threshold)#

查原文和做统计两种查询模式都可以使用。下面分别举例说明。

2.1 查原文示例#

查询语句示例:
level:ERROR | stats by (level) count(*) total
得到的结果类似:
leveltotal
ERROR150
值字段配置为 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 协议格式:
total{level="ERROR"} 150
不同阈值不同级别的配置示例:
Warning:$A.total >= 50 或者简写为 $A >= 50(因为只有 total 这一个指标字段)
Critical:$A.total >= 100 或者简写为 $A >= 100(因为只有 total 这一个指标字段)

2.3 恢复逻辑#

与 Prometheus / ElasticSearch 阈值模式类似,VictoriaLogs 阈值模式支持:
自动恢复:当最新查询结果中,某个对象的数值不再满足任何告警阈值时,自动生成恢复事件。
特定恢复条件:可配置恢复表达式,例如 $A.total < 10,只有在错误数跌落到 10 以下时才认为恢复,减少抖动。
恢复查询 (Recovery Query):可配置一条独立的 VictoriaLogs 查询语句用于恢复判定。
原理:告警触发后,Monitors 会周期性执行这条恢复查询语句。只要该查询能查到数据(即返回结果不为空),就认为故障已恢复。
变量支持:恢复查询语句中支持嵌入变量(格式为 ${label_name}),这些变量会被自动替换为告警事件中对应的标签值,使得恢复查询能够针对具体的告警对象进行检测。

3. 数据存在模式 (Data Exists)#

此模式将过滤逻辑全部写在 VictoriaLogs 查询中,Monitors 只负责判断“是否有数据返回”。适用于“只要有满足条件的数据就告警”的场景。这是最推荐的 VictoriaLogs 告警配置方式(因为阈值判定模式需要数据一直都能查到,只是数值发生变化,这在日志场景不太适用,日志场景更适合采用数据存在模式)。
查询语句示例(采用做统计查询模式):
_time:15m and level:ERROR | stats by (level) count(*) total | filter total:>10
其中 | filter total:>10 用于筛选出 total 大于 10 的数据,只要有满足该条件的数据行返回,Monitors 就会触发告警。如果某个阶段没有任何数据行满足该条件,则认为该告警恢复。

4. 数据缺失模式 (No Data)#

数据缺失模式用于监控“原本应该持续产生的日志不再出现”的情况,常见于:
应用实例不再产生日志(可能是进程退出)。
日志采集链路异常(如 agent 宕机或输出阻塞)。

4.1 配置示例#

查询语句(做统计模式):
_time:15m and level:INFO | stats by (level) count(*) total
场景:某个服务应该一直都有 INFO 日志输出,如果在最近 15 分钟内没有任何 INFO 日志产生,就触发告警。

5. 获取告警时日志原文#

告警查询条件通常使用 “做统计” 模式,这种模式没有返回日志原文。Monitors 支持在告警规则中配置“关联查询”,用于在告警触发时额外查询日志原文。
“关联查询”的结果可以渲染在 “备注描述” 中,示例:
{{- if eq $status "firing" }}
triggered value: {{ $value | printf "%.3f" }}
{{- range $x := $relates.R1}}
{{- range $k, $v := $x.Fields }}
{{- if eq $k "_time" }}
{{ $k }} : {{ timeFormat $v "2006-01-02T15:04:05Z07:00" 8 }}
{{- else }}
{{ $k }} : {{ $v }}
{{- end }}
{{- end }}
{{- end}}
{{- else}}
Recovered
{{- end}}

添加官方技术支持微信

在这里,获得使用上的任何帮助,快速上手FlashDuty

微信扫码交流
修改于 2026-01-09 02:59:08
上一页
Aliyun SLS
下一页
常见问题
Built with