Nagios - індустріальний стандарт моніторингу.

nagios logo
Nagios - програма що служить для моніторингу програмного та апаратного стану обладнання в локальних мережах і сповіщення адміністратора про зміни їх статусу. Працює фактично на всіх unix-системах. Розглянемо установку та початкове налаштування даної програми на прикладі операційної системи Ubuntu. Першим кроком встановлюємо необхідні пакети. У випадку базової конфігурації це apache, build-essential, libgd2-xpm-dev та сам nagios.

sudo apt-get install apache2 build-essential libgd2-xpm-dev nagios3

Далі створюємо віртуальний хост в apache. Для цього можна скористатися шаблоном default, скопіюємо його під іменем nagios в ту ж теку та змінимо його як нам потрібно:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/nagios

Готовий файл nagios можна забрати тут. В даному файлі ми вказали що для доступу до сайту моніторингу ми будемо використовувати порт 9000, тому потрібно вказати на це нашому веб-серверу додавши у файл /etc/apache2/ports.conf рядки

NameVirtualHost 192.168.7.234:9000
Listen 9000

Файли конфігурації nagios лежать у директорії /etc/nagios3/. У файлі nagios.cfg підключаються інші конфіги й задаються налаштування. У файлі cgi.cfg задаються налаштування cgi-скриптів і права доступу до сайту в графічному інтерфейсі. Припустимо ім’я користувача системи моніторингу буде nagios, тоді у файл cgi.cfg потрібно внести наступні зміни:

default_user_name=nagios
authorized_for_system_information=nagiosadmin,nagios
authorized_for_configuration_information=nagiosadmin,nagios
authorized_for_system_commands=nagiosadmin,nagios
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_service_commands=nagiosadmin,nagios
authorized_for_all_host_commands=nagiosadmin,nagios

Як бачимо при наявності двоч чи більше користувачів їх імена перераховуються через кому і без пробілів. Тепер створюємо самого користувача nagios та задаємо для нього пароль:

cd  /etc/nagios3/
sudo htpasswd -c htpasswd.users nagios

Нарешті перезапускаємо nagios та apache

sudo service nagios3 restart
sudo service apache2 restart

На даному етапі ми отримали готовий сервер моніторингу доступ до якого можна отримати з веб-браузера за адресою http://localhost:9000 або http://наш_ір:9000. Кількість роботи яку потрібно провести надалі залежить виключно від кількості серверів та сервісів що ми збираємося моніторити. <command> –usage - виклик опису параметрів команди, детальніше тут. Зауважу ще дві речі котрі можуть в певній мірі допомогти пришвидшити процес конфігурації:

  • Перевірити правильність змін зроблених нами в конфігурації nagios можна виконавши команду
sudo  nagios3 -v  /etc/nagios3/nagios.cfg
  • Можна спробувати автоматизувати сканування хостів та сервісів у мережі програмою ScanToNag за шаблоном подібним до наступного
java -jar ScanToNag.jar --range 192.168.64.0/24 --range 192.168.62.0/24 --emit-templates --timeout 50 --contacts unix-admins --hosts-file hosts.conf --services-file services.conf --skip-reserved