Моніторинг серверів по SNMP за допомогою Nagios
- Деталі
- Категорія: Nagios-ukr
- Опубліковано: Понеділок, 07 січня 2019, 17:33
- Автор: Super User
- Перегляди: 4017
У першій статті циклу, присвяченому налаштуванню Nagios, ми розглянули базову конфігурацію і моніторинг мережевих сервісів. Зараз покажемо, як можна отримувати додаткові дані про серверах за допомогою протоколу SNMP.
SNMP - це протокол керування мережами зв'язку на основі архітектури UDP.
Ця технологія, покликана забезпечити керування і контроль за пристроями і додатками в мережі зв'язку шляхом обміну керуючою інформацією між агентами, що розташовуються на мережевих пристроях, і менеджерами, розташованими на станціях керування.
SNMP визначає мережу як сукупність мережевих керуючих станцій і елементів мережі (головні машини, шлюзи і маршрутизатори, термінальні сервери), які разом забезпечують адміністративні зв'язки між мережевими керуючими станціями і мережевими агентами.
SNMP не визначає, яку інформацію керована система повинна надавати. Навпаки, SNMP використовує розширювану модель, в якій доступна інформація визначається Основами Керуючої Інформації (MIB). Бази Керуючої Інформації описують структуру керуючої інформації пристроїв. Вони використовують ієрархічний простір імен, що містить унікальний ідентифікатор об'єкта (OID). Грубо кажучи, кожен унікальний ідентифікатор об'єкта ідентифікує змінну, яка може бути прочитана або встановлена через SNMP.
Ієрархія MIB може бути зображена як дерево з безіменним коренем, рівні якого присвоєні різними організаціями. На найвищому рівні MIB OIDи належать різним організаціям, які займаються стандартизацією, в той час як на більш низькому рівні OIDи виділяються асоційованими організаціями. Ця модель забезпечує керування на всіх шарах мережевої моделі OSI, так як MIBи можуть бути визначені для будь-яких типів даних і операцій.
Установка SNMP
Для того, що б тестовий сервер можна було моніторити по SNMP необхідно на нього встановити два пакети:
#apt-get install snmp snmpd
Тепер потрібно налаштувати наш сервіс SNMP. Для цього в файл /etc/snmp/snmpd.conf запишемо
syslocation: test, Ukraine
syscontact Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.
#community #hosts allowed
rwcommunity private 192.168.0.30/32
rocommunity public 192.168.0.0/24
disk /
disk /home
Зверніть увагу, ми описуємо підмережі з яких дозволений доступ в різних режимах (читання або читання та запис), а так само вказуємо пароль для цього доступу (у нас це private та public). Звісно в реальних умовах пароль не повинен бути настільки простим.
Крім цього необхідно внести невеликі зміни в файл /etc/default/snmpd. В ньому параметр SNMPDOPTS потрібно привести до наступного вигляду
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'
Тобто ми явно прописуємо в ньому файл конфігурації демона SNMP. Тепер потрібно перезапустити сервіс:
#service snmpd restart
Конфігурування Nagios для роботи з SNMP
Зробимо перевірку вільного місця на диску.
Створимо групу моніторингу дискового простору по snmp. Для цього додамо опис сервісу в файл /etc/nagios3/conf.d/services_nagios2.cfg
define service {
hostgroup_name snmp disk
service_description snmpdisk
check_command snmp_disk!public!1!!50!!90
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
У цьому описі перевірки в рядку check_command вказуємо пароль доступу до сервісу SNMP, номер диска, який ми перевіряємо, і величину вільного місця у відсотках для параметрів warning і critical.
Далі додамо опис групи моніторингу в файл /etc/nagios3/conf.d/hostgroups_nagios2.cfg
define hostgroup {
hostgroup_name snmp disk
alias SNMP disk
members my_server
}
Тепер перечитаємо конфігурацію Nagios.
Як ми бачимо перевірка місця на диску працює і повертає правильні результати. В даному випадку ми отримали попередження.
Аналогічно можна контролювати будь-який сервіс і пристрій, які вміють віддавати про себе інформацію по SNMP.