Pergunta

Eu tenho uma aplicação web, escrito em ColdFusion, que começa periodicamente usando 100% da CPU do servidor e trava o serviço do ColdFusion.

Desde que eu fui incapaz de reproduzir o problema sozinho, eu gostaria de encontrar um utilitário que irá notificar-me por correio electrónico quando o uso da CPU começa a subir, para que eu possa hop no servidor, olhada FusionReactor para ver o que é acontecendo, e identificar o código mal-comportados.

Eu tenho Googled e têm sido incapazes de encontrar um utilitário adequado, então eu pensei que eu ia perguntar se outros programadores têm encontrado uma ferramenta que pode fazer esse tipo de monitoramento. Dadas as especificidades de minhas necessidades, eu prefiro não escrever minha própria ferramenta de monitoramento.

Se você tiver outras sugestões para abordar o problema geral, eu adoraria ouvir aqueles também.

As respostas às respostas:

Usando o Windows perfmon para desencadear uma linha de comando parece promissor. Alguém pode me aponte para um tutorial sobre como fazer isso?

Não temos um sistema de monitoramento que está configurado para receber traps SNMP.

Estamos executando o ColdFusion 8 Standard Edition, que não inclui o desempenho ColdFusion monitoramento tools-- única Enterprise inclui aqueles.

A resposta de Peter Boughton vai provavelmente permitir-me para resolver o problema, mas ele não me ajudar a resolver o problema de forma proativa como começa CPU para spike, então eu ainda estou procurando uma solução notificação.

Foi útil?

Solução

Eu tive um problema semelhante há algumas semanas e foi direcionado para um programa chamado AlwaysUp.

http://www.coretechnologies.com/products/AlwaysUp/

Monitores qualquer processo por qualquer combinação de:

  • useage memória
  • uso de CPU
  • Unresponsiveness
  • Executar um script personalizado para determinar se ele deve ser reposto

A partir daqui você pode reiniciar o serviço, ou e-mails de notificação de envio, ou executar um script para registrar as coisas, etc.

Eles têm um dia 30 demo, I foi vendido no 2º dia .. Uma boa solução rápida quando você chegar ao fundo da questão.

Outras dicas

No Windows, você pode usar o desempenho e ferramentas de monitoramento (PerfMon) que vêm de fábrica com o Windows. Quando a CPU atinge um certo ponto, pode desencadear um aviso de SNMP que podem ser apanhados pela maioria das ferramentas de monitoramento do sistema e alertá-lo dessa forma. Ele também pode executar um comando ou fazer uma variedade de outras coisas úteis que podem ajudar você pregá-lo para baixo.

Outra alternativa está disponível para você se você estiver executando ColdFusion 8 - o monitor de desempenho. Você pode configurar alertas para enviar um e-mail, chamar outro CFC etc. para critérios diferentes.

Eu uso o servidor monitorar um monte - é uma grande ferramenta, embora eu não tenha usado os alertas me muito provavelmente, são bem a pena olhar em como eles olham fácil de configurar.

Quanto geral se aproxima ...

Na nossa empresa use o Windows Perfmon de um servidor para consultar todos os nossos servidores CF cada 30 segundos para obter algumas métricas como CPU total eo tempo médio de resposta. Nós registramos isso para um arquivo CSV. A cada poucos minutos, uma tarefa agendada é executada, que lê os detalhes desses arquivos e salva-los a uma tabela DB. Em seguida, ele trunca os arquivos para que não fique muito grande.

Finalmente, em seguida, uma vez por dia, temos um relatório enviado detalhando todas as métricas do servidor para o nosso departamento de tecnologia que representa graficamente a CPU e tempo médio de resposta para todos os nossos servidores.

Nós encontramos esta é uma ótima maneira de manter o desempenho do servidor na consciência desenvolvedor e detectar tendências (tais como a utilização da CPU pobres) cedo. Nós descobrimos que é muito eficaz porque você não pode saber se você está executando mal até começar a medir suas métricas.

Você não precisa necessariamente essa notificação como acontece -. FusionReactor tem arquivos de log, para que possa verificar estes depois que ele aconteceu, e identificar os scripts em execução no momento

E se você não tem certeza quando está acontecendo é, estou bastante certeza um dos logs contém uso de memória e CPU - embora eu não posso recordar o que os nomes são agora, mas têm um puxão sobre no toras e você deve encontrar a informação relevante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top