GUIDE
导读
当用户只想关注其中某些主机时,基于当前我们已经学习到的知识只有两种方式,要么每次手动修改Panel中的PromQL表达式,要么直接为这些主机创建单独的Panel。但是无论如何,这些硬编码方式都会直接导致Dashboard配置的频繁修改。在这一小节中我们将学习使用Dashboard变量的方式解决以上问题。
1 - (avg(irate(node_cpu{mode='idle'}[5m])) without (cpu))
复制
但是当用户只想关注其中某些主机时,这些硬编码方式都会直接导致Dashboard配置的频繁修改。所以今天咱就来学习模板化Dashboard,可以解决配置频繁修改问题。具体操作步骤有以下点:
01
变量
例如,这里定义了一个名为node的变量,用户可以通过在PromQL表达式或者Panel的标题中通过以下形式使用该变量:
1 - (avg(irate(node_cpu{mode='idle', instance=~"$node"}[5m])) without (cpu))
复制
02
变量定义
03
使用变量过滤时间序列
node_load1{instance="foo:9100",job="node"}
node_load1{instance="localhost:9100",job="node"}
复制
foo:9100
localhost:9100
复制
例如,当需要监控Prometheus所有采集任务的状态时,可以使用如下方式,获取当前所有采集任务的名称:
label_values(up, job)
复制
# 将10.10.15.xxx段的ip地址替换为10.20.15.xxx段 注:替换端口同理
query_result(label_replace(kube_pod_info{pod=~"$pod"}, "node", "10.20.15.$1",
"node", "10.10.15.(.*)"))
# 通过正则从返回结果中匹配出所需要的ip地址
regex:/.*node="(.*?)".*/
复制
04
使用变量动态创建Panel和Row
05
使用变量获取当前所有可选任务
label_values(up, job)
复制
往/期/回/顾
-End-
「有用就扩散」
「有用就点在看」
更多课程咨询或免费资料领取,扫下方二维码即可!
文章转载自西安川石,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
PLSQL编程
张静懿
24次阅读
2025-03-16 21:30:46
ob中show parameters和show variables异同
手机用户3302
24次阅读
2025-02-28 11:30:43
PostgreSQL PL/pgSQL 原理简析2
PolarDB
17次阅读
2025-03-10 10:30:25
GreptimeDB 桌面级 Dashboard 正式上线:一键启动|秒级接入|高效监控
GreptimeDB
9次阅读
2025-03-18 10:49:29
PLSQL编程
芃芃
6次阅读
2025-03-29 21:17:38
Prometheus 混合云监控实战:巧用 Relabel 规则,统一管理多环境监控标签
Linux运维智行录
5次阅读
2025-03-04 18:28:15