我面临的挑战是向我们的中央指标收集基础设施提供一些指标,其中之一就是系统的总 CPU 使用率。我正在使用collectd来做到这一点。默认情况下,collectd 会输出 cpu-system、cpu-user 和 cpu-idle 指标(以及其他指标),但不会输出 cpu-usage。从我的角度来看,这大约是 100 - cpu-idle 或 cpu-system + cpu-user。
我已经在使用聚合插件,以便可以将核心指标聚合为单个指标。指标如下所示(仅一个示例):
57501a6f-cdff-4d03-bd5b-ef67e1ad67d6.hostname_domain_tld.aggregation-cpu-average.cpu-idle 99.799081 1442245610
现在我想计算 100 - cpu-idle 或 cpu-system + cpu-user 并将该值作为新指标(cpu-usage)返回。
我尝试使用以下配置来做到这一点:
<Plugin "aggregation">
<Aggregation>
Plugin "cpu"
Type "cpu"
GroupBy "Host"
GroupBy "TypeInstance"
CalculateAverage true
</Aggregation>
<Aggregation>
Plugin "aggregation-cpu-average"
Type "^/cpu-[system|user]$/"
GroupBy "Host"
SetPluginInstance "cpu-util"
CalculateSum true
</Aggregation>
</Plugin>
不幸的是,这个配置似乎不起作用,Type 参数似乎无法处理 Regex 表达式。
有人知道如何实现这一目标吗?谢谢!