Написание изящного тайм-аута для плагина Nagios - PullRequest
0 голосов
/ 28 ноября 2018

Из Руководство по разработке плагинов Nagios :

Время работы плагинов очень ограничено - обычно 10 секунд.В результате очень важно, чтобы плагины поддерживали внутренний код для выхода, если время выполнения превышает пороговое значение.

Все плагины должны работать правильно, а не только сетевые плагины.

Как можноВнедрить механизм тайм-аута в свой пользовательский плагин?По сути, я хочу, чтобы мой плагин возвращал код состояния 3 - НЕИЗВЕСТНО вместо значения по умолчанию 1 - КРИТИЧЕСКИЙ, когда плагин истекает, чтобы уменьшить количество сгенерированных ложных срабатываний.

РЕДАКТИРОВАТЬ: МойПлагин написан на Bash.

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете использовать timeout.Вот пример использования:

timeout 15 ping google.com
if [ $? -eq 124 ]; then
    echo "UNKNOWN - Time limit exceeded."
    exit 3
if

Вы получите статус возврата возврата 124 из timeout, когда ваша команда не завершится в определенное время - 15 сек.

...