12
Установка и настройка nagios на Ubuntu.
Ubuntu, Системное администрирование
Tagged Under : Nagios, Ubuntu
Nagios — программа с открытым кодом, предназначенная для мониторинга компьютерных систем и сетей. Она следит за указанными узлами и службами, и оповещает администратора в том случае, если какие-то из служб прекращают (или возобновляют) свою работу. Так же при помощи nagios можно просматривать состояние хостов и сервисов через web-интерфейс. Сейчас самая свежая версия nagios3.
- Для работы nagios3 вам понадобится
- Apache
- GCC compiler and development libraries
- GD development libraries
Как ставит Apache я рассказывать не буду, библиотеки ставятся командами
sudo apt-get install build-essential sudo apt-get install libgd2-xpm-dev
Хотя у меня на работал Nagios3 и без этих библиотек. Я буду рассказывать про работу Nagios с Apache2.
Установка Nagios3 производится одной командой.
sudo apt-get install nagios3
После установки nagios уже запущен и работает. Теперь создадим в Apache отдельный виртуальный хост для nagios. Создайте в каталоге /etc/apache2/sites-enabled конфигурационный файл для хоста nagios. В настройках хоста укажите в роли домашнего каталога /usr/share/nagios3/htdocs обычно все web-файлы nagios3 лежат там. Ещё надо подключить к настройкам apache настройки nagios. Добавьте в файл /etc/apache2/apache2.conf следующую строчку.
Include /etc/nagios3/apache2.conf
После этого зайдите на этот новый хост, если вы всё правильно сделали у вас браузер должен спросить пароль, который вы ещё не знаете, зато всё работает.
Теперь займёмся настройкой nagios. Все конфигурационные файлы лежат в /etc/nagios3/. Главный конфигурационный файл nagios.cfg в нём подключаются все остальные конфигурационные файлы и задаются настройки самого nagios. Так что если Вы создали какой-то свой конфигурационный файл не забудьте подключить его в этом файле.
Дальше переходим к файлу cgi.cfg, в нём выставляются все настройки cgi скриптов, так же в нём выставляются права на доступ к сайту с графическим интерфейсом. По умолчанию полный доступ имеет пользователь nagiosadmin, если ходите разрешить что-то другим пользователям просто допишите их через запятую. Мой конфиг выглядит так.
default_user_name=myuser authorized_for_system_information=nagiosadmin,myuser authorized_for_configuration_information=nagiosadmin,myuser authorized_for_system_commands=nagiosadmin,myuser authorized_for_all_services=nagiosadmin,myuser authorized_for_all_hosts=nagiosadmin,myuser authorized_for_all_services=nagiosadmin,myuser authorized_for_all_hosts=nagiosadmin,myuser authorized_for_all_service_commands=nagiosadmin,myuser authorized_for_all_host_commands=nagiosadmin,myuser
Где myuser это мой логин. Теперь нужно создать файл с пользователями и паролем, для этого перейдите в каталог /etc/nagios3/ воспользуемся команду
cd /etc/nagios3/ sudo htpasswd -c htpasswd.users myuser
и введите пароль для пользователя myuser
По умолчанию nagios ищет пользователей для аутентификации в файле /etc/nagios3/htpasswd.users , но вы можете хранить из в другом месте, для этого поменяйте в файле /etc/nagios3/apache2.conf параметр AuthUserFile на свой.
Теперь чтобы изменения вступило в силу перезагрузите nagios
sudo /etc/init.d/nagios3 restart
Так же можно проверять весь конфиг nagios перед перезагрузкой
sudo nagios3 -v /etc/nagios3/nagios.cfg
Он проверит файл nagios.cfg и все файлы которые подключаются в нём и если найдёт ошибки напишет подробную информацию, я советую делать такую проверку после каждого изменения в конфигурационных файлах.
Всё теперь зайдите на свой виртуальных хост созданный для nagios и введите логин и пароль.
Вы увидите состояния своих сервисов, по умолчанию nagios проверяет работу localhost’а и gateway’а. Вы можете добавить свои хосты или сервисы для проверке, сейчас Мы рассмотрим как.
Допустим я хочу проверять когда мои коллеги включают и выключают компьютерны. Для этого сначала надо описать эти хосты. Создаём в каталоге /etc/nagios3/conf.d файл my-hosts.cfg и записываем в него мои хосты
# a host definition for my friends comps define host { host_name volodya #Имя хоста alias Volodya comp #описание address 192.168.140.3 #ip адрес use generic-host } define host { host_name lexa alias lexa comp address 192.168.140.4 use generic-host } define host { host_name xz1 alias xz1 comp address 192.168.140.5 use generic-host } define host { host_name xz2 alias xz2 comp address 192.168.140.8 use generic-host } define host { host_name diman alias diman comp address 192.168.140.10 use generic-host }
Так как этот файл находится в каталоге /etc/nagios3/conf.d отдельно подключать его в файле
/etc/nagios3/nagios.cfg не надо, поскольку в нём уже по умолчанию подключаются все файлы из Директории /etc/nagios3/conf.d
Объединим эти хосты в группу. Запишем в конфигурационный файл групп /etc/nagios3/conf.d/hostgroups_nagios2.cfg такой текст
#Defind my group define hostgroup { hostgroup_name my-friends #имя группы alias my-friends comps # описание members lexa, volodya, xz1,xz2, diman #члены группы }
Теперь надо настроить службу которая будет проверять эту группу хостов. Дописываем в файл /etc/nagios3/conf.d/services_nagios2.cfg или создаём свой файл с таким конфилом.
# check that my friends comps are up define service { hostgroup_name my-friends #имя группы для проверки service_description PING check_command check_ping!100.0,20%!500.0,60% #команда проверки use generic-service }
Для рассылки уведомлений создайте контакт в файле /etc/nagios3/conf.d/contacts_nagios2.cfg Например такой.
define contact{ contact_name pasha #имя alias pasha service_notification_period 24x7 #период уведомлений о сервисах host_notification_period 24x7 #период уведомлений о хостах service_notification_options w,u,c,r #о чём уведомлять уведомлений host_notification_options d #уведомлять о том что хост down service_notification_commands notify-service-by-email #как уведомлять host_notification_commands notify-host-by-email #как уведомлять email f448dmg@yandex.ru # mail }
Временные периоды задаются в файле /etc/nagios3/conf.d/contacts_nagios2.cfg там уже есть несколько уже заданных по умолчанию периода, по их аналогу Вы легко зададите свои.
Огроменное спасибо Вам!
Я заметил что это:
Include /etc/nagios3/apache2.conf
не надо добавлять.
А вот здесь
authorized_for_system_information=nagiosadmin, myuser
пробел после запятой недопустим.
Статья неплохая, но есть ошибочка.
Когда дописываем своего юзера в файле cgi.cfg то пробел между пользователями после запятой не ставим - иначе даже при прохождении авторизации функции доступны не будут.