У меня есть два следующих пассивных сервиса: ServiceA, ServiceB на одной машине.
Я хотел бы иметь ситуацию, когда состояние ОК удовлетворяется следующими условиями:
Я хотел бы иметь тревогу, когда:
Какой вариант конфигурации я должен использовать для этого? Зависимость от обслуживания выглядит неплохо, но с этим мне не повезло.
Это называется мониторингом «кластера» услуг. Вы можете использовать check_cluster сценарий.
В документированном методе вместо прямого вызова используется сценарий-оболочка, подобный этому:
define command{
command_name check_service_cluster
command_line /usr/local/nagios/libexec/check_cluster --service -l $ARG1$ -w $ARG2$ -c $ARG3$ -d $ARG4$
}
а затем определите свой собственный конкретный сервис:
define service{
...
check_command check_service_cluster!"DNS Cluster"!1!2!$SERVICESTATEID:host1:dnsservicename,$SERVICESTATEID:host2:dnsservicename,$SERVICESTATEID:host3:dnsservicename
...
}
В этом примере 1/3 служб не в порядке - это предупреждение, 2/3 службы не в порядке - критическое значение.
check_cluster
как уже упоминалось, это "олдскульный" способ сделать это. Но в лучшем случае это неуклюже.
check_multi это много лучший вариант для этого; он разработан именно для того, что вы хотите.
Один из способов добиться этого - использовать зависимость от службы с «неудачей» в «ОК состоянии», как показано ниже:
define servicedependency{
host_name hostX
service_description ServiceA
dependent_host_name hostX
dependent_service_description ServiceB
execution_failure_criteria o
notification_failure_criteria o
}
«o» в «execution_failure_criteria» означает, что если ServiceA находится в состоянии ОК, он не будет проверять наличие ServiceB. Он также не будет уведомлять, если ServiceB имеет состояние «кроме ОК» (оно все равно не будет проверяться)
Это ПОЧТИ идеальное решение. Есть еще две незначительные проблемы:
Как было сказано ранее, check_multi - это решение (лучшее, если вы вообще не хотите видеть, что только одна из служб не работает)
Другой - использовать Nagios BPI: http://assets.nagios.com/downloads/nagioscore/docs/Using_The_BPI_Addon.pdf
С помощью этого дополнения вы можете создавать сложные "бизнес-показатели", такие как: все в порядке, если только один из моих веб-серверов в порядке И только один из моих серверов баз данных в порядке
Другой вариант, такой как Nagios BPI, - это Check_MK BI (но вам обязательно нужно переключиться на Check_MK, который является отличным продуктом, чтобы его использовать): http://mathias-kettner.de/checkmk_bi.html