Existe algum software de monitoramento que me avise se não recebeu nenhuma atividade em um período de tempo?

1

Esta pode ser uma questão muito básica, mas eu não estou muito familiarizado com os recursos exatos do Nagios versus Munin versus outras ferramentas de monitoramento.

Digamos que temos um processo que precisa ser executado diariamente por alguns motivos de infraestrutura muito importantes. Tivemos casos em que o processo não foi executado ou foi interrompido por vários dias antes que alguém percebesse.

Gostaria de criar um sistema que me permita saber facilmente quando a execução diária não ocorreu por algum motivo.

Eu posso configurar esse processo para enviar um e-mail em todas as execuções bem-sucedidas (ou em todas as execuções malsucedidas), mas não confio que as pessoas que receberem este e-mail notariam uma ausência de um "I Estou OK ".

O que estou prevendo é algum tipo de serviço "tripwire" que este V.I.P. (very-important-process) pode enviar uma mensagem de status para cada vez que for executada, com sucesso ou não; e se o serviço "tripwire" não tiver recebido nenhuma palavra do VIP dentro de um período de tempo configurável, ele poderá enviar um alerta para alguém.

(A diferença entre o que eu imagino e a primeira abordagem que descrevi é um serviço que envia uma mensagem apenas em condições anormais, em vez de um serviço que envia mensagens todos os dias que o status é normal / OK).

O Nagios pode ser configurado para enviar um alerta como este, se ele não tiver notícias de um determinado serviço / dispositivo / processo em N dias? Existe outra ferramenta por aí que tenha esse recurso?

    
por matt b 05.01.2011 / 21:45

6 respostas

6

O Nagios suporta exatamente o que você deseja. Dê uma olhada nas verificações passivas e na atualização . Basicamente, você define um host e serviço para o seu trabalho e informa ao Nagios que o serviço é passivo e possui um limite de atualização específico (por exemplo, 26 horas). Sempre que o processo for executado, envie um resultado "OK" para o Nagios. O Nagios controla quando os OKs são enviados e, se nenhum for postado por 26 horas, ele publicará uma notificação.

Há um exemplo nessa página.

    
por 06.01.2011 / 00:58
2

O Nagios apenas executa um comando e analisa o código do resultado. Isso significa que o Nagios pode monitorar quase tudo , assumindo que você pode escrever um comando que retornará o status apropriado.

No seu caso, se o seu processo puder gravar em um arquivo, você pode usar o plugin Nagios check_file_age , que alertará se um arquivo não foi modificado em um determinado período de tempo.

Você poderia, é claro, também ter o Nagios verificando uma caixa de correio e gerar um alerta se uma mensagem não fosse recebida periodicamente.

    
por 05.01.2011 / 21:52
2

Para elaborar o que Jon disse, você pode usar as verificações de serviço do modo "Passivo" do Nagios junto com uma verificação de atualização para fazer isso. As verificações de serviço de modo passivo são análogas a um SNMP traps, pois podem ser enviadas de forma assíncrona ao servidor Nagios.

Existe um complemento NSCA (Nagios Service Check Acceptor) para o Nagios enviar / receber estes dados passivos. verificações de serviço de hosts remotos: link

Seu VIP no final de uma execução bem-sucedida pode ser configurado para executar send_ncsa com uma mensagem delimitada por tabulações como:

printf "VIP_Host_Name\tVIP_Health\t0\tOK\n" | send_ncsa -H nagios_server 

Se o seu VIP tivesse algum problema, você poderia enviar um alerta apropriado:

printf "VIP_Host_Name\tVIP_Health\t1\tUseful Warning Message\n" | send_ncsa -H nagios_server

No seu Nagios Server tem alguma configuração como:

define service {
    service_description     VIP_Health
    active_checks_enabled   0
    passive_checks_enabled  1
    host_name               VIP_Host_Name
    check_freshness         1
    freshness_threshold     99000
    check_command           vip_overdue
}

Para gerar um alerta incondicionalmente sempre que o freshness_threshold é excedido (número de segundos desde a última vez que qualquer informação foi recebido para esse serviço) configure um novo comando check_do Nagios chamado vip_overdue que sempre sairá com um status CRITICAL e relevante mensagem de erro como:

#!/bin/bash
echo "CRITICAL: VIP is overdue"
exit 2
    
por 06.01.2011 / 07:05
1

Sim, o Nagios pode. Basta ter um plug-in que verifique uma saída do processo importante com menos de um dia. Não presente? Serviço degradado!

    
por 05.01.2011 / 21:48
1

Apenas para dar uma alternativa ao Nagios, dê uma olhada no Zabbix . Ele usa a mesma abordagem descrita por larsks para o Nagios, mas acho que o Zabbix é mais amigável e mais fácil de configurar.

Dê uma olhada em este post e este .

    
por 05.01.2011 / 22:12
0

Você também pode configurar monit para fazer exatamente isso.

Monit permite testar o conteúdo de um arquivo [1] ou seu timestamp [2].

Você pode monitorar isso por meio de sua interface da web e também receber e-mails se o teste falhar.

Na minha opinião, monit é muito fácil de configurar em comparação com nagios. Acabei de fazer o que descrevi para um processo que corri e não levei mais de 15 minutos, desde o download do monit até a execução.

1.- ( link )

2.- ( link )

    
por 05.01.2011 / 23:23