Iniciando instâncias do Linode via StackScripts com base em eventos do Nagios

2

Estou desenvolvendo um aplicativo da web (django / gunicorn / nginx) que precisa ser dimensionado de acordo com a carga. O aplicativo será hospedado no Linodes, então eu pretendo usar o StackScripts (e talvez o Puppet) para iniciar novas instâncias do servidor web, e depois colocá-los atrás de um NodeBalancer.

Parece que Nagios e Munin me permitirão monitorar a carga, receber alertas quando o servidor estiver sob pressão e visualizar alguns gráficos bonitos. Mas esses aplicativos também me permitem automatizar a implantação de um novo Linode? Parece que eu deveria ser capaz de escrever um manipulador de eventos Nagios que inicia o StackScript. Mas não tenho certeza se é possível criar uma verificação que possa determinar quando iniciar uma nova instância.

  • É possível configurar um alerta que leva em conta as medidas anteriores? Meus critérios serão baseados em quanto tempo uma máquina está sob carga, em vez de uma leitura instantânea. Não me preocupo se o servidor web está próximo do uso máximo de um cheque, mas posso ser se continuar assim por dois ou mais.
  • Estou sentindo falta de um pedaço? Eu estou pensando que isso é possível em um plugin que usa dados já disponíveis para o Nagios / Munin. Mas talvez eu precise escrever um aplicativo ou script separado que armazene valores de verificação anteriores e faça as comparações.
  • Alguém pode me indicar um exemplo do uso do Nagios para dimensionar um aplicativo? Eu vi alguns slideshows em que as pessoas discutem o dimensionamento dessa maneira (geralmente no EC2), mas não há exemplos concretos.

Obrigado.

    
por Andrew 06.02.2012 / 20:43

1 resposta

0

Você pode definir a verificação de carga do Nagios para verificar novamente várias vezes durante um período de tempo definido antes de disparar o manipulador de eventos e / ou alerta. Se a carga atingir um limite crítico, verifique novamente uma vez por minuto por 10 minutos e, se continuar a exibir carga crítica, acione o manipulador / alerta de eventos.

Se realmente não verificar o histórico, mas verificar se o estado mudou da verificação mais recente.

    
por 06.02.2012 / 21:36