Nagios Core 4 Ubuntu Server, FOR SKILL

Системне адміністрування

Розглянь установку та налаштування, поточної на момент написання статті, версії Nagios Core 4.2.3. Як платформа буде використовуватися Ubuntu Server 16.04.01.

Nagios core є безкоштовною системою, що здійснює моніторинг вузлів мережі, сервісів, відправлення сповіщень електронною поштою, та багато іншого. Всю необхідну інформацію nagios отримує через плагіни.

Установка nagios та плагінів

У репозиторії Ubuntu відсутні інсталяційні пакети для четвертої версії, тому інсталяція виконується з вихідних кодів. Останню версію nagios можна знайти на sourceforge.net. Плагіни можна завантажити на сайті nagios-plugins.org.

Перед конфігурацією nagios необхідно встановити необхідні залежності

І додати користувача та групу, від імені яких буде працювати nagios

Перейдемо в каталог для складання та скачаємо вихідний код nagios та плагінів

Розархівуємо завантажені архіви

Перейдемо до директорії з вихідним кодом nagios і виконаємо конфігурацію

Встановимо init скрипт в /etc/init.d та активуємо авто запуск

Встановимо права на директорію для зберігання зовнішніх командних файлів

Встановимо конфігураційні файли nagios

Встановимо конфігурацію nagios для apache

Скопіюємо в каталок з nagios скрипти обробки подій зовнішніх командних файлів та виставимо власника на папку

Виконаємо перевірку встановленої конфігурації

Перейдемо в директорію з вихідним кодом плагінів та виконаємо конфігурацію

Виконаємо складання та встановлення плагінів

Включимо конфігурацію nagios в apache та активуємо необхідні доповнення

Перезапустимо службу apache

Запустимо nagios та перевіримостатус

Додамо адміністратора nagios

У браузері заходимо за посиланням http://your_ip_or_domain_name/nagios та вводимо дані адміністратора nagios. Повинна відкрити консоль управління nagios. За промовчанням в ній буде додано localhost.

Тепер розберемося із конфігураційними файлами nagios.

/etc/nagios/etc/cgi.cfg — визначає налаштування веб-інтерфейсу, а також права доступу до web консолі nagios.

/etc/nagios/etc/htpasswd.users - база користувачів та їх паролів для доступу до web-інтерфейсу nagios.

/etc/nagios/etc/nagios.cfg — містить у собі основні налаштування та шляхи до *.cfg файлів.

/etc/nagios/etc/resource.cfg - тут визначено змінну, до каталогу з плагінами.

/etc/nagios/etc/objects/commands.cfg - містить визначення команд.

/etc/nagios/etc/objects/contacts.cfg — визначає поштові контакти, на які буде надсилати сповіщення наgios.

/etc/nagios/etc/objects/templates.cfg — містить шаблони контактів, хостів та сервісів.

/etc/nagios/etc/objects/timeperiods.cfg - містить визначення часових періодів.

/etc/nagios/etc/objects/localhost.cfg — конфігурація для моніторингу сервера nagios. У ній визначено сам хост, хостова група для серверів linux і сервіси моніторингу.

/etc/nagios/etc/objects/printer.cfg — конфігурація моніторингу принтера. У ній визначено довільний принтер, хостова група для принтерів та послуги моніторингу.

/etc/nagios/etc/objects/switch.cfg — конфігурація для моніторингу освітлення. У ній визначено довільний свитч, хостова група для свитчів та послуги моніторингу.

/etc/nagios/etc/objects/windows.cfg — конфігурація для моніторингудовільний windows хоста. У ній визначено довільний хост windows, хостова група для windows серверів і сервіси моніторингу.

Створимо файли для хост та сервіс груп та виставимо на них права

Створимо каталог /etc/nagios/etc/servers / та виставимо на нього права

Додамо в hostgroups.cfg визначення хост груп для linux та windows серверів з localhost.cfg та windows.cfg відповідно

Так як у nagios.cfg шлях до windows.cfg закоментований, коментувати визначення хост груп у windows.cfg не обов'язково, а от localhost.cfg це обов'язкова дія

При створенні об'єкта windows сервер, він автоматично стає членом групи windows-servers. Ця дія визначена у файлі шаблонів templates.cfg. Щоб linux сервера потрапляли автоматично до групи linux-servers, потрібно зробити таку зміну

Для налаштування оповіщення потрібно вказати email адміністратора системи в contacts.cfg

Після виконаних змін потрібно перезапустити службу nagios

Перевірити працездатність оповіщень, можна наступним способом, у web-інтерфейсі вибрати ліворуч «Hosts», далі натискаємо на «localhost», в меню праворуч натискаємо «Send custom host notification», пишемо що завгодно в рядок «Comment» і натискаємо «Commit».

core

На пошту, вказану в contacts.cfg, має прийти сповіщення.

Трохи про плагіни

У папці /etc/nagios/libexec розміщені встановлені плагіни. На початку статті було зазначено, що nagios отримує всю інформацію через плагіни. Для прикладу подивимося uptime системи

Більшість плагінів працюю лише з аргументами, наприклад подивимося статус файлу підкачування системи

Тут є два аргументи -w20 і -c10.

w - warning, коли залишиться 20% вільного місця,відбуватиметься подія warning.

c — critical, коли залишиться 10% вільного місця, відбуватиметься critical подія.

Так само плагіни бувають локальні та «загальні». Наведені вище приклади відносяться до локальних. Наприклад плагіном check_swap не вдасться переглянути статус файлу підкачки на віддаленому хості, а ось плагіном check_ping можна перевірити доступність і локального та віддаленого хоста

Трохи про NRPE

ubuntu

NRPE - Nagios Remote Plugin Executor. Для того, щоб nagios міг отримувати інформацію від віддалених хостів, таку як завантаження диска або процесора, використовується nrpe плагін. Nagios звертається через nrpe плагін, до nrpe серверу, встановленому на віддаленому linux/Unix хості. Nrpe сервер запускає локальні плагіни, і передає nagios серверу отриману інформацію.Важливо! nrpe сервер і плагін повинні бути однієї версії, інакше можуть виникати помилки.

Установка NRPE плагіна

Перед встановленням nrpe плагіна, потрібно встановити залежність

Завантажити останню версію nrpe можна із сайту nagios. Перейдемо в каталог для складання, завантажуємо та розархівуємо останню версію nrpe

Перейдемо в папку з nrpe і виконаємо конфігурацію

Виконаємо складання та встановлення nrpe плагіна

Додамо до /etc/nagios/etc/objects/commands.cfg підтримку nrpe

Після виконаних змін потрібно перезапустити службу nagios

Установка сервера NRPE

На linux хості, який ми будемо моніторити, потрібно встановити nrpe сервер і плагіни.

Встановимо необхідні залежності

Перейдемо в каталог для складання, скачаємо nrpe, плагіни та розархівуємо їх

Перейдемо в каталог з nrpe та виконаємо конфігурування

Додамо користувача та групу, від імені яких буде працюватиnrpe сервер

Виконаємо встановлення сервера та конфігураційного файлу

Встановимо стартовий скрипт

Перейдемо в директорію з вихідним кодом плагінів та виконаємо конфігурацію

Виконаємо складання та встановлення плагінів

У /etc/nagios/etc/nrpe.cfg дозволимо nagios серверу отримувати інформацію про систему, а також вкажемо справжню назву розділу диска для моніторингу, в визначеній команді

Додавання linux хоста в систему моніторингу

Для цього ми створимо файл linux-server.cfg у папці servers

Для перевірки працездатності nrpe можна виконати команду

Для перевірки певного сервісу потрібно додати аргумент з назвою перевірки

Назву перевірки ми визначали у файлі nrpe.cfg

та у файлі linux-serv.cfg

Моніторинг Windows хостів

ubuntu

Для моніторингу windows хостів використовується nt плагін. За умовчанням він входить до складу базових плагінів і його не потрібно окремо встановлювати. Через nt плагін nagios звертається до NSClient++, встановленого на windows хості. NSClient++ звертається до певних модулів, які повідомляють інформацію про систему. Отриману інформацію NSClient++ передає nogios серверу.

Установка NSClient++

На windows хості потрібно встановити NSClient++. Завантажуємо останню версію та запускаємо від імені адміністратора.