Это старая версия документа.


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

Существeет множество проверок 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. The Nagios check needs to authenticate to MySQL. To add a nagios user to MySQL enter:

  mysql -u root -p -e "create user nagios identified by 'secret';"
  The nagios user will need to be added all hosts in the mysql-servers hostgroup.
  Restart nagios to start checking the MySQL servers.
  sudo /etc/init.d/nagios3 restart