Nagios: Enviar o alerta de escalonamento se o problema for confirmado, mas não for recuperado (estado OK)

2

Eu acho que sei a resposta (não é possível) - mas quero ver se alguém tem uma ideia inteligente ou talvez eu esteja errado sobre o assunto.

Objetivo

Queremos que nossos gerentes de turno sejam notificados sobre interrupções de serviço, se:

  • O serviço está inativo por um período definido.
  • A notificação deve ser enviada mesmo que o problema tenha sido confirmado.

Nos documentos do Nagios:

Para notificações:

Notifications are escalated if and only if one or more escalation definitions matches the current notification that is being sent out.

Para agradecimentos:

Allows you to acknowledge the current problem for the specified service. By acknowledging the current problem, future notifications (for the same servicestate) are disabled. If the "sticky" option is set to one (1), the acknowledgement will remain until the service returns to an OK state. Otherwise the acknowledgement will automatically be removed when the service changes state. If the "notify" option is set to one (1), a notification will be sent out to contacts indicating that the current service problem has been acknowledged. If the "persistent" option is set to one (1), the comment associated with the acknowledgement will survive across restarts of the Nagios process. If not, the comment will be deleted the next time Nagios restarts.

Meu entendimento é que, se o problema for reconhecido, não haverá mais notificações. Suponho que isso também se aplique às notificações de escalonamento.

Eu não vejo uma maneira de contornar isso.

Nosso fluxo de trabalho exige que a equipe L1 reconheça o problema, se ele puder lidar com isso e escalar conforme necessário. No entanto, gostaríamos de implementar um processo automático para garantir que essas escalações acontecessem.

O Nagios é onde eu gostaria de fazer isso, mas se não for possível, talvez tenhamos que lidar com isso do lado dos ingressos.

Obrigado!

    
por jeffatrackaid 27.03.2013 / 20:53

1 resposta

1

Eu tenho um script em Perl que faz isso. Você simplesmente precisa verificar o arquivo 'status.dat' para:

host checks > last_time_up = <value>
service checks > last_time_ok = <value>

Ambos armazenam um valor epoch, que, se for maior que um certo número de segundos da época atual, fará com que o check_description e / ou host_name sejam adicionados ao email enviado. Meu script também verifica a entrada 'problem_has_been_acknowledged' e me informa se foi confirmado. Esse script é disparado de uma entrada crontab a cada 30 minutos, enviando uma listagem de todas as verificações de host / serviço correspondentes.

    
por 07.04.2013 / 17:42