Я использую CheckEventLog из NSClient ++ 0.5.0.62 2016-09-14
как использовать синтаксис, если конкретный идентификатор события не сгенерирован в течение 24 часов, мне нужно критическое предупреждение, если идентификатор события сгенерирован, мне нужен статус ОК.
Мой синтаксис:
./check_nrpe -H 192.168.63.1 -c check_eventlog -a "scan-range=-24h" "crit=count=<0" "filter=id=1" "ok=count>0" "warn=none"
Вывод :
OK: No entries found
для приведенного выше синтаксиса событие с идентификатором 1 не создается в течение 24 часов, я получаю статус ОК. но мне нужен критический
Пожалуйста, помогите мне с синтаксисом выше.
Самый простой способ - установить пустое состояние и использовать счетчик так же, как вы это делали, переопределяя значение по умолчанию, которое "нормально", когда ничего не найдено.
Ничего не найдено:
check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical
L cli CRITICAL: CRITICAL: No entries found
L cli Performance data: 'count'=0;0;0
Что-то найдено:
check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical
L cli OK: OK: Event log seems fine
L cli Performance data: 'count'=12;0;0
Вы можете немного очистить синтаксис, используя:
Вот так:
Что-то найдено:
check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical show-all "empty-syntax=Nooooohhhh"
L cli CRITICAL: Nooooohhhh
L cli Performance data: 'count'=0;0;0
Ничего не найдено:
check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical show-all
L cli OK: OK: 12 message(s) .....)
L cli Performance data: 'count'=12;0;0
Также обратите внимание этот идентификатор события НЕ уникален в глобальном масштабе, вместо этого они уникальны для каждого источника, поэтому использование только идентификатора события, скорее всего, не будет работать должным образом, если другое приложение (источник) будет использовать тот же идентификатор события ...
P.S. Это было протестировано на 0.5.1, а не на 0.5.0, но теоретически должно работать и на 0.5.0 ...