check_cluster
é a maneira "antiga" de fazer isso, como já foi mencionado. Mas é na melhor das hipóteses.
check_multi é uma opção muito melhor para isso; é projetado exatamente para o que você quer.
Eu tenho dois serviços passivos a seguir: ServiceA, ServiceB em uma máquina.
Eu gostaria de ter uma sittuation quando o estado OK for satisfeito seguindo as condições:
Eu gostaria de ter alarme quando:
Qual opção de configuração devo usar para implementar isso? Servicedependency parece bom, mas eu não tive sorte com isso.
check_cluster
é a maneira "antiga" de fazer isso, como já foi mencionado. Mas é na melhor das hipóteses.
check_multi é uma opção muito melhor para isso; é projetado exatamente para o que você quer.
Isso é conhecido como monitoramento de um "cluster" de serviços. Você pode usar o script check_cluster .
O método documentado usa um script de wrapper como este em vez de chamá-lo diretamente:
define command{
command_name check_service_cluster
command_line /usr/local/nagios/libexec/check_cluster --service -l $ARG1$ -w $ARG2$ -c $ARG3$ -d $ARG4$
}
e, em seguida, definir seu próprio serviço específico:
define service{
...
check_command check_service_cluster!"DNS Cluster"!1!2!$SERVICESTATEID:host1:dnsservicename,$SERVICESTATEID:host2:dnsservicename,$SERVICESTATEID:host3:dnsservicename
...
}
Neste exemplo 1/3 serviços não OK é um aviso, 2/3 serviços não OK é crítico.
Uma das maneiras de conseguir isso é usar a prestação de serviços com "falha" no "estado OK", como segue:
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" em "execution_failure_criteria" significa que se o ServiceA estiver no estado OK, ele não verificará o ServiceB. Ele também não notificará se o ServiceB tiver estado "diferente de OK" (ele não será verificado de qualquer maneira)
Esta é quase uma solução perfeita. Ainda existem dois pequenos problemas:
Como dito anteriormente, check_multi é uma solução (o melhor se você não quiser ver que apenas um dos serviços está inativo)
Outra é usar o Nagios BPI: link
Com esse addon você pode construir indicadores complexos de "negócios", como: tudo está OK se apenas um dos meus servidores web estiver OK E apenas um dos meus servidores de banco de dados estiver OK
Outra opção como o Nagios BPI é o Check_MK BI (mas você certamente precisa mudar para o Check_MK, que é um ótimo produto, para usá-lo): link
Tags monitoring nagios