Как установить Nagios на Ubuntu 12.10

1. Разгон сервера Ubuntu 12.10 x64 и расширение памяти SWAP

Чтобы добавить на сервер 2GB памяти SWAP:

dd if=/dev/zero of=/swap bs=1024 count=2097152
mkswap /swap && chown root. /swap && chmod 0600 /swap && swapon /swap
echo /swap swap swap defaults 0 0 >> /etc/fstab
echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

2. Установка пакетов на мониторинговый сервер

apt-get install -y nagios3 nagios-nrpe-plugin
usermod -a -G nagios www-data
chmod -R g+x /var/lib/nagios3/
sed -i 's/check_external_commands=0/check_external_commands=1/g' /etc/nagios3/nagios.cfg

Появится запрос о root-пароле MySQL. В данном примере используется «PassWord», но рекомендуется использовать более сильный пароль.

3. Установка защиты паролем

Необходимо установить пароль для панели администратора Nagios:

htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
service nagios3 restart && service apache2 restart

Убедитесь, что имя пользователя «nagiosadmin» не было изменено, иначе придется вносить изменения в /etc/nagios3/cgi.cfg, а также переопределить авторизованного администратора.

Теперь можно перейти к панели Nagios данного сервера http://IP/nagios3 (в данном примере http://198.211.117.129/nagios3/); будет запрошен пароль, установленный в шаге 3.

Как видите, на данный момент отслеживающихся хостов нет, следовательно, теперь их нужно установить.

 4.  Установка NRPE на клиенты

Теперь нужно добавить хосты, которые будет отслеживать Nagios. В данном примере будет установлен мониторинг cloudads.tk (198.211.117.101).

С помощью открытых портов можно отслеживать пинг, а также любые другие открытые порты, такие как веб-сервер, почтовый сервер и т.д.

Для таких внутренних сервисов, прослушиваемых на локальном хосте, как MySQL, memcached и системные серверы, необходим NRPE.

4. Установка NRPE на клиент

apt-get install -y nagios-plugins nagios-nrpe-server

Теперь пользователю предоставляется возможность задать вручную любые команды, которые мониторинговый сервер может пересылать на клиенты через NRPE.

Убедитесь, что allowed_hosts был заменен реальными значениями.

Отредактируйте /etc/nagios/nrpe.cfg

log_facility=daemon
pid_file=/var/run/nagios/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=198.211.117.129
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include=/etc/nagios/nrpe_local.cfg
include_dir=/etc/nagios/nrpe.d/
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

Примечание:

В строке check_disk проверяется раздел /dev/vda – запустите df -h /, чтобы убедиться, что на сервере есть такой раздел.

Можно также откорректировать запуск предупреждений и извещений о критических ситуациях; в приведенных выше конфигурациях установлен запуск предупреждения при 20% свободного места на диске, а запуск извещения о критической ситуации – при 10%.

Также нужно установить правила для фаервола, позволяющие подключения с мониторингового сервера на клиенты и отклоняющие остальные соединения:

iptables -N NRPE
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE
iptables -I NRPE -s 198.211.117.129 -j ACCEPT
iptables -A NRPE -s 0/0 -j DROP
/sbin/iptables-save

Теперь можно запустить NRPE  на клиентском хосте:

service nagios-nrpe-server restart

5. Добавление конфигураций сервера на мониторинговый сервер

Вернитесь на мониторинговый сервер, где необходимо создать конфигурационные файлы для каждого клиента:

Все конфигурации можно хранить в /etc/nagios3/conf.d в отдельных файлах .cfg (к примеру: /etc/nagios3/conf.d/cloudads.tk.cfg)

Отредактируйте /etc/nagios3/conf.d/cloudads.tk.cfg и внесите следующие строки:

define host {
use                     generic-host
host_name               cloudads.tk
alias                   cloudads.tk
address                 198.211.117.101
}
define service {
use                             generic-service
host_name                       cloudads.tk
service_description             PING
check_command                   check_ping!100.0,20%!500.0,60%
}
define service {
use                             generic-service
host_name                       cloudads.tk
service_description             SSH
check_command                   check_ssh
notifications_enabled           0
}
define service {
use                             generic-service
host_name                       cloudads.tk
service_description             Current Load
check_command                   check_load!5.0!4.0!3.0!10.0!6.0!4.0
}

Отредактировав конфигурационные файлы, перезапустите Nagios, чтобы привести внесенные изменения в действие:

service nagios3 restart

При необходимости можно отслеживать больше сервисов, и даже создавать собственные плагины для Nagios.

6. Отслеживание хостов с помощью Nagios

Перейдите к IP-адресу мониторингового сервера http://IP/nagios3 и введите пароль, установленный в шаге 2.

Теперь все хосты и серверы можно просмотреть.

Готово!

Tags: , ,

Добавить комментарий