Как установить Nagios на Ubuntu 12.10
Ubuntu | Комментировать запись
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: Nagios, Ubuntu, Ubuntu 12.10