Cacti + NetPing рисуем графики температуры

 

Мониторинг температуры в серверной
И так нам понадобится UniPing v3, SMS гейт и несколько термодатчиков. Проверку температуры релализовуем скриптом и прописываем его в cron. Раз в несколько минут проверка и спим спокойно. (*/10 * * * * root /root/check_temperatura.sh). Такая система шлет нам email, sms и оповещает охрану. Но хочется чего-то большего… Хочется красивых графиков с историей показаний термодатчиков. 
Много систем, которые рисуют графики, но мне больше всего нравится Cacti. По своей сути очень гибкая система мониторинга. Рисует красивые графики, в рамках данной статьи нам от нее больше ничего и не надо.
Чтобы cacti получала данные с датчиков нужно сделать добавить Data Template.
Data Templates
Заходим в консоль — Data Templates, жмем Add. Обязательно заполняем поля: Name (название источника данных) — у меня Temperatura T1 (T1,T2, T3 — термодатчики), Data Input Method (метод получения данных) — Get SNMP Data, Internal Data Source Name (внутреннее имя источника данных) здесь я просто указал номер термодатчика T1. Нажимаем кнопку Save — появятся дополнительные поля, нас интересует OID, в это поле вставляем MIB адрес датчика SNMPv2-SMI::enterprises.25728.8800.1.1.2.2. Нажимаем Save, таких шаблонов нужно столько, сколько у вас датчиков.

Следующим шагом нужно создать шаблон для графика Graph Templates.
Здесь я заполнял Name и Title — первый просто название, второе выводится на самом графике при отрисовке. 
Указываем графику откуда брать данные и как их рисовать: 
В Graph Template Items жмем Add, в поле Data Source выбираем 1-й датчик, созданный ранее. Color — цвет линии или области которым будет рисоваться график, Graph Item Type — вид графика, я выбирал Line2, когда на одном графике несколько показателей, лучше чтобы они были нарисованы линиями — разделять легче, Consolidation Function — AVERAGE на график будет выводиться средние показатели, Text Format — вводим текст который будет в расшифровке к линии в графике. Жмем Save.
В принципе достаточно, но хочется иметь текущие показания, средние и максимальные в текстовом виде.
Для этого еще добавляем Graph Template Items — текущие показания. Data Source остается таким же, Color — None, Graph Item Type — Gprint, Consolidation Function — Last, GPRINT Type — Exact Numbers, Text Format — Current:.
Добавляем Graph Template Items — средние показания. Data Source остается таким же, Color — None, Graph Item Type — Gprint, Consolidation Function — AVERAGE, GPRINT Type — Exact Numbers, Text Format — AVERAGE:.
Добавляем Graph Template Items — максимальные значения показания. Data Source остается таким же, Color — None, Graph Item Type — Gprint, Consolidation Function — MAX, GPRINT Type — Exact Numbers, Text Format — Maximum:, Insert Hard Return нужно установить галочку, этот параметр указывает rrd на то, что нужно перевести каретку.
И того мы имеем график с одной линией и тремя показателями под графиком. Чтобы добавить другой датчик нужно проделать тоже самое в этом же шаблоне графика.


Ох чуть не забыл, мы должны еще создать Device с Ip-адресом нашего NetPing и SNMP Community. Нужно еще в Add Graph Template: выбрать наш шаблон графика и нажать Add. 
Любуемся графиком, если оформление не понравится возвращаемся к шаблону графика и тюнингуем на свой вкус.