夜莺-Nightingale
夜莺V7
项目介绍 功能概览
部署升级 部署升级
数据接入 数据接入
告警管理 告警管理
数据查看 数据查看
功能介绍 功能介绍
API FAQ
夜莺V6
项目介绍 架构介绍
快速开始 快速开始
黄埔营
安装部署 安装部署
升级
采集器 采集器
使用手册 使用手册
API API
数据库表结构 数据库表结构
FAQ FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵 第1章:天降奇兵
第2章:探索PromQL 第2章:探索PromQL
第3章:Prometheus告警处理 第3章:Prometheus告警处理
第4章:Exporter详解 第4章:Exporter详解
第5章:数据与可视化 第5章:数据与可视化
第6章:集群与高可用 第6章:集群与高可用
第7章:Prometheus服务发现 第7章:Prometheus服务发现
第8章:监控Kubernetes 第8章:监控Kubernetes
第9章:Prometheus Operator 第9章:Prometheus Operator
参考资料

PromQL 变量设置

使用场景

PromQL 变量设置主要应用于以下场景:

  1. 差异化监控配置

    • 对不同重要程度的机器设置不同的告警阈值
    • 针对特定设备组设置专门的监控规则
  2. 灵活的监控范围调整

    • 快速切换监控目标设备
    • 动态调整监控规则的覆盖范围
  3. 批量规则管理

    • 使用同一个规则模板,通过变量适配不同环境
    • 减少重复配置,提高规则维护效率

什么是变量?

在告警规则上下文中,变量是指那些可以在定义告警查询条件时被引用、但在实际触发告警时其值会被特定信息替换掉的占位符。使用变量可以让告警消息变得更加具体和个人化,同时也使得单个告警模板能够适应多种情况下的不同需求。

支持的类型

  1. 机器标识变量

在某些场景,如果只想对某些网络设备进行监控,这个时候,可以使用机器标识变量

机器标识变量

定义好变量名称之后,可以在 promql 查询条件中,使用 $ident 作为占位符,在查询之前,将变量替换为上面机器标识筛选到的机器

mem_available_percent{ident="$ident"}>80
  1. 网络设备变量

在某些场景,如果只想对某些网络设备进行监控,这个时候,可以使用网络设备变量

网络设备变量

定义好变量名称之后,可以在 promql 查询条件中,使用 $ip 作为占位符,在查询之前,将变量替换为上面筛选到的网络设备

snmp_icmp_packet_loss{agent_host="$ip"}>0
  1. 阈值变量

在某些场景,我们管理了一批机器,其中有几台机器比较特殊,告警阈值和其他机器不同,此时可以使用阈值变量,给特殊的机器配置不同的阈值,如下图所示

阈值变量

上面配置中,业务组为 Default Busi Group 的机器,阈值都是 80,如果在这个业务组的某两台机器,我们想设置特殊的阈值,可以在查询条件下面添加 变量筛选,机器标识选择这两台机器,阈值设置为 90,这个只有这两天机器的阈值是 90,其他机器是 80

  1. 枚举值变量

有些场景,对于某个标签,只想对某几个值进行监控,可以使用枚举值

枚举值变量

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat