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


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. Проверка 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.

      Lastly configure NRPE to check the disk space on server02.
      On server01 add the service check to /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
      }
      Now on server02 edit /etc/nagios/nrpe.cfg changing:
      allowed_hosts=172.18.100.100
      And below in the command definition area add:
      command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e
      Finally, restart nagios-nrpe-server:
      sudo /etc/init.d/nagios-nrpe-server restart
      Also, on server01 restart nagios:
      sudo /etc/init.d/nagios3 restart

You should now be able to see the host and service checks in the Nagios CGI files. To access them point a browser to http://server01/nagios3. You will then be prompted for the nagiosadmin username and password.

Ссылки

This section has just scratched the surface of Nagios' features. The nagios-plugins-extra and nagios-snmp-plugins contain many more service checks.

  For more information see Nagios website.
  Specifically the Online Documentation site.
  There is also a list of books related to Nagios and network monitoring:
  The Nagios Ubuntu Wiki page also has more details.