Почему mrtg показывает 100-процентную загрузку процессора
Я настроил MRTG для мониторинга сетевого трафика, загрузки процессора и памяти. Статистика сетевого трафика в порядке, но статистика загрузки ЦП показывает, что ЦП используется на 100%, хотя на самом деле, как я проверяю, top
команда. Ниже приведена конфигурация 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>
Где проблема в конфигурации? Вот снимок вывода статистики процессора.
1 ответ
Это проблема с использованием SNMP для сбора статистики CPU и Load Avg. В зависимости от вашей ОС и реализации SNMP, а также от количества процессоров, которые у вас есть, вы можете обнаружить, что запрос SNMP ошибочно возвращает высокое значение, потому что в момент проверки один демон используется демоном SNMP.
Если вы можете, лучше использовать OID, который возвращает среднее использование за последние 5 минут, а не момент времени, так как это предотвращает проблему. Обычно вы можете найти OID LoadAvg5min, но в некоторых реализациях SNMP этого нет.
Другой альтернативой является использование внешнего плагина. Вы можете использовать MRTG mrtg-nrpe
вызвать агент Nagios NRPE на удаленном хосте, который затем вызывает Nagios check-cpu
а также check-load
плагины, чтобы получить реальное использование процессора. Однако это немного сложно настроить, и в некоторых случаях может возникнуть та же проблема.