Monitoramento “Application” do Zabbix - Como eu detecto um aplicativo congelado “suspenso”

2

Eu tenho o Zabbix Server no Ubuntu funcionando ... Eu tenho uma instalação do agente no meu servidor Windows. O Template_Windows faz maravilhas e me dá todos os tipos de estatísticas com as quais estou feliz de jogar ...

O problema é que estou tentando monitorar um aplicativo. Não é um serviço ou um site. Uma aplicação.

Eu tenho um aplicativo que gosta de travar inesperadamente. Eu gostaria de poder obter um alerta "Programa não está respondendo" (e depois canalizar isso para email / sms / reports).

Eu tenho outro servidor com um aplicativo que gostaria de monitorar as estatísticas (uso da CPU, etc.).

Eu vejo como monitorar serviços ... mas estes não são serviços. São aplicativos executados enquanto um "Usuário" está logado. Não consigo encontrar um bom tutorial sobre como configurar algo assim.

Editar: Fazendo mais pesquisas e ajustes ... A questão está se tornando: Independentemente do método, como eu detecto que um aplicativo está congelado / travado / não respondendo?

  • Use Proc_Counter e detecte se há atividade zero por ... 15 segundos?
  • Use uma métrica perf_info? Eu não pareço ver nada nele que indique um processo travado, mas a única página man que eu posso encontrar é 1.4 e o atual Zabbix é 1.8.4.
  • VBScript, teste de linha de comando, etc, que monitora / testa a aplicação com uma saída que pode ser rastreada via UserParameters?

Eu não consigo fazer algo funcionar. Uma vez que eu possa verificar um processo suspenso, posso responder com kill-kill / restart, email responsável, etc ... mas eu simplesmente não consigo encontrar uma forma graciosa de detectar um processo / aplicativo suspenso.

    
por WernerCD 14.04.2011 / 18:27

2 respostas

2

Demorei para sempre para obter simple-checks funcionando. Ainda não tentei aplicativos.

O segundo post aqui ajuda em tudo? link

    
por 14.04.2011 / 19:31
1

Você pode seguir várias direções.

Provavelmente, os dois mais fáceis seriam construir um parâmetro de usuário que executa um script no sistema do cliente para verificar a integridade de seu aplicativo. Se isso levar mais de 30 segundos para ser executado, então você provavelmente será melhor servido configurando um script que, em seguida, envia os dados de saúde para o Zabbix usando o zabbix-sender. No outro extremo, você poderia fazer várias coisas, provavelmente uma das mais fáceis seria acionar nodata () e uma combinação de last () = errorvalue. A verificação nodata funciona melhor se você tiver o cron enviando os dados, pois o tempo da verificação não é controlado pelo Zabbix.

Houve várias discussões sobre isso no fórum do Zabbix.

link

    
por 21.04.2011 / 07:54