Мониторинг нагрузки процессоров в Cacti

Рассмотрим как написать собственный скрипт для Cacti. Для примера построим графики средней нагрузки многопроцессорного сервера.

Для начала определимся откуда брать загрузку процессора. На мониторируемом сервере необходимо установить и настроить snmp агент. Откуда и будем брать значения нагрузки процессоров для cacti. Например у меня:

#snmpwalk -c community -v 2c serverclient | grep ProcessorLoad

HOST-RESOURCES-MIB::hrProcessorLoad.1 = INTEGER: 31

HOST-RESOURCES-MIB::hrProcessorLoad.2 = INTEGER: 24

#snmptranslate -On HOST-RESOURCES-MIB::hrProcessorLoad

.1.3.6.1.2.1.25.3.3.1.2

Видим у нас два процессора с нагрузками: 1 — 31%, 2 -24% 

В cacti есть готовые шаблоны для отображения загрузки процессоров, однако под Windows я ничего не нашел работающего, имеется по умолчанию только возможность отобразить графики по каждому процессору. Поэтому для средней нагрузки у меня получился такой вот небольшой скрипт для cacti:

#!/usr/bin/perl

my @prload = `snmpwalk -c community -v 2c serverclient .1.3.6.1.2.1.25.3.3.1.2 | grep ProcessorLoad | awk '{print \$4}'`;

my $count_cpu = @prload;

grep $sum_load+=$_,@prload;

$srednee = $sum_load/$count_cpu;

printf "CPUALL:$srednee";

Скрипт копируем в директорию где у вас лежат скрипты для cacti, у меня это /usr/local/share/cacti/scripts. Не забыть дать права на выполнение (chmod +x ваш_скрипт).

Далее работаем с вебинтерфейсом cacti. 

Первое что нужно это создать новый метод ввода данных Data Input Methods, как на скриншоте: 

Data Input Methods

Так как наш скрипт не принимает никаких входных параметров, то в Input Fields ничего не вписываем. А вот выводимое поле Output Fields у нас есть:

Input, Output Fields

После этого метод можно сохранять.

Далее настраиваем источник данных Data Sources. Идем в Data Sources и жмем add. Выставляем Selected Data Template и Host в значение none и жмем Create

Data Sources

 В появившемся окне заполняем поля как на рисунке

Data Sources

 Всё данные у нас собираются. Создаем график. Идем в Graph Management ? add

Graph Management

 Жмем Create и получаем продолжение настроек:

Graph Management

 Далее настроим источник данных для графика. Жмем Graph Items ? add

Graph Items

 

В итоге получим вот такой вот график

График Cacti

 

 

Обновлено 07.04.2016 18:56

unix-way