Имея в распоряжении настроенную связку 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] |
Будем использовать следующие переменные:
Используя 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. Итак:
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 WARNING - *8179000* | DISMAN-EVENT-MIB::sysUpTimeInstance=8179000;8640000:0;1080000:0;8640000;1080000; 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, добавляем этот сервис в команды проверки устройств, не забыв изменить необходимые переменные. Генерируем конфигурационные файлы и ожидаем проверки наших сервисов.
Результаты наших усилий:
Re: Nagios - проверка времени работы системы (System Uptime)
цікаве рішення, а не підкажете як це все зробити не використовуючи Nconf.
Re: Nagios - проверка времени работы системы (System Uptime)
Приклад опису команди перевірки:
command_name check_snmp_uptime
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$
}
Приклад перевірки сервісу:
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 все працює. ще раз Дякую.