Como posso nivelar minhas verificações de dimensionamento automático?

1

Então, tenho andado a brincar com a minha configuração de escala automática e os meus alarmes do Cloudwatch para tentar manter todas as minhas instâncias ronronando, mas não rugindo.

Eu não consigo me livrar de um yoyo constante. O uso da CPU aumenta, introduz uma instância, o uso da CPU cai, mata uma instância. Enxague e repita.

Atualmente,estoubaseandomeualarmeemintervalosde3x1mindeCPUmédia>=40%.Talvezeupossabasearemoutracoisa?ACPUécomplicada,poisquandoessegráficoestáaumentando(alto),épossívelveralgumasinstânciascomaCPUinativa,demodoqueamédiaestásendogeradaporumaúnicainstância.

Euestouachandoquealgumaspessoasestãorecebendo502quandoeuestourecebendo200's.Obviamente,eugostariaqueissofosseconsistenteeparassecomissootempotodo.

Obrigadoantecipadamente.

EDIT1:ajusteiamétricadoCloudwatchpara20%daCPUem2minutosetambémencontreiumerronginxquemaytambématribuiuaalgumacargaadicional.Ográficoatualseparececomoabaixo.

EDIT 2: O monitoramento da carga é muito . Veja abaixo o alarme de carga. Estou recebendo alertas com menos frequência e tudo está funcionando muito melhor.

Isso é o que eu estou executando no cron a cada minuto;

/usr/local/bin/aws cloudwatch put-metric-data --namespace="NS" --metric-name="GroupLoad" --value 'cat /proc/loadavg | awk '{print $1}'' --dimensions AutoScalingWebGroup=NS-WebGroup

    
por Christian 16.08.2014 / 11:54

1 resposta

1

Em vez do AutoScaling baseado em CPU , tente Carregar o servidor .

O AWS AutoScaling pode operar em qualquer métrica do CloudWatch e você pode escrever suas próprias métricas personalizadas do CloudWatch.

Mais informações sobre como o AutoScaling funciona: link

Criando uma métrica personalizada

link

CloudWatch metrics are scoped within namespaces, and can be further qualified by up to 10 dimensions. For example, latency could be tracked for a pair of applications ("App1" and "App2") while keeping the values isolated from each other:

$ mon-put-data -namespace App1 -metric-name Latency -value 104
$ mon-put-data -namespace App2 -metric-name Latency -value 120
    
por 18.08.2014 / 14:35