Nagios - проверка времени работы системы (System Uptime)

Версия для печатиОтправить другуPDF version

Nagios Logo

Имея в распоряжении настроенную связку Nagios + Nconf, продолжим развивать тему мониторинга разнообразных параметров. Будем мониторить время работы системы с момента загрузки системы. Чтобы "ребуты" оборудования не проходили для нас незаметно...

Проверку будем выполнять с используя расширение check_snmp. Синтаксис использования check_snmp следующий:

Usage:
check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]

Будем использовать следующие переменные:

  • 10.50.10.50 - IP-адрес оборудования
  • public - SNMP community
  • 2c - версия SNMP

Используя SNMP, состояние порта можно получить через OID sysUpTime.0. Пример такого запроса и ответа:

# snmpwalk -v 2c -c public 10.50.10.50 sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4043391272) 467 days, 23:38:32.72

Теперь получим эту же информацию, используя check_snmp:

# /usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public
SNMP OK - Timeticks: (4043420333) 467 days, 23:43:23.33 |

Последний штрих - укажем в комманде проверки дополнительные ключи, чтобы ограничить временные рамки, согласно которых получаем статус CRITICAL и WARNING. Если UpTime оборудования меньше 3 часов - статус CRITICAL, если UpTime меньше суток - статус WARNING. Итак:

  • 3 часа - это 10800 секунд
  • 24 часа - это 86400 секунд

SNMP возвращает нам значение sysUpTime.0, в формате timeticks. Timetick - это 0.01 секунды. Соответственно, необходимо перевести наше время в секундах в формат timeticks. Для этого умножаем время в секундах на 100, и получаем значение в timeticks.

Тестируем работоспособность комманды проверки:

/usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public -c 1080000:0 -w 8640000:0
SNMP CRITICAL - *290700* | DISMAN-EVENT-MIB::sysUpTimeInstance=290700;8640000:0;1080000:0;8640000;1080000;
/usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public -c 1080000:0 -w 8640000:0

SNMP WARNING - *8179000* | DISMAN-EVENT-MIB::sysUpTimeInstance=8179000;8640000:0;1080000:0;8640000;1080000;
/usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public -c 1080000:0 -w 8640000:0

SNMP OK - 4049137283 | DISMAN-EVENT-MIB::sysUpTimeInstance=4049137283;8640000:0;1080000:0;8640000;1080000;

Теперь, используя эту информацию, создадим в Nconf новую "Checkcommand" - "check_snmp_uptime".

Для этого в меню "Additional Items", пункт "Checkcommands" жмем кнопку "Add" и заполняем форму следующим образом:

check command name check_snmp_uptime
default service name  
check command line $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$
default command params !2c!public!1080000:0!8640000:0
params description ARG1=SNMP version,ARG2=SNMP community,ARG3=Warn level,ARG4=Critical Level
amount of params 4

После создания команды проверки check_snmp_uptime, добавляем этот сервис в команды проверки устройств, не забыв изменить необходимые переменные. Генерируем конфигурационные файлы и ожидаем проверки наших сервисов.

Результаты наших усилий:

Nagios SNMP Uptime

Nagios SNMP Uptime Nagios SNMP Uptime Nagios SNMP Uptime

 

 

Голосов пока нет

Re: Nagios - проверка времени работы системы (System Uptime)

цікаве рішення, а не підкажете як це все зробити не використовуючи Nconf.

Re: Nagios - проверка времени работы системы (System Uptime)

Приклад опису команди перевірки:

define command {
                command_name                          check_snmp_uptime
                command_line                          $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$
}

Приклад перевірки сервісу:

define service {
                service_description                   check_snmp_uptime
                check_command                         check_snmp_uptime!1!SNMP_COMM!1080000:0!8640000:0
                host_name                             001-001
                check_period                          24x7
                notification_period                   24x7
                contact_groups                        +support
                event_handler_enabled                 1
                use                                   generic-service
}

 

Re: Nagios - проверка времени работы системы (System Uptime)

дякую

Re: Nagios - проверка времени работы системы (System Uptime)

доброго дня. виникла ситуація, що одним Nagios'ом треба моніторити uptime обладнання, частина якого працює з SNMP v2, а частина з SNMP v3. у SNMP v3 для авторизації замість параметру -C треба вказувати одразу декілька параметрів -A  -L -U -x -X.

підкажіть будь ласка як описати

command_line            $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$

і відповідно до нього

check_command          check_snmp_uptime!1!SNMP_COMM!1080000:0!8640000:0

так щоб можна було з одного Nagios'у моніторити uptime одночасно SNMP v2 та SNMP v3 пристроїв.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня.

Складіть дві різних команди перевірки з різним набором ключів, наприклад check_snmp_v2_uptime та check_snmp_v3_uptime. Тоді зможете обирати для кожного пристрою свій варіант перевірки.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня. Дякую. Була така ідея, але не був впевнений, що так працюватиме. Але якщо Ви кажете, що буде, тоді так і зроблю.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня. Дякую. Була така ідея, але не був впевнений чи працюватиме. Але якщо Ви кажете, що буде, тоді так і зроблю.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня. зробив як ви порадили check_snmp_v2_uptime та check_snmp_v3_uptime все працює. ще раз Дякую.

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

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература