Cacti и Network UPS Tools



Пришла пора холодов и с первым снегом на наши головы выпадают еще и проблемы с электричеством. Владельцы ИБП подключенных к NUT на своих серверах, сталкиваются с проблемой мониторинга состояния ИБП (конечно можно снимать статистику вручную или через cgi скрипт в браузере, но сидеть с листиком и записывать изменения — явно не наш метод). Продолжительное гугление на эту тему ясного и элегантного ответа не дало. Многие инструкции давно устарели, да и разработчики ПО сделали уже много изменений, без знания которых успеха быстро не достичь.

Для настройки мониторинга ИБП в Cacti необходимо:

1) Cacti >= 0.8.7g
2) Network UPS Tools >= 2.4.1_6 (думаю будет работать и с другими)
3) Архив: cacti-nut.zip (зеркало) (я использовал скрипты скачанные тут и немного поправленные пользователем Wilmer с форума Cacti и мной)

Cacti


Распаковываем фалы из архива в следующие папки:

ss_nut_ups_status.php в <path_cacti>/scripts/
nut_ups_status.xml в <path_cacti>/resource/script_server/

Импортируем шаблон из архива

Console > Import Templates > Обзор - cacti_data_query_nut_ups_statistics.xml

Cacti сообщит о успешном импорте шаблона с указанием какие данные были получены. (!) Проверяем права на скопированные файлы.


NUT


В фале настроек upsd.conf проверяем директиву LISTEN она должна содержать адрес интерфейса который будет принимать запросы Cacti. У меня она выглядит следующим образом:

LISTEN 127.0.0.1
LISTEN 10.10.11.100


Так же если мне не изменяет память можно использовать ACL.

Рестартуем NUT и возвращаемся к Cacti. Переходим в веб интерфейсе Cacti в раздел Console > Devices > [наш сервер с NUT] и на панели Associated Data Queries добавляем Data Query: NUT — UPS Statistics > Add. После этого в добавленной строчке в столбце status должны увидеть примерно следующее

Success [2 Items, 1 Row]

Если в строчке вместо количества значений и строк красуются нули можно попробовать перезагрузить значения нажав на зеленый кружок справа. Если и это не помогло следует проверить настройки фаервола (как на сервере так и на компьютере с Cacti), а так же заглянуть в логи Cacti предварительно включив максимальный уровень отображаемых событий.

Следующим шагом создаем график для хоста. Вверху страницы параметров устройства кликаем Create Graphs for this Host. Там мы видим панель Data Query [NUT — UPS Statistics] в строке которой расположены наши ИБП. Отмечаем галочкой нужные(й) и в выпадающем меню под панелью выбираем graph type:

UPS Load Capacity — отображает уровень заряда аккумулятора ИБП и нагрузку на выходе в процентах.

UPS Power Signal — отображает входящее напряжение, частоту и напряжение на аккумуляторе.

UPS Temperature — температура ИБП.

кликаем Create. После этого вверху страницы будет выведено сообщение о созданных графиках. Переходим во вкладку Graphs и ждем скоро поползет интересующая нас информация. И помним, что для отрисовки графика RRD требуется 2 точки т.е. должно пройти 2 опроса прежде чем мы увидим данные.

Приятных графиков!
+25
30 сентября 2010, 22:01
51
Hile 11,2

комментарии (29)

0
5ap #
А как можно сделать в кактусе чтобы значения на графике показывались те, которые ему передают из датчиков?
Например на рисунке видно что падало напряжение и падало походу до 0-ля, но значение кактусом сглажено(усреднено) и GPRINT MIN показывает чуть больше нуля(5.20). Проявление сглаживания видно когда счёт идёт на каждую единицу. Как решить проблему?
0
Hile #
на рисунке в посте 5.20 вольта — это реальное напряжение на входе в ИБП (во всяком случае так показывал сам NUT при запросе данных напрямую через веб скрипт и в консоли при помощи upsc)
0
Hile #
и если увеличить видно что значения на графике вполне точное
0
kegf #
в своё время сделал так:
1. на пациенте:
$ cat /usr/local/etc/snmp/snmpd.conf

extend .1.3.6.1.4.1.2021.50 apcaccess /usr/local/sbin/apcaccess

2. На snmp мониторе парсил вывод.
+1
Hile #
это я так полагаю для ИБП марки APC и их софта?
0
bliznezz #
apcaccess это из пакета apcupsd, а это для APC
0
kegf #
ага
0
kegf #
вот нужный график:
0
JukeBox #
В случае с zabbix я так делал:
В zabbix_agentd.conf добавляем
UserParameter=ups.status,upsc myups@localhost | grep ups.status | awk '{print $2}'
UserParameter=battery.charge,upsc myups@localhost | grep battery.charge | awk '{print $2}'
UserParameter=ups.load,upsc myups@localhost | grep ups.load | awk '{print $2}'
UserParameter=ups.temperature,upsc myups@localhost | grep ups.temperature | awk '{print $2}'
после настройки соответствующих итемов и триггеров имеем сигнализацию об отключении питания и графики заряда батареи, нагрузки на ИБП и температуры.
0
kpx #
Дурацкий вопрос, но зачем NUT? С APC вроде вся статистика может быть собрана по OID?

0
muzzle #
Поддерживаю вопрос.
У меня CACTI собирает все данные с UPSов, PDUшек и EnviromentalManager по SNMP.
0
Hile #
Опишите схему пожалуйста.
0
Hile #
Да и почему все так уперлись в APC? Я думаю не у всех вокруг одни APC есть, но и другие марки с которыми связка nut+cacti прекрасно работает.
0
kpx #
Да нашел шаблон устройства готовый, там и datasource и device template. А температуру (график на картинке) вообще снимаю руками написаным. Главное OID найти. Ну APC достаточно распространены, вот все в них и уперлись. Нету других :)
0
Hile #
Есть )
0
scamp #
Мои графики смотрятся лучше, и главное, нагляднее,
использовались скрипты и шаблон с forums.cacti.net/viewtopic.php?f=12&t=14475 после небольшой доработки напильником.
0
neptune #
Из-за чего такие скачки на выходе APC?
0
scamp #
Потому что это не онлайн ИБП, в нем стоит AVR, который может повышать или подымать выходное напряжение на некоторое фиксированное значение.
0
Hile #
Если Вы не против — то могли бы Вы дать ссылку на ваши шаблоны (подправленные) и я с радостью адаптирую их под скрипт из статьи. А использовать скрипты из ссылки выше я считаю излишним так как используется Ruby — с коим я не знаком вовсе.
0
scamp #
Там на самом деле очень простой скрипт, его можно реализовать на любом другом скриптовом языке.
Вот мой поправленный шаблон — grapth template paste2.org/p/1014716, data template paste2.org/p/1014718
0
Hile #
Сейчас начал думать о наглядности этих графиков… а увидим ли мы на них уровень напряжения в тот момент когда ИБП находится в режиме понижения? (т.е. когда в розетка скажем 240)
+1
pokryshkin #
<занудство>
Выберите моноширинный шрифт и отформатируйте легенду: чтобы подписи Curr, Avg,… были друг под другом, как в комментах выше. Это сильно улучшит читаемость.
</занудство>
0
Hile #
Название шрифта подскажите? =)
0
pokryshkin #
У меня в настройках кактуса стоит VeraMono.ttf Откуда взялся — не знаю, может от кактуса, может от ррд.
По идее еще курьер моноширинный.
0
Hile #
эм, а сам шрифт присутствует по дефолту?
0
pokryshkin #
Честно говоря — не знаю, настраивал давно (пока работает — не трогай! у меня это дело живет под виндами), поэтому не вспомню, возможно и качал отдельно.
0
scamp #
Arial 8 pt
0
scamp #
а мне очень нравиться такой вид, например :)
0
IlyaEvseev #
> я использовал скрипты скачанные тут и немного поправленные
> пользователем Wilmer с форума Cacti и мной


В чём заключались поправки?
Шаблон Эрика импортируется с ошибками:
forums.cacti.net/viewtopic.php?f=12&t=19250&p=226881#p226881

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.