0

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

# 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 统计信息输出的快照。

在此处输入图像描述

4

1 回答 1

0

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

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

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

于 2016-07-24T21:20:26.673 回答