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
  • 平台功能
    • 团队和成员
    • 了解权限设计
    • 配置单点登录
  • 服务协议
    • 服务条款
    • 用户协议/隐私政策
    • SLA承诺
    • 数据安全
中文
EnglishRoadmapAPI官网控制台
中文
EnglishRoadmapAPI官网控制台
  1. 告警规则配置

Loki

本文档详细介绍如何在 Monitors 告警引擎中配置 Loki 数据源的告警规则。Monitors 支持 Loki 的 LogQL 查询语法,能够对日志数据进行聚合分析并触发告警。

核心概念#

Loki 的查询语言 LogQL 分为两类:
1.
日志查询:返回日志行内容(Stream)。
2.
指标查询:对日志进行计数或聚合,返回数值(Vector)。
Monitors 告警引擎主要使用"指标查询"。请务必使用 count_over_time、rate、sum 等函数将日志转换为数值序列,以便进行阈值判定。

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

此模式适用于需要对日志聚合值进行多级阈值判定(如 Info/Warning/Critical)的场景。

配置方式#

查询语句:编写返回数值向量的 LogQL。
示例:统计最近 5 分钟内,mysql 任务中包含 error 关键字的日志条数。
count_over_time({job="mysql"} |= "error" [5m])
阈值条件:
Critical:$A > 50(5 分钟内错误日志超过 50 条)
Warning:$A > 10(5 分钟内错误日志超过 10 条)

工作原理#

引擎执行 LogQL 查询,获取带有标签的时间序列数据(Vector)。引擎遍历每个序列,提取数值与配置的阈值表达式进行比对。

恢复逻辑#

自动恢复:当查询结果数值回落到阈值以下时,自动恢复。
特定恢复条件:可配置如 $A < 5,避免在阈值附近震荡。
恢复查询:
支持配置独立的 LogQL 用于恢复判定。
支持 ${label_name} 变量替换。
示例:告警查错误日志,恢复查特定恢复日志 count_over_time({job="mysql"} |= "recovered" [5m])。

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

此模式适用于习惯在 LogQL 中直接写过滤条件,或者只关心"是否有异常数据"的场景。

配置方式#

查询语句:编写包含比较操作符的 LogQL,仅返回满足条件的数据。
示例:直接筛选出错误率超过 5% 的服务。
rate({job="ingress"} |= "500" [1m]) / rate({job="ingress"} [1m]) * 100 > 5
判定规则:只要 LogQL 查询返回了数据,即触发告警。

优缺点分析#

优点:计算逻辑下推至 Loki 服务端,减少数据传输。
缺点:无法区分告警级别,只能触发单一级别的告警。

恢复逻辑#

数据消失即恢复:当 LogQL 查询结果为空(即不再满足 > 5 的条件)时,判定恢复。
恢复查询:支持配置额外的查询语句用于辅助判断恢复状态。

3. 数据缺失模式#

此模式用于监控日志上报链路是否中断,或者预期应该持续产生的日志是否停止了。

配置方式#

查询语句:编写预期应该一直有数据的查询。
示例:统计所有主机的日志上报速率。
rate({job="node-logs"} [1m])
判定规则:如果某个 Series(由标签唯一标识,如 instance="host-1")在之前的周期中存在,但在当前及连续 N 个周期中查不到数据,则触发"数据缺失"告警。

典型应用#

监控 Promtail/Fluentd 等采集 Agent 是否停止工作。
监控关键业务日志(如订单创建日志)是否异常中断。

4. 最佳实践与注意事项#

避免查询原始日志#

请勿 在告警规则中使用仅返回日志流的 LogQL(如 {job="mysql"} |= "error")。
原因:告警引擎需要数值来进行计算和判定。原始日志流无法直接用于阈值比较。
正确做法:必须包裹聚合函数,如 count_over_time(...)。

性能优化#

时间范围:LogQL 中的时间范围(如 [5m])应适中。过大的范围会导致查询慢,过小的范围可能导致数据波动大。
标签过滤:尽量在 LogQL 的 Stream Selector 部分(大括号 {...} 内)使用精确的标签过滤,减少扫描的数据量。

添加官方技术支持微信

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

微信扫码交流
修改于 2025-12-31 06:07:26
上一页
ElasticSearch
下一页
ClickHouse
Built with