我正在使用 Grafana,我的 URL 字符串如下:
http://servername:3000/dashboard/db/dashboard?refresh=10s&node=hanoi
Run Code Online (Sandbox Code Playgroud)
我如何在我的 Grafana 查询字符串中使用节点的值,即“hanoi”。
SELECT count("value") FROM "autogen"."sensor" WHERE "system_id" = 'hanoi' AND $timeFilter GROUP BY time(1m) fill(null)
Run Code Online (Sandbox Code Playgroud)
上面“hanoi”的“硬编码”查询工作正常,但我想在查询字符串的 where 子句中使用作为请求参数传递的节点值。
我可以看到刷新值(即 10 秒)已被 Grafana 仪表板传递并成功使用。如何使用/选择查询字符串中的节点值?
我有一些带有图表的 grafana 仪表板,有时会显示“无数据点”。我知道有数据,因为有时我会在同一页面上看到图表和其他图表显示来自相同测量的其他结果。另外,我可以直接在influxdb中查询数据。
有趣的是,似乎较长的时间段比较短的时间段更有可能导致这种失败(即,30 天有时会失败,1 天很少会失败)。这是每隔几秒钟的数据,如系统统计信息。
我怀疑(数据不足)influxdb 有时响应时间太长,grafana 超时,或者由于相对于可用资源的数据过多,influxdb 彻底失败查询。OTOH,直接查询 influxdb 工作正常(见下文),尽管我一次只抛出一个查询。如果我在仪表板更新时查询,则查询需要更长的时间,就像我在等待工作线程来处理我的查询一样。
但在我开始发展硬件之前,我想拥有的不仅仅是一种预感。我没有那么多数据。然而 influx 和 grafana 日志并没有向我展示任何非常有趣的东西(例如 OOM、超时或查询失败)。
有什么建议?
顺便说一句,grafana 中的示例查询是这样的:
SELECT percentile("usage_system", 95) FROM "cpu"
WHERE "host" =~ /^$host$/ AND $timeFilter
GROUP BY time($__interval), "host"
Run Code Online (Sandbox Code Playgroud)
如果我直接查询 influxdb,查询结果几乎会立即返回,而在 grafana 中,我会等待很长时间并显示微调器。(如果我在更新仪表板的同时进行查询,则查询需要一些时间,这与等待工作线程处理我的查询一致。)
select percentile(usage_system, 95) from cpu
WHERE host = 'seine3'
AND time >= 1519216559000000000 AND time <= 1521808559000000000
GROUP BY time(1h), host
Run Code Online (Sandbox Code Playgroud)
或者
select percentile(usage_system, 95) from cpu
WHERE host = 'seine3'
AND time >= '2018-02-23T00:00:00Z' AND time <= …
Run Code Online (Sandbox Code Playgroud) 是否可以在 MySQL 查询中使用 Grafana 的用户 ID 或用户变量?
例如 :
SELECT id,name FROM table WHERE user_id=$Grafana.User.id
Run Code Online (Sandbox Code Playgroud)
或者是否有另一种方法可以将自定义变量分配给 Grafana 中的特定用户?
我正在开发一个使用 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
Run Code Online (Sandbox Code Playgroud)
查询直接使用值反映,没有任何变量
SELECT "servicename" AS "Service Name", "topic" AS "Topic", "type" AS "Type", "count" AS "Count" FROM "KafkaLag" WHERE ("servicename" =~ /^$servicename$/ AND "topic" =~ /^$topic$/ AND "type" =~ …
Run Code Online (Sandbox Code Playgroud) 我有一个 grafana 仪表板,我在其中推送时间序列以用于显示目的。问题是我需要根据数据范围进行放大和缩小。有没有什么方法可以自动执行此操作
我目前正在设置 grafana 警报。如何自定义消息模板,以便我的警报电子邮件显示服务器的 IP 地址、服务器的状态和节点/实例?
谢谢。
我正在尝试在 grafana 中制作一个点击打开的详细仪表板。我通过向仪表板传递一个变量来实现它,该仪表板依赖于单击的设施。当仪表板打开时,它需要使用传递的 url 变量 inst 显示值。我似乎无法让它工作。这是我的仪表板链接的示例。
我如何使用变量 inst?
我们搭建了一个Grafana云+InfluxDB 2.0(Flux语言)云实例。作为其中的一部分,我们创建了一个带有“设备 ID”的自定义变量列表,名为devices
.
在面板中,我们希望显示参数数据,用户可以从列表中选择一个或多个设备 IDdevices
以将其显示在面板中。这适用于单个设备 ID 选择,但不适用于多个设备。
应如何修改查询以根据 Grafana 下拉列表中的多选条目显示来自可变数量设备的数据?
from(bucket: "test-bucket-new")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "${devices}")
|> filter(fn: (r) => r["_field"] == "Speed")
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|> yield(name: "mean")
Run Code Online (Sandbox Code Playgroud) 我正在使用 Grafana mysql 数据连接器并尝试编写选择查询。选择查询抛出错误 -"Found no column named time or time_sec"
Here is the query
SELECT main_id, ipaddress FROM table1;
Run Code Online (Sandbox Code Playgroud) 格拉法纳版本7.3.3
。我在 之上创建了一个自定义变量JSON Datasource
。下面的有效负载我用来填充变量选项$Project
[{"text": "Proj1", "value": "1"}, {"text": "Proj2", "value": "2"}]
。
现在,对于模板查询,我想使用text
选定的 $Project dropdown 。例如
fields.Project:$Project.__text
这样的事情。但我只得到value
所选变量的 ,$Project
而不是text
.
有没有办法得到它。
我正在尝试使用label_values函数在 Grafana 中设置模板。该文档指定了查询 label_values 的可能性,例如:
label_values(metric, label)
Run Code Online (Sandbox Code Playgroud)
在我的用例中,有两个主要的度量标准组,其名称类似于:
他们每个人都有一个名为'uid'的标签。我希望使用上述查询仅过滤一个仪表板上的“app1”和另一个仪表板上的“app2”的用户 ID。
我试过了
label_values(app1_current_sensor1, uid)
Run Code Online (Sandbox Code Playgroud)
但是,如果由于某种原因 sensor1 有一段时间没有发送数据,即使 sensor2 正在发送数据,我也不会在仪表板上看到更多用户 ID。
是否可以使用正则表达式作为度量变量的输入?这样的事情对我有用:
label_values(metric=~(app1_[^\s]+), uid)
Run Code Online (Sandbox Code Playgroud)
但我不确定这在 Grafana 中是否可行。