Мы используем NSCA выполнять пассивные проверки.
define service {
name salt-service
register 0
active_checks_enabled 0
passive_checks_enabled 1
check_freshness 1
freshness_threshold 600
max_check_attempts 2
check_interval 5
retry_interval 3
}
define service {
use salt-service
service_description syncthing_procs-2
host_name x
check_command check_nrpe!syncthing_procs!10
display_name Syncthing Procs
}
Хотя freshness_threshold
составляет 10 минут, есть случай, когда пассивные проверки устарели:
6 октября, 09:52:36 x shinken: [Вт, 6 октября, 09:52:35 2015] Предупреждение: результаты службы syncthing_procs-2 на хосте x устарели на 0d 0h 10m 16s (threshold = 16714d 9h 42m 35с). Я заставляю немедленно проверить службу.
О, где threshold=16714d 9h 42m 35s
пришел, когда я установил его на 10 минут в файле конфигурации? Конечно, системное время на виртуальной машине Shinken и хосте «x» одинаково.
Есть много таких устаревших сервисов. Как видите, после того, как пассивная проверка устарела, мы используем check_nrpe
для выполнения активной проверки. И проблема в том, что теперь у нас так много процессов nrpe, которые кажутся зависшими:
nagios 31404 1 0 Sep18 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 31727 1 0 Oct01 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 31732 1 0 Oct01 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 32148 1 0 Sep30 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
nagios 32157 1 0 Sep30 ? 00:00:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
Я просто наклеил несколько. На самом деле процессов более 200.
Итак, помимо неправильного порога, у меня есть еще один вопрос: почему после этого возникает так много процессов nrpe? Я знаю, что при выполнении активной проверки будет разветвлен новый процесс. Но он должен исчезнуть после проверки, верно?
Ах, я знаю ответ на первый вопрос.
О, а где порог = 16714d 9h 42m 35s, когда я установил его на 10 минут в файле конфигурации?
Похоже, между Shinken и Nagios немного отличается. Это время эпохи в днях / часах / минутах / секундах.
expr $(date +%s) / 3600 / 24
16714
невозможно сказать, что именно пошло не так в вашем случае. Итак, вот некоторые мысли:
Мы используем nsca для пассивных проверок. почему после этого так много процессов nrpe? Я знаю, что при выполнении активной проверки будет разветвлен новый процесс. Но он должен исчезнуть после проверки, верно
Кажется, что nsca не работает должным образом, значит, были выполнены активные проверки. Убедитесь, что nsca работает.
Хотя freshness_threshold составляет 10 минут, есть случай, когда пассивные проверки устарели
или nsca не настроен для отправки пассивного результата в shinken
Я знаю, что при выполнении активной проверки будет разветвлен новый процесс. Но он должен исчезнуть после проверки, верно
Может быть, проверки не прошли, и соединения сохранены другой стороной (синкен)