Содержание
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
Обзор файлов настройки
Существует несколько директорий, содержащих конфигурационные файлы 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.
В дополнение к этому будут приведены несколько терминов, которые помогут вам облегчить настройку 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
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';"
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 также содержит достаточно документации.