В предыдущей статье по организации мониторинга мы использовали ресурсы самого nagios. Но время идет, и я наткнулся в
Интернете на более удобное решение, это связка Nagios + Centreon.

Вступление:

Nagios (http://www.nagios.org)
Nagios представляет собой систему мониторинга компьютеров и сервисов в сетевом окружении предприятия, которая следит и своевременно оповещает о возникших проблемах на контролируемых устройствах (рабочих станциях, серверах, активном сетевом окружении, телефонной станции и т.п.)

Система разрабатывалась для работы на платформе Linux, но она так же отлично работает на большинстве разновидностей *NIX операционных систем. Системы мониторинга выполняет периодическую проверку контролируемых хостов и сервисов, используя для этого внешние "плагины", которые в свою очередь возвращают системе информацию о статусе контролируемых устройств. Когда возникает проблема, система мониторинга может отправлять внешние оповещения для обслуживающего данные устройства персонала (по электронной почте, через систему мгновенных сообщений, SMS и т.п.). Помимо этого, через WEB-интерфейс доступна информация по текущему статусу системы, различным отчетам, оповещениям и т.п.

Centreon (http://www.centreon.com)
Это инструмент контроля и управления, который является "оболочкой", т.е. работает поверх системы мониторинга Nagios, расширяя его функциональные возможности и предоставляет более гибкий интерфейс.

Необходимые условия, которые не входят в данное руководство:

  • вы должны обладать базовыми знаниями по администрированию ОС Linux, т.к. не исключено появление неполадок, которые вы должны устранить;
  • вы должны быть знакомы с архитектурой Nagios, должны знать, как устранить ошибки, которые могут встретиться в конфигурационных файлах Nagios при их проверке (средствами centreon);
  • вам потребуется установить и настроить почтовый даемон MTA (например, Sendmail, Postfix, Exim), чтобы система Nagios смогла отправлять почтовые сообщения с уведомлениями.

Перед тем, как приступить к установке:

  • это руководство написано для дистрибутивов Debian / Ubuntu. Оно было оттестировано на ОС Debian 5.0 64bit, и Ubuntu 8.10/9.04 64bit;
  • для данного руководства нам понадобится Centreon version 2.1.x. Версия 2.0.х настраивается по-другому, поэтому ее не использовать;
  • все приведенные ниже команды должны запускаться из под пользователя root (можно применять команду sudo).

Устанавливаем необходимые Ubuntu/Debian пакеты:

Только для Debian:
# apt-get install sudo lsb-release

dos2unix, Converts DOS <-> Unix text files, alias tofromdos:
# apt-get install tofrodos

MTA (exim by default) and mail utilities:
# apt-get install mailx

Apache web server and PHP5:
# apt-get install apache2 php5 php-pear php5-mysql php5-ldap php5-snmp php5-gd

MySQL-Server:
# apt-get install mysql-server-5.0
Вам будет предложено создать пароль для суперползователя MySQL "root". Запомните его, он пригодится позднее.

RRDTool:
# apt-get install rrdtool librrds-perl

Required Perl modules:
# apt-get install libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl

SNMP daemon:
# apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl

Установим Nagios 3 и NDOutils для MySQL:

Выполним:
# apt-get install nagios3 nagios-nrpe-plugin ndoutils-nagios3-mysql
Когда система предложит "Configure database for ndoutils-mysql with dbconfig-common?", отвечаем "NO", т.к. позднее это все выполнит установочный скрипт Centreon.

Теперь необходимо переместить/сделать резервную копию оригинальной директории Nagios, т.к. Centreon будет использовать свою собственную структуру для конфигурации Nagios:
# mv /etc/nagios3 /etc/nagios3.orig
# mkdir /etc/nagios3
# cp -Rt /etc/nagios3 /etc/nagios3.orig/nagios.cfg /etc/nagios3.orig/apache2.conf /etc/nagios3.orig/stylesheets/
# chown nagios:www-data /etc/nagios3
# chmod ug+w /etc/nagios3


Установим дополнительные пакеты (не обязательные):

OpenSSH server (Каждый linux сервер должен иметь его!):
# apt-get install ssh

PHPMyAdmin - WEB-консоль для управления MySQL:
# apt-get install phpmyadmin

Устанавливаем Centreon:

Перед началом установки у вас должен быть доступ в Интернет!

Скачаем крайний дистрибутив Centreon (в нашем примере это версия 2.1.1):
# cd; wget http://download.centreon.com/centreon/centreon-2.1.1.tar.gz

Установочный скрипт Centreon обновит PEAR модули (если потребуется). Если вы находитесь за прокси-сервером, то используйте следующую команду: 
# pear config-set http_proxy http://<my_proxy>:<port>/
Замените "<my_proxy>" реальным адресом вашего прокси-сервера и "<port>" на реальный порт прокси-сервера.

Далее, выполним следующие команды (не забываем исправить имя файла, если у вас более новая версия дистрибутива):
# tar xzf centreon-2.1.1.tar.gz
# cd centreon-2.1.1
# ./install.sh -i

Далее отвечаем на вопросы установочного скрипта:
Press "Enter" to read the Centreon License, then type "y" to accept it.

Do you want to install : Centreon Web Front
[y/n], default to [n]: y

Do you want to install : Centreon CentCore
[y/n], default to [n]: y

Do you want to install : Centreon Nagios Plugins
[y/n], default to [n]: y

Do you want to install : Centreon Snmp Traps process
[y/n], default to [n]: y

Where is your Centreon directory?
default to [/usr/local/centreon]: /usr/local/centreon

Do you want me to create this directory ? [/usr/local/centreon]
[y/n], default to [n]: y

Where is your Centreon log directory
default to [/usr/local/centreon/log]: /usr/local/centreon/log

Do you want me to create this directory ? [/usr/local/centreon/log]
[y/n], default to [n]: y

Where is your Centreon etc directory
default to [/etc/centreon]: /etc/centreon

Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]: y

Where is your Centreon generation_files directory?
default to [/usr/local/centreon]: /usr/local/centreon

Where is your Centreon variable library directory?
default to [/var/lib/centreon]: /var/lib/centreon

Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]: y

Where is your CentPlugins Traps binary
default to [/usr/local/centreon/bin]: /usr/local/centreon/bin

Do you want me to create this directory ? [/usr/local/centreon/bin]
[y/n], default to [n]: y

Where is the RRD perl module installed [RRDs.pm]
default to [/usr/lib/perl5/RRDs.pm]: /usr/lib/perl5/RRDs.pm

Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]: /usr/share/php/PEAR.php

Where is installed Nagios ?
default to [/usr/local/nagios]: /usr/lib/cgi-bin/nagios3

Where is your nagios config directory
default to [/usr/local/nagios/etc]: /etc/nagios3

Where is your Nagios var directory ?
default to [/usr/local/nagios/var]: /var/lib/nagios3

Where is your Nagios plugins (libexec) directory ?
default to [/usr/local/nagios/libexec]: /usr/lib/nagios/plugins

Where is your Nagios image directory ?
default to [/usr/local/nagios/share/images/logos]: /usr/share/nagios/htdocs/images/logos

Where is your NDO ndomod binary ?
default to [/usr/sbin/ndomod.o]: /usr/lib/ndoutils/ndomod-mysql-3x.o

Where is sudo configuration file
default to [/etc/sudoers]: /etc/sudoers

Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]: y

Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]: y

Do you want to reload your Apache ?
[y/n], default to [n]: y

Do you want me to install/upgrade your PEAR modules
[y/n], default to [y]: y

Where is your Centreon Run Dir directory?
default to [/var/run/centreon]: /var/run/centreon

Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]: y

Where is your CentStorage binary directory
default to [/usr/local/centreon/bin]: /usr/local/centreon/bin

Where is your CentStorage RRD directory
default to [/var/lib/centreon]: /var/lib/centreon

Do you want me to install CentStorage init script ?
[y/n], default to [n]: y

Do you want me to install CentStorage run level ?
[y/n], default to [n]: y

Where is your CentCore binary directory
default to [/usr/local/centreon/bin]: /usr/local/centreon/bin

Do you want me to install CentCore init script ?
[y/n], default to [n]: y

Do you want me to install CentCore run level ?
[y/n], default to [n]: y

Where is your CentPlugins lib directory
default to [/var/lib/centreon/centplugins]: /var/lib/centreon/centplugins

Do you want me to create this directory ? [/var/lib/centreon/centplugins]
[y/n], default to [n]: y

Where is your SNMP configuration directory
default to [/etc/snmp]: /etc/snmp

Where is your SNMPTT binaries directory
default to [/usr/local/centreon/bin/]: /usr/local/centreon/bin/


Продолжим установку через WEB-интерфейс Centreon:

Открываем в вэб-браузере "http://<yourserverip>/centreon/", заменив "<yourserverip>" на IP-адрес или имя вашего сервера.
Далее следуем установочной инструкции:

  • Выбираем Start
  • Выделяем "I Accept" и жмем Next
  • Проверяем, что выбрана Nagios версия "3.x", и жмем Next
  • На следующей странице проверяем, что все компоненты имеет статус "OK", и нажимаем Next
  • Если все компоненты имеют статус "OK", нажимает Next снова
  • Заполняем необходимую информацию, как указано ниже и выбираем Next
    • Root Password for MySQL: [пароль суперпользователя MySQL root, который мы создали ранее]
    • Centreon Database Name: centreon
    • Centreon Data Storage Database Name: centstorage
    • Database Password: centreon
    • Confirm it: centreon
    • MySQL Client version (Password Haching Changes): >=4.1 - PASSWORD()
  • Нажимаем Next на странице проверки базы данных [DataBase Verification]
  • Заполняем необходимую информацию пользователя Admin, и нажимаем next (проверить, что имя пользователя Admin)
  • Выбрать "No" в поле "LDAP Authentication" и нажать next
  • Нажать Next еще раз
  • Нажать Next на странице "Creating Database"
  • Нажать "Click here to complete your install" для завершения установки

Настроим NDOUtils (из командной строки Linux)

В Centreon версии 2.1 и новее, база данных NDO настраивается в процессе установки Centreon, поэтому нам не нужно настраивать ее вручную. Нам необходимо только включить поддержку NDO в /usr/default/ndoutils

Отредактируем файл "/usr/default/ndoutils" в любом текстовом редакторе:
# vi /etc/default/ndoutils
Меняем значение "ENABLE_NDOUTILS=0" на "ENABLE_NDOUTILS=1"

Заключительная часть настойки:

Открываем в вэб-браузере: "http://<yourserverip>/centreon/", заменив "<yourserverip>" на IP-адрес или имя сервера Centreon.  

Выбираем: Configuration -> Nagios -> cgi (на левой боковой панели навигации), Нажать на ссылку "CGI.cfg"
Изменяем значения некоторых опций, как указано ниже:

  • Physical HTML Path: /usr/share/nagios3/htdocs
  • URL HTML Path     : /nagios3
  • Nagios Process Check Command: /usr/lib/nagios/plugins/check_nagios /var/cache/nagios3/status.dat 5 '/usr/sbin/nagios3'

Нажимаем Save

Выбираем: Configuration -> Nagios -> nagios.cfg (в боковом меню), Открываем ссылку "Nagios CFG 1", вы должны быть в разделе "Files".
Задайте следующие значения:

  • Log File              : /var/log/nagios3/nagios.log
  • Downtime File         : /var/lib/nagios3/downtime.dat
  • Comment File          : /var/lib/nagios3/comment.dat
  • Temp File             : /var/cache/nagios3/nagios.tmp
  • P1 File               : /usr/lib/nagios3/p1.pl
  • Lock File             : /var/run/nagios3/nagios3.pid
  • Object Cache File     : /var/cache/nagios3/objects.cache
  • Status File           : /var/cache/nagios3/status.dat
  • External Command File : /var/lib/nagios3/rw/nagios.cmd

Далее выбираем закладку "Logs Options".
Проверяем следующие значения:

  • Log Archive Path     : /var/log/nagios3/archives/
  • State Retention File : /var/lib/nagios3/retention.dat

Нажимаем Save

Выбираем: Administration -> Options -> CentStorage (на боковой панели)
Проверяем следующие значения::

  • Nagios current log file to parse: /var/log/nagios3/nagios.log

Нажимаем Save

Теперь применим наши изменения, переходим в: Configuration -> Nagios
Выбираем поля:

  • Generate Configuration Files
  • Include Comments
  • Run Nagios debug (-v)
  • Move Export Files
  • Restart Nagios
  • Method: "External Command"

Нажимаем Export

Данное действие перезагрузит Nagios & и все наши изменения, проделанные в вэб-интерфейсе будут применены.

В дальнейшем, вам придется делать тоже самое, для применения новых изменений конфигурации (добавление/изменение компьютеров, команд, контактов, сервисов и т.п..)

На этом установка Nagios + Centreon завершена.

Заключительные исправления (важно):

Переходим в консоль, далее...

В ОС Debian/Ubuntu пользователь nagios создается с параметром командной оболочки "/bin/false". Из-за этого даемоны "centcore" и "centstorage" не запускаются, т.к. им необходим реальный интерпретатор. Мы должны заменить "/bin/false" на "/bin/sh":
# usermod -s /bin/sh nagios

Добавим прав для вэб-интрфейса, чтобы можно было выполнять внешние команды "External Commands":
# invoke-rc.d nagios3 stop
# dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
# dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3


Добавим htaccess пользователя с паролем "P@ssw0rd" для работы nagios CGI:
# htpasswd -bc /etc/nagios3/htpasswd.users nagiosadmin P@ssw0rd

Разрешим SNMP readonly доступ:
# echo "rocommunity public" > /etc/snmp/snmpd.conf

Если хотим разрешить доступ только с локального компьютера, то вместо предыдущей команды выполним:
# echo "rocommunity public 127.0.0.1" > /etc/snmp/snmpd.conf

Перегрузим сервер
# sync;sync;init 6

Вот и все, после ребута, вы можете продолжить пользоваться полным функционалом связки Nagios & Centreon.


Оригинал статьи

Log in to comment