Powered By Blogger

вторник, 27 ноября 2012 г.

Добавление поля Notes в Nagios\Icinga

Для того чтобы добавить новое поле на Web интерфейс системы мониторинга Nagios или Icinga необходимо внести соответствующие изменения в исходник для status.cgi - status.c.

1. Скачиваем и распаковываем последнюю версию Nagios\Icinga
2. Открываем файл /cgi/status.c
3. Находим раздел который формирует основную таблицу ( раздел отмечен комментарием "/* the main list of services */")  и добавляем в конце списка столбцов строку:

printf("<TH CLASS='status'>Notes</TH>\n");

4. Находим раздел отмеченный комментарием "/* the rest of the columns... */" и так же в конце дописываем

printf("<TD onClick=\"toggle_checkbox('service_%d','tableformservice');\" CLASS='status%s' valign='center'>%s</TD>\n", total_service_entries, status_bg_class, (temp_service->notes==NULL)? "&nbsp;":temp_service->notes);

В данном случае добавлен функционал заменяющий текст null на пробел в случае если поле не содержит значений ((temp_service->notes==NULL)? "&nbsp;").

5. Пересобираем все CGI (make -cgi), затем просто заменяем получившимся status.cgi уже содержащийся в каталоге /usr/local/icinga/sbin файл

P.S. для Nagios все примерно тоже самое, за исключением части формирующей включение чек-бокса при нажатии на строку ("<TD onClick=\"toggle_checkbox('service_%d','tableformservice');\" CLASS='status%s' valign='center'>%s</TD>\n")

Точно таким же образом можно вывести любое другое поле из представленных в используемых функциях. Подробнее по структуре функций для Icinga можно посмотреть здесь:

http://fossies.org/dox/icinga-1.8.1/index.html

Nagios:

http://fossies.org/dox/nagios-3.4.2/

Комментариев нет:

Отправить комментарий