【发布时间】: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 的数量。
标签: load influxdb telegraf grafana-templating