Вводная.
В наличие настроенный 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:
Раскрываем архив:
проверяем конфиг:
Проверяем что все папки и плагины определились. Включаем возможность обработки данных мониторинга.
Лирическое отступление 1:
Конечно можно было не городить огород и использовать zabbix. Это я уже пробовал, мне не очень понравилось. Все настройки и администрирование описанное в начале топика производится в свободное от основной работы время. Прикручивание графиков это как факультативное занятие скуки ради.
Продолжаем:
Обработку данных можно запретить в любом сервисе или хосте с помощью такой вот конструкции:
Находим и правим конфиг:
Проверяем, что конфиг сайта присутствует в apache:
Обнаруживаем что pnp директория не добавлена. Необходимо или подключить файл с описанием использую
Или прописать все ручками:
После этого PNP должен начать работать по URL localhost/pnp4nagios
У меня этого не произошло (Карамба!). Покопавшись в логах
Было обнаружено следующее:
Попытки найти, где прописан этот путь, не увенчались успехом, потому я просто создал несуществующие папки и скопировал конфиг туда:
Теперь сайт стал открываться и вот мы уже можем увидеть, все ли модули на месте
Если чего-то будет не хватать, то это можно установить.
В моем случае я устанавливал PHP GD extension, которого небыло.
Также в Apache не был включен rewrite_mod. Это надо поправить:
Создаем символьную ссылку:
Открываем настройки сайта:
Меняем AllowOverride None" на «AllowOverride all» и перезапускаем сервис.
Дальше переименовываем install.php
После этого плагин начнет работать и отображать графики.
Пока все очень сыро и нужно дорабатывать еще много чего. Допиливание графиков штука индивидуальная.
В общем «Пилите, Шура, пилите».
В наличие настроенный 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
После этого плагин начнет работать и отображать графики.
Пока все очень сыро и нужно дорабатывать еще много чего. Допиливание графиков штука индивидуальная.
В общем «Пилите, Шура, пилите».