为什么mrtg显示100%的CPU负载

时间:2016-07-22 06:24:02

标签: usage-statistics mrtg

我已配置MRTG来监控网络流量,CPU负载和内存。网络流量统计信息是可以的,但CPU负载统计信息显示CPU已100%使用,而实际上它是我用top命令检查的。以下是CPU的MRTG配置(mrtg.cfg)。

# 10.12.2.1 CPU configuration
Target[CPU]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:public@10.12.2.1
MaxBytes[CPU]: 100
Unscaled[CPU]: dwmy
Options[CPU]: gauge, growright, nopercent
YLegend[CPU]: Load Average
ShortLegend[CPU]: (%)
LegendI[CPU]: Load Average 1 min
LegendO[CPU]: Load Average 5 min
Legend1[CPU]: Load Average 1 min
Legend2[CPU]: Load Average 5 min
Title[CPU]: CPU Load Average
PageTop[CPU]: <h1>10.12.2.1 CPU Load Average</h1>

配置问题在哪里?这是CPU统计信息输出的快照。

enter image description here

1 个答案:

答案 0 :(得分:0)

这是使用SNMP收集CPU和加载平均统计信息的问题。根据您的操作系统和SNMP实施以及您拥有的CPU数量,您可能会发现SNMP查询错误地返回一个较高的值,因为在您检查时,一个CPU处于使用SNMP守护程序的

如果可以的话,最好使用OID,它返回过去5分钟的平均使用次数而不是使用时间点,因为这可以防止出现问题。通常,您可以找到LoadAvg5min OID,但是有些SNMP实现没有这个。

另一种选择是使用外部插件。您可以让MRTG使用mrtg-nrpe来呼叫远程主机上的Nagios NRPE代理,然后远程主机调用Nagios check-cpucheck-load插件以获得真正的CPU使用率。但是,设置起来有点复杂,并且在某些情况下会遇到同样的问题。