Auto Scaling do Amazon EC2
Guia do usuário

Monitoramento de seus grupos e instâncias do Auto Scaling usando o Amazon CloudWatch

O Amazon CloudWatch permite que você recupere estatísticas como um conjunto ordenado de dados séries temporais, conhecidos como métricas. Você pode usar essas métricas para verificar se o sistema está executando conforme o esperado.

O Amazon EC2 envia métricas ao CloudWatch que descrevem suas instâncias do Auto Scaling. Essas métricas estão disponíveis para qualquer instância EC2, não apenas para aquelas em um grupo do Auto Scaling. Para obter mais informações, consulte Métricas de instâncias no Guia do usuário do Amazon EC2 para instâncias do Linux.

Os grupos do Auto Scaling podem enviar métricas ao CloudWatch que descrevem o próprio grupo. Você deve habilitar essas métricas.

Métricas de grupo do Auto Scaling

O namespace AWS/AutoScaling inclui as métricas a seguir.

Métrica Descrição
GroupMinSize

O tamanho mínimo do grupo de Auto Scaling.

GroupMaxSize

O tamanho máximo do grupo de Auto Scaling.

GroupDesiredCapacity

O número de instâncias que o grupo de Auto Scaling tenta manter.

GroupInServiceInstances

O número de instâncias que estão sendo executadas como parte do grupo de Auto Scaling. Essa métrica não inclui instâncias pendentes ou sendo encerradas.

GroupPendingInstances

O número de instâncias pendentes. Uma instância pendente ainda não está em serviço. Essa métrica não inclui instâncias em serviço ou sendo encerradas.

GroupStandbyInstances

O número de instâncias que estão em um estado Standby. As instâncias nesse estado ainda estão em execução, mas não estão ativamente em serviço.

GroupTerminatingInstances

O número de instâncias que estão em processo de encerramento. Essa métrica não inclui instâncias que estão em serviço ou pendentes.

GroupTotalInstances

O número total de instâncias no grupo de Auto Scaling. Essa métrica identifica o número de instâncias que estão em serviço, pendentes e sendo encerradas.

Dimensões das métricas de grupo do Auto Scaling

Para filtrar as métricas para seu grupo do Auto Scaling por nome de grupo, use a dimensão AutoScalingGroupName.

Habilitar métricas para o grupo do Auto Scaling

Quando você habilita as métricas do grupo do Auto Scaling, o Auto Scaling envia dados de amostra ao CloudWatch a cada minuto.

Para habilitar métricas de grupo usando o console

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Grupos de Auto Scaling.

  3. Selecione seu grupo do Auto Scaling.

  4. Na guia Monitoramento, em Métricas de Auto Scaling, escolha Habilitar a coleção de métricas de grupo. Se você não vir essa opção, selecione Auto Scaling para Exibição.

    
                        Habilitar a coleção de métricas de grupo do Auto Scaling.

Para desabilitar as métricas de grupo usando o console

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Grupos de Auto Scaling.

  3. Selecione seu grupo do Auto Scaling.

  4. Na guia Monitoramento, em Métricas de Auto Scaling, escolha Desabilitar a coleção de métricas de grupo. Se você não vir essa opção, selecione Auto Scaling para Exibição.

    
                        Desabilitar a coleção de métricas de grupo do Auto Scaling.

Para habilitar as métricas de grupo usando a AWS CLI

Habilite uma ou mais métricas de grupo usando o comando enable-metrics-collection. Por exemplo, o comando a seguir habilita a métrica GroupDesiredCapacity.

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg --metrics GroupDesiredCapacity --granularity "1Minute"

Se você omitir a opção --metrics, todas as métricas serão habilitadas.

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg --granularity "1Minute"

Para desabilitar as métricas de grupo usando a AWS CLI

Use o comando disable-metrics-collection. Por exemplo, o seguinte comando desabilita todas as métricas de grupo do Auto Scaling:

aws autoscaling disable-metrics-collection --auto-scaling-group-name my-asg

Configurar o monitoramento de instâncias do Auto Scaling

Por padrão, o monitoramento básico (granularidade de 5 minutos) é habilitado quando você cria uma configuração de execução usando o Console de gerenciamento da AWS, e o monitoramento detalhado (granularidade de 1 minuto) é habilitado quando você cria uma configuração de execução usando a AWS CLI ou um SDK.

Se você tiver um grupo de Auto Scaling e precisar alterar o tipo de monitoramento que é habilitado para suas instâncias do Auto Scaling, você deverá criar uma nova configuração de ativação e atualizar o grupo do Auto Scaling para usar essa configuração de ativação. Depois disso, as instâncias que o grupo do Auto Scaling ativar usarão o tipo de monitoramento atualizado. Observe que as instâncias existentes no grupo do Auto Scaling continuam a usar o tipo de monitoramento anterior. Você pode encerrar essas instâncias para que o Auto Scaling as substitua ou atualizar cada instância individualmente usando monitor-instances e unmonitor-instances.

Se você tiver alarmes do CloudWatch associados a seu grupo do Auto Scaling, use o comando put-metric-alarm para atualizar cada alarme para que seu período corresponda ao tipo de monitoramento (300 segundos para monitoramento básico e 60 segundos para monitoramento detalhado). Se você alterar de monitoramento detalhado para monitoramento básico, mas não atualizar seus alarmes para corresponderem ao período de cinco minutos, eles continuarão a verificar as estatísticas a cada minuto e poderão encontrar nenhum dado disponível para até quatro de cada cinco períodos.

Para configurar o monitoramento do CloudWatch usando o console

Ao criar a configuração de execução usando o Console de gerenciamento da AWS, na página Configure Details (Configurar detalhes), selecione Enable CloudWatch detailed monitoring (Habilitar o monitoramento detalhado do CloudWatch). Caso contrário, o monitoramento básico será habilitado. Para obter mais informações, consulte Como criar uma configuração de execução.

Para configurar o monitoramento do CloudWatch usando a AWS CLI

Para as configurações de execução, use o comando create-launch-configuration com a opção --instance-monitoring. Defina essa opção como true para habilitar o monitoramento detalhado ou false para habilitar o monitoramento básico.

--instance-monitoring Enabled=true

Visualizar as métricas do CloudWatch

Você pode visualizar as métricas do CloudWatch para seus grupos e instâncias do Auto Scaling usando o console do Amazon EC2. Essas métricas são exibidas como gráficos de monitoramento.

Como alternativa, você pode visualizar essas métricas usando o console do CloudWatch.

Para visualizar as métricas usando o console do Amazon EC2

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Grupos de Auto Scaling.

  3. Selecione seu grupo do Auto Scaling.

  4. Escolha a guia Monitoring.

  5. (Opcional) Para filtrar os resultados de acordo com o horário, selecione um período na opção Exibindo os dados de.

  6. Para visualizar as métricas para seus grupos, em Exibição, escolha Auto Scaling. Para obter uma visualização maior de uma única métrica, selecione seu gráfico. A métricas a seguir estão disponíveis para grupos:

    • Tamanho mínimo do grupo — GroupMinSize

    • Tamanho máximo do grupo — GroupMaxSize

    • Capacidade desejada — GroupDesiredCapacity

    • Em instâncias de serviço — GroupInServiceInstances

    • Instâncias pendentes — GroupPendingInstances

    • Instâncias em espera — GroupStandbyInstances

    • Instâncias em encerramento — GroupTerminatingInstances

    • Total de instâncias — GroupTotalInstances

  7. Para visualizar métricas para suas instâncias, em Exibição, escolha EC2. Para obter uma visualização maior de uma única métrica, selecione seu gráfico. A métricas a seguir estão disponíveis para instâncias:

    • Utilização de CPU — CPUUtilization

    • Leituras de disco — DiskReadBytes

    • Operações de leitura de disco — DiskReadOps

    • Gravações de disco — DiskWriteBytes

    • Operações de gravação de disco — DiskWriteOps

    • Entrada de rede — NetworkIn

    • Saída de rede — NetworkOut

    • Falha na verificação de status (qualquer) — StatusCheckFailed

    • Falha na verificação de status (instância) — StatusCheckFailed_Instance

    • Falha na verificação de status (sistema) — StatusCheckFailed_System

Para visualizar as métricas usando o console do CloudWatch

Para obter mais informações, consulte Agregar estatísticas por grupo do Auto Scaling.

Para visualizar as métricas do CloudWatch usando a AWS CLI

Para visualizar todas as métricas de todos os seus grupos do Auto Scaling, use o seguinte comando list-metrics:

aws cloudwatch list-metrics --namespace "AWS/AutoScaling"

Para visualizar as métricas de um único grupo do Auto Scaling, especifique a dimensão AutoScalingGroupName da seguinte forma:

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --dimensions Name=AutoScalingGroupName,Value=my-asg

Para visualizar uma única métrica para todos os seus grupos do Auto Scaling, especifique o nome da métrica da seguinte forma:

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --metric-name GroupDesiredCapacity

Criar alarmes do Amazon CloudWatch

Um alarme do CloudWatch é um objeto que monitora uma única métrica durante um período específico. Uma métrica é uma variável que você deseja monitorar, como o uso médio de CPU das instâncias EC2 ou o tráfego de entrada da rede de muitas instâncias EC2 diferentes. O alarme muda de estado quando o valor da métrica atinge um intervalo definido e mantém a alteração por um número especificado de períodos.

Um alarme tem três estados possíveis:

  • OK — o valor da métrica permanece dentro do intervalo especificado.

  • ALARM— o valor da métrica está fora do intervalo especificado para um período de tempo especificado.

  • INSUFFICIENT_DATA — a métrica ainda não está disponível ou não há dados disponíveis para determinar o estado do alarme.

Quando o alerta muda para o estado ALARM e permanece nesse estado por um número de períodos, ele invoca uma ou mais ações. As ações podem ser uma mensagem enviada a um grupo do Auto Scaling para alterar a capacidade desejada do grupo.

Você configura um alarme identificando as métricas a serem monitoradas. Por exemplo, você pode configurar um alarme para observar o uso médio de CPU das instâncias EC2 em um grupo do Auto Scaling.

Para criar um alarme do CloudWatch

  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, selecione Alarmes.

  3. Escolha Create Alarm.

  4. Escolha a categoria Métricas do EC2.

  5. (Opcional) Você pode filtrar os resultados. Para ver as métricas da instância, escolha Métricas por instância. Para ver as métricas do grupo do Auto Scaling, escolha By Auto Scaling Group (Por grupo de Auto Scaling).

  6. Selecione uma métrica e, em seguida, escolha Avançar.

  7. Especifique um limite para o alarme e a ação a ser executada.

    Para obter mais informações, consulte Como criar alertas do CloudWatch no Guia do usuário do Amazon CloudWatch.

  8. Escolha Create Alarm.