Monitoramento de produção para instâncias do EC2

3

Estou configurando minha primeira instância de produção no EC2 e quero ter certeza de que tenho todo o monitoramento necessário em vigor. Existem três tipos diferentes de coisas que quero monitorar:

  1. A instância está em execução? As instâncias do EC2 podem ser encerradas sem aviso se o hardware subjacente falhar e, até onde eu saiba, elas não são automaticamente reiniciadas. Então, se não, inicie o backup.

  2. O UNIX está sendo executado corretamente? Este é o material usual sobre carga da CPU, espaço em disco, etc.

  3. O site está respondendo? Caso contrário, reinicie-o.

Inicialmente, configurei o Nagios em um servidor físico fora da nuvem, mas é realmente útil apenas para o item 2. Ele pode me informar se a instância sumiu ou se o site não está respondendo, mas até onde eu sei não pode executar nenhum comando para corrigir a situação.

Meu Google pesquisando sobre este assunto produziu uma infinidade de opções - Cacti, Monit, God, Ganglia e provavelmente mais do que estou esquecendo agora. Não tenho tempo para pesquisar todos eles. Estou ciente do Cloudwatch da Amazon, mas parece que ele não faz nada que a minha instalação do Nagios já não faça.

Se você já tem algo assim, pode compartilhar o que funcionou bem para você?

    
por Janine Ohmer 29.04.2010 / 00:08

4 respostas

2

Monit deve fazer o que você precisa. Se você quiser algo um pouco mais avançado, mas mais especificamente feito sob medida para o EC2, dê uma olhada nos serviços oferecidos por RightScale ou Scalr (um concorrente de código aberto da RightScale).

    
por 29.04.2010 / 01:26
2

Eu resolvi esse problema com o uso do Puppet ... Eu construí meu próprio AMI que possui um cliente puppet instalado e um script SysV-init de dados do usuário que define o hostname antes de iniciar e ativar o processo puppet.

Quando a instância do EC2 se conecta ao mestre de bonecos, ele passa seu endereço IP atual e eu posso usar isso para modelar a configuração do Nagios dos nós do EC2. Quando o endereço IP muda, o arquivo de configuração do Nagios é atualizado e o Puppet inicia uma reinicialização do Nagios.

Reiniciar uma instância do EC2 exigiria ter as ferramentas da API do EC2 instaladas na caixa de monitoramento e configurar algo para automatizar o processo de inicialização da instância. Eu criei um script ruby que faz isso e define o conteúdo de dados do usuário pelo host que está sendo solicitado para ser iniciado.

    
por 29.04.2010 / 06:14
0

Isenção de responsabilidade, sou o gerente da comunidade do Zenoss.

O Zenoss fará exatamente o que você está pedindo.

1) Existe um Zenoss ZenPack especificamente para monitorar instâncias do EC2: link

2) Você também pode monitorar as instâncias ativando o SSH e monitorando-as no nível do sistema operacional. Eu fiz o Debian, Ubuntu, CentOS e OpenSolaris no EC2 dessa maneira.

3) Você pode monitorar o site por processo, verificando a página ou um clickthrough sintético. Em resposta a eventos no Zenoss, você pode chamar um comando Event, como '/etc/init.d/apache restart' para reiniciar um servidor da Web que está desativado (ou qualquer outra coisa que você possa criar scripts).

Confira no link

    
por 29.04.2010 / 03:40
0

Gostaria apenas de acrescentar: em termos de monitoramento do tempo de atividade do site, minha empresa usa o Pingdom, e sinceramente fiquei muito feliz com eles.

link

Eles até têm apps para Android e iPhone (que funcionam muito bem) que o notificam quando o site cai.

E para a divulgação completa, não, eu não trabalho para eles nem nada. Eu sou apenas um cliente entusiasmado:)

    
por 16.11.2011 / 23:20