prometheus - 我可以将查询/过滤器应用于仪表板级别的所有面板查询吗?
问题描述
我有一个 Prometheus 服务器,它从多个软件安装中收集指标。每次安装都将标签“客户”和“系统”应用于 Prometheus 重新标记阶段的所有指标,并且我有一个使用模板变量的 Grafana 仪表板$Customer
,$System
因此我的仪表板显示单个客户系统的图表。
例如,我可以选择“Google/Test”或“Microsoft/Live”组合。
这意味着我所有的查询都是my_counter_total{Customer='$Customer', System='$System'}
相当累人的。无论如何都可以{Customer='$Customer', System='$System'}
在仪表板级别应用于所有查询?Grafana 文档提示它可以完成,但没有说明如何完成,而且我找不到一个示例。
编辑:如前所述,“临时查询”似乎能够做到这一点,但整个文档是:
Ad hoc 过滤器是可用的最复杂和最灵活的变量选项之一。此变量允许您构建仪表板范围的即席查询,而不是常规的变量选项列表。您以这种方式应用的过滤器将应用于仪表板上的所有面板。
所以他们告诉我这很复杂,让我挂了 :)
解决方案
您可以使用“Ad hoc filter”变量来做到这一点。
转到仪表板设置>变量>新建
填写类似以下示例的选项,然后单击添加
- 在此示例中,名为“Disk”的 Ad hoc 过滤器变量将显示在您的仪表板中:
- 您可以选择要在此过滤器中使用多少个标签/值对表达式。在下面的示例中,它被选择为“mountpoint=/home/cds/tool/bitbucket”,因此神奇地只显示了具有此安装点的磁盘:
注意:“mountpoint=/home/cds/tool/bitbucket”将自动用于仪表板中所有窗格的所有查询表达式。
在此处的 Grafana 文档中查看更多详细信息。
推荐阅读
- ansible - 如何通过 Ansible 使用模块而不是 shell 查看单个服务状态?
- flutter - Flutter 表单的 ErrorWidget
- r - 我应该使用什么应用来优化这个带有 if 语句的嵌套 for 循环?
- python - 查找元组中列表的数量
- ruby-on-rails - Rails 不断拒绝字符串参数作为枚举
- angular - 角度传递值到 index.html
- android - 使用除 location.getspeed() 以外的 android 查找移动车辆速度的准确方法
- html - 输入数字将最大值设置为十进制
- python - Python中的16位艺术和
- c - 我不明白这个 C 代码的行为(与 2 个位域结构、一个字和一个字节数组的联合)