Назад | Перейти на главную страницу

как считать нет. пассивных проверок, отправленных с использованием nsca?

У меня есть установка Nagios / NSCA для пользовательского скрипта perl, который запускается на nagioshost.
Я настроил его так:

echo "myhost;myservice;1;Message"|/usr/local/nagios/libexec/send_nsca -to 10 -d ';' -c /etc/send_nsca.cfg -H localhost

Работает безупречно ..

Итак, мой вопрос, есть ли способ в Nagios или NSCA подсчитывать пассивные проверки?
то есть количество раз, когда Nagios получает предупреждение о myservice на myhost
Примечание: настраиваемый сценарий никогда не отправляет "ОК" для службы

Вы можете настроить nsca (демон) для вывода отладки в системный журнал, установив debug = 1 в nsca.cfg. Убедитесь, что параметр отладки не появляется несколько раз с разными значениями в файле конфигурации, иначе он может быть отменен. Со мной случилось :).

nsca.cfg:

# LOG FACILITY
# The syslog facility that should be used for logging purposes.

log_facility=daemon

# DEBUGGING OPTION
# This option determines whether or not debugging
# messages are logged to the syslog facility. 
# Values: 0 = debugging off, 1 = debugging on

debug=1

Пример вывода в / var / log / messages в CentOS 7:

Sep 23 10:53:14 centos nsca[4504]: Starting up daemon
Sep 23 10:53:19 centos nsca[4504]: Handling the connection...
Sep 23 10:53:19 centos nsca[4504]: Time difference in packet: 0 seconds for host myhost
Sep 23 10:53:19 centos nsca[4504]: SERVICE CHECK -> Host Name: 'myhost', Service Description: 'myservice', Return Code: '1', Output: 'Message'
Sep 23 10:53:19 centos nsca[4504]: Attempting to write to nagios command pipe
Sep 23 10:53:19 centos nsca[4504]: Command file '/var/spool/nagios/cmd/nagios.cmd' does not exist, attempting to use alternate dump file '/var/spool/nagios/cmd/nsca.dump' for output
Sep 23 10:53:19 centos nsca[4504]: End of connection...

Следующим шагом является обработка журналов для получения нужной информации / номеров. Есть много способов сделать это ...

Пример по вашему запросу: сколько раз Nagios получает оповещение о моем сервисе на myhost

grep "SERVICE CHECK -> Host Name: 'myhost', Service Description: 'myservice'" /var/log/messages | wc -l
1

Здесь вы видите обработку журнала, показывающую, что есть 1 запись, соответствующая вашим критериям.

Если вы умеете сценарий или программу, вы, вероятно, сможете написать что-то, что будет работать достаточно хорошо даже для многих клиентских хостов, отправляющих пассивные проверки, если у вас есть эти данные в ваших журналах.