如何过滤具有大于和小于运算符的grafana仪表板?

Posted

技术标签:

【中文标题】如何过滤具有大于和小于运算符的grafana仪表板?【英文标题】:How to filter grafana dashboard with greater than and less than operators? 【发布时间】:2019-11-01 01:23:36 【问题描述】:

我正在做一个使用 Grafana 和 InfluxdB 的项目。我能够获得 grafana 所需的所有值。

在我的回复中,我有一个值小于和大于零的文件。我想添加一个过滤器,用户可以在其中选择操作类型。

关于如何破解这个的任何建议。

到目前为止,我已经尝试过..

我创建了一个变量(常量值 0,我尝试在仪表板查询中使用小于或大于运算符。一旦我选择我的变量,运算符就会更改为“等于”或“不等于”到'。

通过直接在查询中提供值可以正常工作。

使用我创建的变量作为常量反映查询

SELECT "servicename" AS "Service Name", "topic" AS "Topic", "type" AS "Type", "count" AS "Count" FROM "KafkaLag" WHERE ("servicename" =~ /^$servicename$/ AND "topic" =~ /^$topic$/ AND "type" =~ /^$type$/ AND "count" =~ /^$Greater_than_zero$/) AND $timeFilter ORDER BY time DESC

查询直接使用值反映,不带任何变量

SELECT "servicename" AS "Service Name", "topic" AS "Topic", "type" AS "Type", "count" AS "Count" FROM "KafkaLag" WHERE ("servicename" =~ /^$servicename$/ AND "topic" =~ /^$topic$/ AND "type" =~ /^$type$/ AND "count" > 0) AND $timeFilter ORDER BY time DESC

从下表中,我需要一种在 field_2 上放置动态过滤器的方法,在需要时我可以获得大于零的值。

time | field_1 | field_2 
  t1 |   v1    |    0 
  t1 |   v2    |    2 
  t2 |   v3    |    0 
  t2 |   v4    |    12

【问题讨论】:

【参考方案1】:
select * from <table/measurement name> where field_2 > 0;

此查询将根据您的需要过滤数据。

【讨论】:

Steephen,这将从查询方面进行限制。我正在尝试进行更动态的查询,将来我可以增加我的过滤器列表,例如 (0,100,150,200)。【参考方案2】:

这可能是迟到的答案,但这是我之前的做法。创建一个变量count,输入“custom”。然后,在查询中使用该变量,如下所示-

SELECT "service_name" FROM service  WHERE ("count" >=$count) AND $timeFilter

【讨论】:

以上是关于如何过滤具有大于和小于运算符的grafana仪表板?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 grafana 中通过标签添加过滤器?

Grafana - 如何获取仪表板中使用的指标?

如何在 grafana 仪表板中查询 influxdb 以创建模板变量

在grafana中绘制来自clickhouse的过滤结果不起作用

如何在 Grafana 仪表板中将显示名称设置为自定义变量?

如何在显示仪表板时在 Grafana 门户上启用 url 加密