Моніторинг серверів по SNMP за допомогою Nagios

У першій статті циклу, присвяченому налаштуванню 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.

Додати коментар

Захисний код
Оновити