夜莺-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 變量設置主要應用於以下場景:

  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