如何在 grafana 仪表板中查询 influxdb 以创建模板变量
Posted
技术标签:
【中文标题】如何在 grafana 仪表板中查询 influxdb 以创建模板变量【英文标题】:How to query influxdb within grafana dashboard to create a template variable 【发布时间】:2018-10-25 04:16:33 【问题描述】:我正在使用 telegraf 和 influxdb 上的 system plugin 收集指标,我正在尝试创建一些 singlestats pannels 来测量具有准确“警告”的多个实例上的 平均负载 p>
为此,我需要根据在仪表和着色阈值选项中选择的$host
创建一个包含现有 CPU 数量的模板变量:
SHOW TAG VALUES WITH KEY=host
仪表板应该只返回来自所选主机的信息,因此,我需要动态配置仪表值max
和着色阈值,以便在负载匹配number of cores - 1
时颜色可以变为红色。
目前,我正在使用1,3
(即ncpus -1
)对max = 4
和着色阈值中的值进行硬编码。 (这仅适用于具有 4 个内核的实例,但不适用于具有少于或多于 4 个内核的实例)
我尝试创建一个名为 $ncpus
的变量是这样的:
> SELECT last("n_cpus") FROM "system" WHERE ("host" =~ /^my-host$/)
name: system
time last
---- ----
1526379330000000000 4
我想获得4
,但我获得的是time
,这是我目前使用的:
知道如何仅获取 CPU 的数量 n_cpus
以便可以将其存储在删除 time
的变量中,并且还可以在 singlestat
选项中使用它吗?
【问题讨论】:
负载值可以大于 CPU 的数量。特别是如果您拥有现代的快速 CPU 和旧的慢速存储。确实,该值没有上限。此外,使用 CPU 数量的负载规范化也不正确。它应该是在线 CPU 的数量。 【参考方案1】:你应该写一个类似下面的查询
SHOW TAG VALUES ON "DATABASE_NAME" FROM "elasticsearch_cluster_health" WITH KEY = "name"
【讨论】:
以上是关于如何在 grafana 仪表板中查询 influxdb 以创建模板变量的主要内容,如果未能解决你的问题,请参考以下文章
如何在 grafana 仪表板中查询 influxdb 以创建模板变量
如何在 Grafana 仪表板中将显示名称设置为自定义变量?
如何在 Grafana 中进行 Simple-JSON 变量模板查询?