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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
InfluxData 发布 InfluxDB 3 Core 和 InfluxDB 3 Enterprise
通讯员
179次阅读
2025-04-17 11:24:35
OB 企业版单机版探秘——安装部署
数据库技术闲谈
79次阅读
2025-04-10 11:53:00
实现一个 MySQL 配置对比脚本需要考虑哪些细节?
爱可生开源社区
45次阅读
2025-04-23 11:19:35
在 PowerShell 中更改环境变量
老柴杂货铺
37次阅读
2025-04-12 02:07:58
如何使用 Grafana 连接 Easyearch
极限实验室
31次阅读
2025-04-12 23:30:19
可观测性方案怎么选?SelectDB vs Elasticsearch vs ClickHouse
SelectDB
28次阅读
2025-05-09 16:48:09
一键看懂 SQL 执行过程:Dashboard 可视化 EXPLAIN 上线
GreptimeDB
22次阅读
2025-04-23 14:34:01
《解码闭包:前端开发者的进阶必修课》
程序员阿伟
21次阅读
2025-04-18 22:00:26
预警!Kafka监控告诉你未曾注意到的问题
Linux运维智行录
17次阅读
2025-04-17 18:22:54
《解锁SCSS算术运算:构建灵动样式的奥秘》
程序员阿伟
11次阅读
2025-05-04 23:02:34