Nagios

Установка

Для начала на server01 необходимо установить пакет nagios. Для этого введите в терминале:

sudo apt-get install nagios3 nagios-nrpe-plugin

Вам будет предложено ввести пароль для пользователя nagiosadmin. Учетные записи пользователя находятся в /etc/nagios3/htpasswd.users. Для смены пароля пользователя nagiosadmin или добавления других пользователей для выполнения CGI скриптов Nagios используйте утилиту htpasswd, которая является частью пакета apache2-utils.

Например, для смены пароля пользователя nagiosadmin введите в терминале:

sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Для добавления пользователя:

sudo htpasswd /etc/nagios3/htpasswd.users steve

Далее, на server02 установите пакет nagios-nrpe-server. В терминале на server02 введите:

sudo apt-get install nagios-nrpe-server
NRPE позволяет выполнять локальные проверки на удаленном компьютере. Но существуют и другие способы достижения этой цели, используя другие плагины Nagios, также как и другие способы проверок.

Обзор файлов настройки

Существует несколько директорий, содержащих конфигурационные файлы Nagios, а также файлы проверок.

1. /etc/nagios3: содержит конфигурационные файлы для работы демона nagios, файлы CGI, описания компьютеров и т.д.

2. /etc/nagios-plugins: файлы конфигурации для служебных проверок.

3. /etc/nagios: содержит конфигурационные файлы на удаленном компьютере nagios-nrpe-server.

4. /usr/lib/nagios/plugins/: тут находятся бинарные проверки. Для просмотра опций проверки используйте ключ '-h'.

Например: /usr/lib/nagios/plugins/check_dhcp -h

Существует множество проверок Nagios, которые могут быть настроены для выполнения на любом компьютере. В этом примере Nagios будет настроен на проверку дискового пространства, службы DNS, а также группы пользователей MySQL. Проверка DNS будет осуществятся на server02, а группа компьютеров MySQL будет включать в себя как server01 так и server02.

Смотрите раздел HTTPD - Apache2 Web Server для более детальных настроек Apache, Служба Доменных Имен (DNS) для настройки DNS, а также MySQL для настройки MySQL.

В дополнение к этому будут приведены несколько терминов, которые помогут вам облегчить настройку Nagios:

Компьютер (хост): сервер, рабочая станция, сетевое устройство и т.д., которое отслеживается.

Группа компьютеров: группа подобных компьютеров. Например вы можете сгруппировать все веб-сервера, файловые сервера и т.д.

Служба: служба, которая отслеживается на компьютере. Например HTTP, DNS, NFS и т.д.

Группа служб: позволяет объединить несколько служб вместе. Например это будет полезным для объединения нескольких веб-серверов.

Контакт: человек, который будет уведомлен при каком-либо событии. Nagios может быть настроен на отправку email, SMS-сообщений и т.д.

По умолчанию Nagios настроен на проверку HTTP, дискового пространства, SSH, текущих пользователей, процессов и слежение за уровнем загрузки на локальном компьютере. Nagios также выполняет проверку шлюза посредством команды ping.

Совокупность установленных систем Nagios могут быть настроены комплексно. Начать лучше с нескольких компьютеров, одного или двух, а затем настроить оптимальным образом вместо использования дополнений.

Настройка

1.1. Для начала необходимо создать конфигурационный файл для server02. Если не указанно иное, выполните все эти команды на server01. Введите в терминале:

sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg \
/etc/nagios3/conf.d/server02.cfg
В вышеуказанном, а также следующем примере замените «server01», «server02» 172.18.100.100 и 172.18.100.101 на имя и ip-адрес ваших серверов.

1.2. Далее отредактируйте файл /etc/nagios3/conf.d/server02.cfg:

    define host{
            use                     generic-host  ; Name of host template to use
            host_name               server02
            alias                   Server 02
            address                 172.18.100.101
    }

    # check DNS service.
    define service {
            use                             generic-service
            host_name                       server02
            service_description             DNS
            check_command                   check_dns!172.18.100.101
    }

1.3. Перезагрузите демон nagios для активации новых настроек:

sudo /etc/init.d/nagios3 restart

2.1 Теперь добавим служебное описание для проверки MySQL путем добавления следующих строк в /etc/nagios3/conf.d/services_nagios2.cfg:

    # check MySQL servers.
    define service {
            hostgroup_name        mysql-servers
            service_description   MySQL
            check_command         check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS
            use                   generic-service
            notification_interval 0 ; set > 0 if you want to be renotified
    }

2.2. Сейчас должны быть определены сервера группы mysql. Отредактируйте /etc/nagios3/conf.d/hostgroups_nagios2.cfg добавив следующее:

    # MySQL hostgroup.
    define hostgroup {
            hostgroup_name  mysql-servers
                    alias           MySQL servers
                    members         localhost, server02
            }

2.3. Проверка Nagios должна пройти авторизацию в MySQL. Для добавления пользователя nagios в MySQL введите:

mysql -u root -p -e "create user nagios identified by 'secret';"
Пользователь nagios должен присутствовать на всех компьютерах рабочей группы серверов mysql.

2.4. Перезагрузите nagios для проверки сервера MySQL.

sudo /etc/init.d/nagios3 restart

3.1. Наконец необходимо настроить NRPE для проверки дискового пространства на server02.

На server01 добавим служебную проверку в /etc/nagios3/conf.d/server02.cfg:

   # NRPE disk check.
   define service {
                use                     generic-service
                host_name               server02
                service_description     nrpe-disk
                check_command           check_nrpe_1arg!check_all_disks!172.18.100.101
        }

3.2. Теперь на server02 отредактируем /etc/nagios/nrpe.cfg:

allowed_hosts=172.18.100.100

А в строку объявления команды добавим:

command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e

3.3. В конце перезагрузим nagios-nrpe-server:

sudo /etc/init.d/nagios-nrpe-server restart

3.4. На server01 также необходимо перезагрузить nagios:

sudo /etc/init.d/nagios3 restart

Теперь вы должны видеть ваши сервера и служебные проверки в файлах Nagios CGI. Для доступа к ним наберите в строке браузера http://server01/nagios3. Вам будет предложено ввести имя пользователя и пароль для nagiosadmin.

Ссылки

В этом разделе были описаны лишь незначительные возможности Nagios. nagios-plugins-extra и nagios-snmp-plugins содержит намного больше файлов проверки служб.

1. Для более детальной информации обратитесь к документации на официальном сайте Nagios.

2. Узконаправленная документация по Nagios Online.

3. Существует несколько книг посвященных Nagios и мониторингу сети.

4. Страница Nagios Ubuntu Wiki также содержит достаточно документации.