Я пытаюсь отладить, почему услуги Nagios перестали работать; AFAIK, это начало перестать работать внезапно без любого изменения, внесенного, что мы знаем. Я пытаюсь найти принципиальный способ пойти от сервиса до "команды, которую это выполняет, который перестал работать", чтобы отладить это.
Сервис называют "NTP"; в моем /etc/nagios3/conf.d
, Я имею,
define service {
use service-passive-critical
hostgroup_name web-internal
service_description NTP
}
Нет check_command
. Взгляд затем на serivce-passive-critical
,
define service {
name service-passive-critical
use service-passive
notification_interval 1 ; always re-send alerts, PagerDuty will dedup
contact_groups contact-group-24x7
freshness_threshold 900 ; treat service as stale if no updates for 15 min
check_command return-critical ; alert CRITICAL if service is stale
}
A check_command
!, Но рядом как я могу сказать, который должен всегда возвращаться ОЧЕНЬ ВАЖНЫЙ, как имя, предлагает. Мой сервис перестал работать с НЕИЗВЕСТНЫМ, и сообщение "не может создать сокетное соединение". Журналы,
[1439835980] PASSIVE SERVICE CHECK: my-thing.example.com;NTP;3;can't create socket connection
Для полноты, service-passive
:
# passive services
define service {
use foo-service
name service-passive
active_checks_enabled 0
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 0
check_freshness 1
freshness_threshold 900 ; treat service as stale if no updates for 15 min
check_command return-unknown ; alert UNKNOWN if service is stale
}
…
# for all our services we attach a graph link
define service {
name foo-service
use generic-service
action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$
register 0
}
Теперь, мое больше предположения здравого смысла - то, что это заканчивает тем, что работало check_ntp
; это производит, "не может создать сокетное соединение" ошибка, которую я вижу в зависимости от аргументов, я передаю его (который является, почему было бы настолько хорошо знать то, что Nagios делает здесь …); я все еще понятия не имею, почему это начало перестать работать внезапно.
Кроме того, есть ли способ сказать, выполняется ли это локально, на самом хосте Nagios, или удаленно, через NRPE?
Это пассивная служба, верно? Если вы не изменили конфигурацию, то в вашем NAGIOS никогда не выполнялась команда для этой конкретной службы - это была регистрация данных, поступающих извне, через (например) NSCA.
На самом деле, я подозреваю, что это все еще так: внешняя система подает имя хоста, службу, код состояния (3
), и сообщение об ошибке (не может создать сокет-соединение
).
Использование активной команды stub, которая возвращает, например, CRITICAL
, является обычным делом для таких сервисов, так как она работает параллельно с проверкой свежести, что приводит к тому, что при отсутствии данных от внешнего отправителя в течение определенного периода времени (здесь 900s) происходит переход в режим CRITICAL
. Это предотвращает бесшумный отказ служб PASSIVE, когда отправитель молчит, что является хорошей практикой.