Nagios и PNP4Nagios: легко и красиво
И снова графики. Nagiosgraph что-то порядком поднадоел некорректностью своей работы и решено было наконец таки испробовать в бою pnp.
Устанавливаем:
cd /usr/ports/net-mngt/pnp && make install clean
Настраиваем вебсервер:
# PNP graphing tool
Alias /nagios/pnp/ /usr/local/www/pnp/
Order deny,allow
Allow from all
Deny from all
AddHandler application/x-httpd-php .php
DirectoryIndex index.php
RewriteEngine on
RewriteBase /nagios/pnp/
# Protect application and system files from being viewed
RewriteRule ^(application|modules|system) - [F,L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT,L]
PNP имеет несколько вариантов сбора данных. Сервер у меня не сильно загруженный, проверок не очень много, поэтому не мудрствуя лукаво выбираю режим Bulk Mode. И конфигурирую нагиос соответствующим образом. Настраиваю рисование графиков только для плагинов проверки сервисов. Настройка для хостов полностью идентична.
nagios.conf
service_perfdata_file=/var/spool/nagios/perfdata.log
service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata
Команда:
define command{
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/libexec/process_perfdata.pl
}
Следующее надо дописать к шаблону сервисов (или хостов):
action_url /pnp/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
И еще есть у PNP чудная возможность интегрироваться в интерфейс нагиос таким образом, чтоб показывать графики во всплывающем окошке без необходимости переходить на отдельную страницу. Делается это так:
В каталоге /usr/local/www/nagios/ssi создаёт файл status-header.ssi со следующим содержимым
Перезагружаем вебсервер, перезагружаем нагиос, заходим по ссылке http://
Откроется страничка проверки всех необходимых компонентов для нормальной работы системы. Если все тесты пройдены нормально — переименовываем или удаляем файл /usr/local/www/pnp/install.php. А если нет, то устраняем ошибки.
Ждем, пока создадутся и заполнятся базы и любуемся.