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».

На пошту, вказану в contacts.cfg, має прийти сповіщення.
Трохи про плагіни
У папці /etc/nagios/libexec розміщені встановлені плагіни. На початку статті було зазначено, що nagios отримує всю інформацію через плагіни. Для прикладу подивимося uptime системи
Більшість плагінів працюю лише з аргументами, наприклад подивимося статус файлу підкачування системи
Тут є два аргументи -w20 і -c10.
w - warning, коли залишиться 20% вільного місця,відбуватиметься подія warning.
c — critical, коли залишиться 10% вільного місця, відбуватиметься critical подія.
Так само плагіни бувають локальні та «загальні». Наведені вище приклади відносяться до локальних. Наприклад плагіном check_swap не вдасться переглянути статус файлу підкачки на віддаленому хості, а ось плагіном check_ping можна перевірити доступність і локального та віддаленого хоста
Трохи про NRPE

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 хостів

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