因此,我有一个 Grafana 仪表板来显示主机内运行的各种服务的日志。
现在,我对不同的服务有不同的行,因为指标和标题是特定于服务的 - 例如对于 Apache 服务,我们有基于 HTTP 状态代码的日志指标,对于 Oracle 数据库服务,我们有 ORA-* 分布、连接分区/趋势等
现在,我的问题很简单,Grafana 仪表板支持对行和单个指标进行重复。如何使用此功能根据所选变量值显示/隐藏我的行。
这里说它永远不会被实现(https://community.grafana.com/t/hiding-a-row-panel/1788/3),
这个问题(基于选定的模板变量隐藏grafana面板)确实问了同样的问题,但在接受的答案中只提供了链接,这几乎没有什么帮助。
我想要一个Grafana 变量,其中包含具有给定前缀的所有 Prometheus 指标名称。我想这样做,这样我就可以通过下拉菜单控制显示哪些图表。我希望能够显示与前缀匹配的所有指标,而不必为每个指标创建查询。在 Prometheus 数据源下的 Grafana 文档中我看到:
metrics(metric) 返回与指定指标正则表达式匹配的指标列表。
我尝试使用此函数在 Grafana 中创建变量,metrics但它不起作用。请参阅我的变量设置的屏幕截图:
如您所见,“值预览”仅显示“无”
我试图根据仪表板变量值在图形面板上显示/隐藏查询。
\n动机。
\n在同一个图形面板(用于显示多个主机)上,我有两个查询:
\nrate(ClickHouseProfileEvents_Query{instance=~"$instance"}[$__rate_interval])\nRun Code Online (Sandbox Code Playgroud)\n和:
\nmax_over_time( (irate(ClickHouseProfileEvents_Query{instance=~"$instance"}[2m]))[$__rate_interval:15s] )\nRun Code Online (Sandbox Code Playgroud)\n哪里ClickHouseProfileEvents_Query有柜台。
第一个是通常的汇率,更适合显示趋势,另一个是稍微复杂一点但显示所有选择。当然,我想为图表制作一个面板,但也有一些开关,例如趋势/选择来分析两者。我引入了带有自定义值的 grafana 仪表板变量,但我无法理解如何使用它来隐藏或显示特定查询。
\nor另外,我尝试使用诸如or 之类的东西进行单个查询,unless但没有成功。
环境:Grafana v7.5.2、Prometheus v2.26.0
\n更新:
\n感谢Marcelo \xc3\x81vila de Oliveira的回答。我当前的解决方案有点不同,但基于他的想法。
\n首先,我添加Custom带有值的类型变量1和null.
其次,我在查询中使用乘法而不是除法。
\n\n最后,例如,当我关闭趋势显示时,我也没有在图表和图例中看到它们。
\n\nPrometheusInstance我有多个 Prometheus 实例,并且有一个值为 A、B、C 的自定义多值变量。
我有 3 个不同的数据源,其 URL 如下所示:
http://A.foo.com:9090 etc。
我希望数据源根据变量的值进行更改,并且我的 19 个面板可以显示相应 Prometheus 实例的指标。
如何实现这一目标?在数据源 URL 或名称中使用$PrometheusInstance不起作用。
Grafana 版本 9.1.6
我需要能够在表名称中使用变量 - 我基本上具有用于不同类型数据的同一组表,因此我希望只有一个仪表板并在所有类型之间进行交换,而不是总是必须设置多个相同的表仪表板。
我的查询是这样的:
select * from table_$variable_name;
我的可能变量列表是猫、狗、鸟之类的东西
我似乎可以做到这一点,如果我只输入上面所示的变量,我会收到以下错误
Error 1146: Table 'table_$variable_name' doesn't exist
如果我将其括在大括号中,则会收到此错误。
Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{bird}' at line 1
(即这次所选变量实际上是可见的)
我不确定问题是否在于表名称中包含下划线,我也尝试在变量周围添加下划线进行检查,但没有成功。
我尝试的另一件事是逐渐添加到表名称中,因此例如
select * from table_$variable;
仍然返回错误,但我可以看到表名称开始正确形成
Error 1146: Table 'table_bird_' doesn't exist
但是,一旦我添加另一个下划线,该变量就不会被拾取 abymore ```错误 1146:表 'table_$variable_' 不存在``
我确信我在查询语法中缺少了一些愚蠢的东西 - 有人有任何建议吗?
使用此https://grafana.com/docs/grafana/latest/variables/templates-and-variables/作为参考
我\xe2\x80\x99m 试图弄清楚如何格式化我的键/值对仪表板变量。I\xe2\x80\x99ve 有一个变量,其定义为:
\nsensor_list = 4431,8298,11041,13781\nsensor_kv = 4431 : Storage,8298 : Stairs,11041 : Closet,13781 : Attic\nRun Code Online (Sandbox Code Playgroud)\n但是,我似乎无法有效地将它用于 InfluxDB 的查询和仪表板格式化。例如,我有一个面板,其查询如下:
\nSELECT last("battery_ok") FROM "autogen"."Acurite-Tower" WHERE ("id" =~ /^$sensor_list$/) AND $timeFilter GROUP BY time($__interval) fill(null)\nRun Code Online (Sandbox Code Playgroud)\n这可行,但如果我用 KV 替换它,我将无法获取该值:
\nSELECT last("battery_ok") FROM "autogen"."Acurite-Tower" WHERE ("id" =~ /^$sensor_kv$/) AND $timeFilter GROUP BY time($__interval) fill(null)\nRun Code Online (Sandbox Code Playgroud)\n^ 返回时没有数据。
\n我也不知道如何访问重复面板的模板值中的 KV 对的值。${sensor_kv:text}返回单词“All”,但${sensor_kv:value}实际上会导致直接错误:“错误:找不到变量格式值”
我的目标有两个:
\n我在想要跨多个仪表板使用的变量中使用自定义公式。有没有办法在grafana中创建全局变量?
我使用 grafana 来绘制时间序列数据。在时间序列图中,我想添加一条来自监控级别的恒定线。该级别的值是动态的(来自 postgres 数据库),时间序列来自 ifluxdb 数据源。
监控级别没有时间戳。结果应该是这样的:
我已经搜索了很长一段时间如何做到这一点,但没有找到很好的解释。
我有一个 grafana 仪表板。我需要发送具有特定值的警报消息。
我需要一条警报消息,其中包含查询返回的值(文本、标签)。
警报配置:
正如我们所看到的,我尝试了不同的方法来获取值,但不起作用。
我收到此消息:$ 的每分钟请求数量大于 $。
但我想要这个:[TAG NAME] 每分钟的请求数量大于 [COUNT]。
我正在 Grafana 上开发基于 Loki 的仪表板。我有一个用于在 Loki 跟踪日志中搜索文本的面板,当前查询如下:
{job="abc-service"}
|~ "searchTrace"
|json
|line_format "{if .trace_message}} Message: \t{{.trace_message}} {{end}}"
Run Code Online (Sandbox Code Playgroud)
其中searchTrace是“文本框”类型的变量,供用户输入搜索文本。
我想包含另一个变量skipTestLog来跳过某些测试 cron 任务创建的日志。skipTestLog是两个选项的自定义变量:Yes,No.
假设测试 cron 任务创建的日志包含解析器后面CronTest字段中的文本,是否有任何方法可以根据所选的值将其过滤掉?trace_messagejsonskipTestLog
grafana ×10
grafana-variable ×10
prometheus ×2
go ×1
grafana-loki ×1
influxdb ×1
logql ×1
promql ×1