Pull to refresh

Настраиваем статистику и графики для Nagios

Вводная.
В наличие настроенный Nagios out-of-box который стоит на Ubuntu server 11.
Под наблюдением:
• 3 продуктивных виртуальных сервера (AD +1C; Exchange и Veam B&R) с использованием NSClient++
• 3 железных сервера (intel платы) с установленным VmWare ESXi
• 2 сетевых железки (Zywall)
В случае падения или превышения KPI высылается письмо на ящик (через sendmail демон).

Цель:
Основная задача уже реализована (мониторинг), появилась необходимость прикрутить графики со статистикой. Выбор пал на плагин pnp4nagios. Настраивать будем синхронный сценарий:

Он самый простой в реализации и т.к. инфраструктура небольшая, идеально нам подходит.

Реализация:
Проверяем, что все условия выполнены:
• Установлен Perl >= 5.x без доп модулей
• Установлен RRDtool >= 1.x,
• Лучше RRD ставить через apt-get, чтобы не было проблем со шрифтами.
• Установлен PHP >= 5.1.6
• Установлен и настроен Nagios >= 2.x
Скачиваем pnp4nagios:

wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.21.tar.gz

Раскрываем архив:

$tar -xvzf pnp4nagios-HEAD.tar.gz
проверяем конфиг:
$cd pnp4nagios
$./configure


Проверяем что все папки и плагины определились. Включаем возможность обработки данных мониторинга.

$vi /etc/nagios3/nagios.cfg
process-service-perfdata = 1 
service_perfdata_command=process-service-perfdata
host_perfdata_command=process-host-perfdata

Лирическое отступление 1:
Конечно можно было не городить огород и использовать zabbix. Это я уже пробовал, мне не очень понравилось. Все настройки и администрирование описанное в начале топика производится в свободное от основной работы время. Прикручивание графиков это как факультативное занятие скуки ради.

Продолжаем:
Обработку данных можно запретить в любом сервисе или хосте с помощью такой вот конструкции:

define service {
...
process_perf_data 0
...
}

Находим и правим конфиг:
$vi /etc/nagios3/commands.cfg

define command {
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}

define command {
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}

Проверяем, что конфиг сайта присутствует в apache:

$vi /etc/apache2/sites-available/default

Обнаруживаем что pnp директория не добавлена. Необходимо или подключить файл с описанием использую Include
Или прописать все ручками:

Alias /pnp4nagios "/usr/local/pnp4nagios/share"

<Directory "/usr/local/pnp4nagios/share">
AllowOverride None
Order allow,deny
Allow from all
#
# Use the same value as defined in nagios.conf
#
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
<IfModule mod_rewrite.c>
# Turn on URL rewriting
RewriteEngine On
Options symLinksIfOwnerMatch
# Installation directory
RewriteBase /pnp4nagios/
# Protect application and system files from being viewed
RewriteRule "^(?:application|modules|system)/" - [F]
# 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]



После этого PNP должен начать работать по URL localhost/pnp4nagios
У меня этого не произошло (Карамба!). Покопавшись в логах

/var/log/apache/error.log

Было обнаружено следующее:

error] [client xxx.xxx.xxx.xx] (2) No such file or directory: Could not open password file: /usr/local/nagios/etc/htpasswd.users

Попытки найти, где прописан этот путь, не увенчались успехом, потому я просто создал несуществующие папки и скопировал конфиг туда:

$cp /etc/nagios3/htpasswd.users /usr/local/nagios/etc/

Теперь сайт стал открываться и вот мы уже можем увидеть, все ли модули на месте
Если чего-то будет не хватать, то это можно установить.
В моем случае я устанавливал PHP GD extension, которого небыло.

Также в Apache не был включен rewrite_mod. Это надо поправить:

$cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

$sudo a2enmod rewrite

Создаем символьную ссылку:

$ls -al /etc/apache2/mods-enabled/rewrite.load

lrwxrwxrwx 1 root root 30 Dec 9 23:10 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load

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

$sudo vi /etc/apache2/sites-available/default

Меняем AllowOverride None" на «AllowOverride all» и перезапускаем сервис.

$sudo service apache2 restart

Дальше переименовываем install.php

$cd /usr/local/pnp4nagios/share/
$mv install.php old_install.php


После этого плагин начнет работать и отображать графики.
Пока все очень сыро и нужно дорабатывать еще много чего. Допиливание графиков штука индивидуальная.
В общем «Пилите, Шура, пилите».
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.