PostHeaderIcon Nagios и PNP4Nagios: легко и красиво

И снова графики. Nagiosgraph что-то порядком поднадоел некорректностью своей работы и решено было наконец таки испробовать в бою pnp.
Устанавливаем:

1
cd /usr/ports/net-mngt/pnp && make install clean

Настраиваем вебсервер:

1
2
3
4
5
6
# PNP graphing tool
Alias /nagios/pnp/ /usr/local/www/pnp/
<directory "="" usr="" local="" www="" pnp="">
Order deny,allow
Allow from all
Deny from all</directory>
1
2
    AddHandler application/x-httpd-php .php
DirectoryIndex index.php
1
2
3
4
5
6
7
8
9
    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

1
2
3
4
5
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

Команда:

1
2
3
4
define command{
command_name    process-service-perfdata
command_line    /usr/bin/perl /usr/local/libexec/process_perfdata.pl
}

Следующее надо дописать к шаблону сервисов (или хостов):

1
action_url /pnp/index.php/graph?host=$HOSTNAME$&amp;srv=$SERVICEDESC$' class='tips' rel='/pnp/index.php/popup?host=$HOSTNAME$&amp;srv=$SERVICEDESC$

И еще есть у PNP чудная возможность интегрироваться в интерфейс нагиос таким образом, чтоб показывать графики во всплывающем окошке без необходимости переходить на отдельную страницу. Делается это так:
В каталоге /usr/local/www/nagios/ssi создаёт файл status-header.ssi со следующим содержимым

1
2
3
4
5
6
7
8
<script src="/pnp/media/js/jquery-min.js" type="text/javascript"></script>
<script src="/pnp/media/js/jquery.cluetip.js" type="text/javascript"></script>
<script type="text/javascript"><br />
   jQuery.noConflict();<br />
    jQuery(document).ready(function() {<br />
     jQuery('a.tips').cluetip({ajaxCache: false, dropShadow: false,showTitle: false, width: '620', height: '700', sticky: true, arrows: false, closeText: '<img src="/pnp4nagios/media/images/close1.png" BORDER="0">', closePosition: 'top' });<br />
      });<br />
       </script>

Перезагружаем вебсервер, перезагружаем нагиос, заходим по ссылке http:///nagios/pnp/
Откроется страничка проверки всех необходимых компонентов для нормальной работы системы. Если все тесты пройдены нормально — переименовываем или удаляем файл /usr/local/www/pnp/install.php. А если нет, то устраняем ошибки.
Ждем, пока создадутся и заполнятся базы и любуемся.

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

PR-CY.ru