当变量过滤器设置为“全部”时,Grafana 不显示任何数据点

Posted

技术标签:

【中文标题】当变量过滤器设置为“全部”时,Grafana 不显示任何数据点【英文标题】:Grafana showing no data points when variable filter set to "All" 【发布时间】:2019-06-14 22:20:18 【问题描述】:

我正在使用带有 Prometheus 的 grafana v5.4.0 作为数据源来监控我的应用程序的 API 调用。

我创建了“Request Count”(spring-boot 图)并配置了我的 2 个应用程序来监控 API。

Graph Setting --> variable --> type = Custom --> 添加 2 个应用程序名称,我还选中了“Include all options”复选框

但是当我在图表上选择“全部”时,我没有得到任何数据点

我的指标查询如下,

激怒(http_server_requests_seconds_countapplication="$application"[5m])

但是当我从变量过滤器中选择单个应用程序名称时,只有当我选择“全部”时才会显示正确的数据,消息是“无数据点”

谁能提出一些解决方案?

谢谢

【问题讨论】:

解决了,我改了查询 "irate(http_server_requests_seconds_countapplication="~[[application]]"[5m])" 您应该将您的解决方案添加为您问题的答案,以便对其进行投票:) 【参考方案1】:

原来我遇到了类似的问题,我发现使用变量会使 grafana 在标签字符串中添加额外的转义字符。

在检查 PromSQL 查询时,我发现额外的 %5C 被添加到特殊字符中。

正如@Devendra 在他的评论中提到的那样,有一种方法可以在不修改变量的情况下在查询中忽略它们:

你需要更换

your_metric_namelabelname="$variable_name"

通过

your_metric_namelabelname~="$variable_name"

波浪号将确保 PromSQL 查询忽略转义字符。

【讨论】:

以上是关于当变量过滤器设置为“全部”时,Grafana 不显示任何数据点的主要内容,如果未能解决你的问题,请参考以下文章

Grafana/Loki:如何在 LogQL 中使用多选模板变量?

使用 p 值逐步回归以删除 p 值不显着的变量

Grafana仪表板变量:当指标等于一个值时如何提取标签值

Grafana:选择变量时设置仪表板时间范围

为 Grafana 仪表板变量定义默认值

Prometheus __name__ 过滤器指标的 Grafana 变量和每个图表