跳至主内容
博客

Flashduty Monitors 支持 Loki 和 VictoriaLogs

Flashduty Monitors 支持 Grafana Loki 和 VictoriaLogs 数据源,保留原生查询语法,并提供三种告警模式、独立恢复逻辑和告警中的日志原文样例。

巴辉特

Flashduty Monitors 支持 Loki 和 VictoriaLogs

使用 Grafana LokiVictoriaLogs 的团队,通常已经能把日志查出来。更难的是把日志变成告警:该叫醒谁、通知里带哪条日志、恢复条件怎么判断,这些都要清楚。

Flashduty Monitors 现已支持 Loki 和 VictoriaLogs 数据源。 原有查询语法不用换,Flashduty 负责把告警、恢复、通知和值班响应接起来。

为什么选择 Flashduty Monitors?

保留原生查询语法

Flashduty Monitors 直接接受 LogQL 和 VictoriaLogs 查询语句:

Loki LogQL 示例:

count_over_time({job="mysql"} |= "error" [5m])

VictoriaLogs 示例:

_time:15m and level:ERROR | stats by (level) count(*) total | filter total:>10

不用再学一套 Flashduty 专用 DSL。

三种告警模式,覆盖所有场景

我们为日志告警设计了三种模式,满足不同业务需求:

模式适用场景典型案例
阈值判定需要多级告警(Info/Warning/Critical)5分钟内错误日志超过 50 条触发 Critical
数据存在只要有异常数据就告警出现任意 500 错误立即告警
数据缺失监控日志链路健康采集 Agent 停止上报时告警

推荐:日志告警可以先从「数据存在模式」开始。过滤逻辑写在 Loki 或 VictoriaLogs 里,只要返回命中数据,Flashduty 就触发告警。

灵活的告警恢复机制

Flashduty Monitors 提供三重恢复策略:

  1. 自动恢复:数值回落阈值以下自动恢复
  2. 恢复阈值:设置独立恢复条件(如 $A < 5),避免在阈值附近震荡
  3. 恢复查询:配置独立查询语句判断恢复,支持 ${label_name} 变量替换,比如交换机网卡状态发生变化就适合采用此种方式配置告警、恢复语句。
# 告警查错误日志
count_over_time({job="mysql"} |= "error" [5m])

# 恢复查恢复标记日志
count_over_time({job="mysql"} |= "recovered" [5m])

告警携带日志原文,快速定位问题

告警触发时,你一定想知道:到底是哪条日志触发的?

Flashduty Monitors 支持「关联查询」功能,在告警消息中直接嵌入日志原文样例:

error log count: 23.000
Loki log time: 2026-01-09T10:23:45+08:00
Loki Log line: [ERROR] Connection refused to database server 10.0.1.5:3306

值班人收到的不是一个空泛的“日志异常”,而是带着第一条上下文的告警。

做法是配置关联查询,再把查询结果渲染到规则备注模板里。具体配置见:

快速上手示例

场景一:监控应用错误日志(Loki)

需求:当 5 分钟内错误日志超过 10 条时触发 Warning,超过 50 条触发 Critical

count_over_time({job="myapp"} |= "error" [5m])

配置阈值:

  • Warning: $A > 10
  • Critical: $A > 50

场景二:检测 500 错误(VictoriaLogs)

需求:只要出现 HTTP 500 错误就立即告警

_time:5m and status:500 | stats by (service) count(*) total | filter total:>0

选择「数据存在模式」,有数据返回即告警。

场景三:监控日志采集链路(通用)

需求:某主机超过 15 分钟没有日志上报,可能是采集器宕机

# Loki
rate({job="node-logs"} [1m])
# VictoriaLogs  
_time:15m | stats by (host) count(*) total

选择「数据缺失模式」,持续无数据时触发告警。

Flashduty 放在哪一层

对 Loki 和 VictoriaLogs 来说,Flashduty 不替代日志引擎,而是补上后面的响应层:原生 LogQL / VictoriaLogs 查询、私有网络内的边缘部署、恢复逻辑、通知里的原始日志样本、聚合与抑制、飞书/钉钉/企业微信/Slack/PagerDuty 等 20+ 通知渠道,以及 7x24 On-call 排班。

试一条规则

日志能查出来还不够,关键是异常出现时能不能及时到人。

Flashduty Monitors 让 Loki 和 VictoriaLogs 继续做日志引擎,Flashduty 接住后面的告警和响应链路。

免费注册试用 Flashduty,先用一条 Loki 或 VictoriaLogs 规则验证。


Flashduty 团队 | 2026年1月

相关阅读