Usar alarmes do Amazon CloudWatch - Amazon CloudWatch

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar alarmes do Amazon CloudWatch

Você pode criar alarmes métricos e alarmes compostos no CloudWatch.

  • Um alarme métrico observa uma única métrica do CloudWatch ou o resultado de uma expressão matemática baseada em métricas do CloudWatch. O alarme realiza uma ou mais ações com base no valor da métrica ou na expressão relativa a um limite em alguns períodos. A ação pode ser enviar uma notificação para um tópico do Amazon SNS, executar uma ação do Amazon EC2 ou uma ação de Auto Scaling ou criar um Systems Manager OpsItem.

  • Um alarme composto inclui uma expressão de regra que leva em conta os estados de outros alarmes que você criou. O alarme composto entrará no estado ALARM somente se todas as condições da regra forem atendidas. Os alarmes especificados na expressão de regra de um alarme composto podem incluir alarmes métricos e outros alarmes compostos.

    O uso de alarmes compostos pode reduzir o ruído do alarme. Você pode criar vários alarmes métricos e também criar um alarme composto e configurar alertas apenas para o alarme composto. Por exemplo, um alarme composto poderá entrar no estado ALARM somente quando todos os alarmes métricos subjacentes estiverem no estado ALARM.

    Os alarmes compostos podem enviar notificações do Amazon SNS quando mudam de estado e podem criar Systems Manager OpsItems quando entram no estado ALARM, mas não podem executar ações do EC2 ou do Auto Scaling.

Você pode adicionar alarmes aos painéis do CloudWatch e monitorá-los visualmente. Quando há um alarme em um painel, ele fica vermelho quando está no estado ALARM, facilitando o monitoramento proativo de seu status.

Um alarme invoca ações somente quando o alarme muda de estado. A exceção é para alarmes com ações de Auto Scaling. Para ações de Auto Scaling, o alarme continua a invocar a ação uma vez por minuto em que o alarme permanece no novo estado.

nota

O CloudWatch não testa nem valida as ações especificadas nem detecta erros do Amazon EC2 Auto Scaling ou do Amazon SNS resultantes de uma tentativa de invocar ações não existentes. Verifique se as ações de alarme existem.

Estados de alarme métrico

Um alarme tem estes estados possíveis:

  • OK – a métrica ou a expressão está dentro do limite definido.

  • ALARM – a métrica ou a expressão está fora do limite definido.

  • INSUFFICIENT_DATA – o alarme acabou de ser acionado, a métrica não está disponível ou não há dados suficientes para a métrica determinar o estado do alarme.

Avaliar um alarme

Ao criar um alarme, você especifica três configurações para habilitar o CloudWatch e avaliar quando alterar o estado do alarme:

  • Period (Período) é o intervalo de tempo para avaliar a métrica ou a expressão e criar cada ponto de dados de um alarme. Ele é expresso em segundos. Se você escolher um minuto como o período, o alarme avaliará a métrica uma vez por minuto.

  • é o número dos períodos de avaliação do mais recentes, ou pontos de dados, para avaliar ao determinar o estado do alarme.

  • em Datapoints to Alarm (Pontos de dados para alarme) é o número de pontos de dados dentro dos períodos de avaliação que devem estar em violação para fazer com que o alarme vá para o estado ALARM. Os pontos de dados de violação não precisam ser consecutivos, eles devem estar dentro do último número de pontos de dados igual ao Evaluation Period (Período de avaliação).

Na figura a seguir, o limite para um alarme métrico é definido como três unidades. Tanto Evaluation Period (Período de avaliação) quanto Datapoints to Alarm (Pontos de dados para alarme) são 3. Ou seja, quando todos os pontos de dados nos três períodos consecutivos mais recentes estiverem acima do limite, o alarme passará para o estado ALARM. Na figura, isso acontece do terceiro ao quinto períodos de tempo. No período seis, o valor fica abaixo do limite, portanto, um dos períodos que estão sendo avaliados não é violado e o estado do alarme muda de volta para OK. Durante o nono período, o limite é violado novamente, mas somente em um período. Consequentemente, o estado do alarme permanece OK.


        Alarme de acionamento do limite de alarme

Quando você configura Evaluation Periods (Períodos de avaliação) e Datapoints to Alarm (Pontos de dados para alarme) como valores diferentes, está definindo um alarme "M de N". Pontos de dados para alarme é ("M") e Períodos de avaliação é ("N"). O intervalo de avaliação é o número de pontos de dados multiplicado pelo período. Por exemplo, se você configurar 4 de 5 pontos de dados com um período de 1 minuto, o intervalo de avaliação será de 5 minutos. Se você configurar 3 de 3 pontos de dados com um período de 10 minutos, o intervalo de avaliação será de 30 minutos.

nota

Se os pontos de dados estiverem ausentes logo depois que você criar um alarme, e a métrica estava sendo relatada para o CloudWatch antes da criação do alarme, o CloudWatch recuperará os pontos de dados mais recentes, anteriores à criação do alarme, ao avaliar o alarme.

Configurar como os alarmes do CloudWatch tratam dados ausentes

Às vezes, nem todos os pontos de dados esperados para uma métrica são relatados ao CloudWatch. Por exemplo, isso pode ocorrer quando uma conexão é perdida, um servidor é desativado, ou quando uma métrica informa apenas dados de forma intermitente por padrão.

O CloudWatch permite que você especifique como tratar pontos de dados ausentes ao avaliar um alarme. Isso ajuda você a configurar seu alarme para que ele vá para o estado ALARM somente quando apropriado para o tipo de dados que está sendo monitorado. Você pode evitar falsos positivos quando dados ausentes não indicam um problema.

Assim como cada alarme está sempre em um dos três estados, cada ponto de dados específico relatado do CloudWatch se insere em uma das três categorias:

  • Não violar (dentro do limite)

  • Violar (violando o limite)

  • Ausente

Para cada alarme, é possível especificar o CloudWatch para tratar pontos de dados ausentes como qualquer uma destas opções:

  • notBreaching – os pontos de dados ausentes são tratados como "bons" e dentro do limite

  • breaching – os pontos de dados ausentes são tratados como "ruins" e violando o limite

  • ignore – o estado do alarme atual é mantido

  • missing – se todos os pontos de dados no intervalo de avaliação do alarme estiverem ausentes, o alarme mudará para INSUFFICIENT_DATA.

A melhor escolha depende do tipo de métrica. Para uma métrica que relata dados continuamente, como CPUUtilization de uma instância, convém tratar os pontos de dados ausentes como breaching, pois eles podem indicar que algo está errado. Mas, para uma métrica que gera pontos de dados somente quando ocorre um erro, como ThrottledRequests no Amazon DynamoDB, é possível tratar dados ausentes como notBreaching. O comportamento padrão é missing.

Escolher a melhor opção para seu alarme evita alterações desnecessárias e enganosas e também indica com mais precisão a integridade do seu sistema.

Como o estado do alarme é avaliado quando há dados ausentes

Sempre que um alarme avalia se é necessário alterar o estado, o CloudWatch tenta recuperar um número maior de pontos de dados que o número especificado como Evaluation Periods (Períodos de avaliação). O número exato de pontos de dados que ele tenta recuperar depende do tamanho do período de alarme e se ele é baseado em uma métrica com resolução padrão ou alta. O período de pontos de dados que ele tenta recuperar é o intervalo de avaliação.

Assim que o CloudWatch recupera esses pontos de dados, o seguinte acontece:

  • Se não houver pontos de dados faltando no intervalo de avaliação, o CloudWatch avaliará o alarme com base nos pontos de dados mais recentes coletados. O número de pontos de dados avaliados é igual aos Evaluation Periods (Períodos de avaliação) do alarme. Os pontos de dados extras mais distantes no intervalo de avaliação não são necessários e são ignorados.

  • Se alguns pontos de dados no intervalo de avaliação estiverem ausentes, mas o número total de pontos de dados existentes recuperados com êxito no intervalo de avaliação for igual ou maior que os Evaluation Periods (Períodos de avaliação) do alarme, o CloudWatch avaliará o estado do alarme com base nos pontos de dados reais mais recentes que foram recuperados com êxito, incluindo os pontos de dados extras necessários mais antigos no intervalo de avaliação. Nesse caso, o valor que você define para como tratar dados ausentes não é necessário e é ignorado.

  • Se alguns pontos de dados no intervalo de avaliação estiverem ausentes e o número de pontos de dados reais recuperados for menor que o número do alarme de Evaluation Periods (Períodos de avaliação), o CloudWatch preencherá os pontos de dados ausentes com o resultado especificado para como tratar dados ausentes e avaliará o alarme. No entanto, todos os pontos de dados reais no intervalo de avaliação são incluídos na avaliação. O CloudWatch usa pontos de dados ausentes o mínimo possível.

nota

Um caso específico desse comportamento é que os alarmes do CloudWatch podem reavaliar repetidamente o último conjunto de pontos de dados por um período, depois que o fluxo da métrica foi interrompido. Essa reavaliação pode fazer com que o estado do alarme mude e as ações sejam executadas novamente, se ele tiver sido alterado imediatamente antes do fluxo de métrica ser interrompido. Para atenuar esse comportamento, use períodos mais curtos.

As tabelas a seguir ilustram exemplos do comportamento de avaliação de alarme. Na primeira tabela, Datapoints to Alarm (Pontos de dados para alarme) e Evaluation Periods (Períodos de avaliação) são ambos 3. O CloudWatch recupera os 5 pontos de dados mais recentes ao avaliar o alarme, caso alguns dos 3 pontos de dados mais recentes estejam ausentes. 5 é o intervalo de avaliação do alarme.

A coluna 1 mostra os 5 pontos de dados mais recentes, pois o intervalo de avaliação é 5. Esses pontos de dados são mostrados com o ponto de dados mais recente à direita. 0 é um ponto de dados de não violação, X é um ponto de dados de violação e - é um ponto de dados ausente.

A coluna 2 mostra quantos dos 3 pontos de dados necessários estão ausentes. Embora os 5 pontos de dados mais recentes sejam avaliados, apenas 3 (a configuração para Evaluation Periods (Períodos de avaliação)) são necessárias para avaliar o estado do alarme. O número de pontos de dados na coluna 2 é o número de pontos de dados que devem ser "preenchidos", usando a configuração de como dados ausentes estão sendo tratados.

Nas colunas 3-6, os cabeçalhos de coluna são os valores possíveis de como tratar dados ausentes. As linhas nessas colunas mostram o estado do alarme definido para cada uma dessas maneiras possíveis de tratar dados ausentes.

Pontos de dados Número de pontos de dados que devem ser preenchidos AUSENTE IGNORE VIOLAÇÃO NÃO VIOLAÇÃO

0 - X - X

0

OK

OK

OK

OK

0 - - - -

2

OK

OK

OK

OK

- - - - -

3

INSUFFICIENT_DATA

Reter estado atual

ALARM

OK

0 X X - X

0

ALARM

ALARM

ALARM

ALARM

- - X - -

2

ALARM

Retain current state

ALARM

OK

Na segunda linha da tabela anterior, o alarme permanece em OK mesmo que os dados ausentes sejam tratados como violação, porque um ponto de dados existente não está violando o limite, e isso é avaliado junto com dois pontos de dados ausentes que são tratados como violação. Na próxima vez que esse alarme for avaliado, se os dados ainda estiverem ausentes, ele irá para ALARM, pois esse ponto de dados de não violação não estará mais no intervalo de avaliação.

A terceira linha, onde todos os cinco pontos de dados mais recentes estão ausentes, ilustra como as várias configurações de como tratar dados ausentes afetam o estado do alarme. Se os pontos de dados ausentes forem considerados violação, o alarme entrará no estado ALARME, enquanto se forem considerados não violação, o alarme entrará no estado OK. Se os pontos de dados ausentes forem ignorados, o alarme reterá o estado atual que tinha antes dos pontos de dados ausentes. E se os pontos de dados ausentes são apenas considerados ausentes, o alarme não tem dados reais recentes suficientes para fazer uma avaliação e entra em INSUFFICIENT_DATA.

Na quarta linha, o alarme passará para o estado ALARM em todos os casos, porque os três pontos de dados mais recentes estão violando o limite, e os Evaluation Periods (Períodos de avaliação) e os Datapoints to Alarm (Pontos de dados para alarme) do alarme estão definidos como 3. Nesse caso, o ponto de dados ausentes é ignorado e a configuração de como avaliar dados ausentes não é necessária, pois há 3 pontos de dados reais a serem avaliados.

A linha 5 representa um caso especial de avaliação de alarme chamado estado de alarme prematuro. Para obter mais informações, consulte Evitar transições estreitas para o estado do alarme.

Na próxima tabela, o Period (Período) é novamente definido como 5 minutos, e Datapoints to Alarm (Pontos de dados para alarme) é somente 2, enquanto Evaluation Periods (Períodos de avaliação) é 3. Esse é um alarme 2 de 3, M de N.

O intervalo de avaliação é 5. Esse é o número máximo de pontos de dados recentes que são recuperados e podem ser usados caso alguns pontos de dados estejam ausentes.

Pontos de dados Número de pontos de dados ausentes AUSENTE IGNORE VIOLAÇÃO NÃO VIOLAÇÃO

0 - X - X

0

ALARM

ALARM

ALARM

ALARM

0 0 X 0 X

0

ALARM

ALARM

ALARM

ALARM

0 - X - -

1

OK

OK

ALARM

OK

- - - - 0

2

OK

OK

ALARM

OK

- - - - X

2

ALARM

Reter estado atual

ALARM

OK

Nas linhas 1 e 2, o alarme sempre entra no estado ALARM porque 2 dos 3 pontos de dados mais recentes estão violando o limite. Na linha 2, os dois pontos de dados mais antigos no intervalo de avaliação não são necessários porque nenhum dos três pontos de dados mais recentes está ausente e, portanto, esses dois pontos de dados mais antigos são ignorados.

Nas linhas 3 e 4, o alarme passará para o estado ALARME somente se os dados ausentes forem tratados como violação, caso em que os dois pontos de dados ausentes mais recentes serão tratados como violação. Na linha 4, esses dois pontos de dados ausentes tratados como violação fornecem os dois pontos de dados de violação necessários para acionar o estado ALARME.

A linha 5 representa um caso especial de avaliação de alarme chamado estado de alarme prematuro. Para obter mais informações, consulte a seção a seguir:

Evitar transições estreitas para o estado do alarme

A avaliação de alarmes do CloudWatch inclui lógica para tentar evitar alarmes falsos, em que o alarme entra no estado ALARM prematuramente quando os dados são intermitentes. O exemplo mostrado na linha 5 nas tabelas da seção anterior ilustra essa lógica. Nessas linhas, e nos exemplos a seguir, os Evaluation Periods (Períodos de avaliação) são 3 e o intervalo de avaliação é 5 pontos de dados. pontos de dados para alarme é 3, exceto para o exemplo M de N, em que pontos de dados para alarme é 2.

Vamos supor que os dados mais recentes de um alarme sejam - - - - X, com quatro pontos de dados ausentes e um ponto de dados de violação como o ponto de dados mais recente. Como o próximo ponto de dados pode ser não violação, o alarme não entrará imediatamente no estado ALARM quando os dados forem - - - - X ou - - - X - e Datapoints to Alarm (Pontos de dados para alarme) for 3. Dessa forma, falsos positivos são evitados quando o próximo ponto de dados não viola e faz com que os dados sejam - - - X O ou - - X - O.

Contudo, se os últimos pontos de dados forem - - X - -, o alarme entrará no estado ALARM mesmo se os pontos de dados ausentes forem tratados como ausentes. Isso ocorre porque os alarmes são projetados para sempre entrar no estado ALARME quando a violação do ponto de dados mais antigo disponível durante os períodos de avaliação é pelo menos tão antigo quanto o valor de Pontos de dados para alarme, e todos os outros pontos de dados mais recentes estão em violação ou ausentes. Nesse caso, o alarme entrará no estado ALARME mesmo que o número total de pontos de dados disponíveis seja menor que M (Pontos de dados para alarme).

Essa lógica de alarme também se aplica a alarmes M de N. Se o ponto de dados de violação mais antigo durante os Evaluation Periods (Períodos de avaliação) for pelo menos tão antigo quanto o valor de Evaluation Periods (Períodos de avaliação), e todos os pontos de dados mais recentes estiverem em violação ou ausentes, o alarme entrará no estado ALARM independentemente do valor de M (Datapoints to Alarm (Pontos de dados para alarme)).

Alarmes de alta resolução

Se você definir um alarme em uma métrica de alta resolução, pode especificar um alarme de alta resolução com um período de 10 ou 30 segundos ou pode definir um alarme regular com um período de qualquer múltiplo de 60 segundos. Há um custo maior para alarmes de alta resolução. Para obter mais informações sobre as métricas de alta resolução, consulte Publicar métricas personalizadas.

Alarmes em expressões matemáticas

Defina um alarme com base no resultado de uma expressão matemática baseada em uma ou mais métricas do CloudWatch. Uma expressão matemática usada para um alarme pode incluir até 10 métricas. Toda métrica deve estar usando o mesmo período.

Para um alarme baseado em uma expressão matemática, especifique como o CloudWatch deve tratar pontos de dados ausentes para as métricas subjacentes durante a avaliação do alarme.

Os alarmes baseados em expressões matemáticas não podem realizar ações do Amazon EC2.

Para obter mais informações sobre expressões matemáticas e sintaxe de métrica, consulte Usar matemática de métricas.

Alarmes do CloudWatch baseados em percentual e exemplos de poucos dados

Quando você define um percentil como a estatística para um alarme, você pode especificar o que fazer quando não há dados suficientes para uma boa avaliação estatística. Você pode escolher que o alarme avalie a estatística de qualquer forma e possivelmente altere o estado do alarme. Ou você pode determinar que o alarme ignore a métrica enquanto o tamanho da amostra for baixo e esperar para avaliá-la até que haja dados suficientes para serem estatisticamente significativos.

Para percentis entre 0,5 (inclusive) e 1,00 (exclusive), essa configuração é usada quando há menos de 10/(1 percentil) pontos de dados durante o período de avaliação. Por exemplo, essa configuração seria usada se houvesse menos do que 1.000 amostras para um alarme em um p99 percentil. Para percentis entre 0 e 0,5 (exclusive), a configuração é usada quando há menos de 10/percentil pontos de dados.

Recursos comuns de alarmes do CloudWatch

Os recursos a seguir se aplicam a todos os alarmes do CloudWatch:

  • É possível criar até 5.000 alarmes por região por conta da AWS. Para criar ou atualizar um alarme, use o console do CloudWatch, a ação da API PutMetricAlarm do ou o comando put-metric-alarmAWS CLI na .

  • Os nomes de alarme devem conter somente caracteres ASCII.

  • É possível listar qualquer um ou todos os alarmes configurados atualmente e listar todos os alarmes em um estado específico usando o console do CloudWatch, a ação da API DescribeAlarms ou o comando describe-alarms na AWS CLI.

  • É possível desabilitar e habilitar alarmes usando as ações de API CloudWatch, DisableAlarmActions e EnableAlarmActions ou os comandos disable-alarm-actions e enable-alarm-actions na AWS CLI.

  • Você pode testar um alarme definindo-o como qualquer estado usando a ação de API SetAlarmState do ou o comando set-alarm-stateAWS CLI na . Essa alteração de estado temporária dura somente até ocorrer a próxima comparação de alarmes.

  • É possível criar um alarme para uma métrica personalizada antes de criar essa métrica personalizada. Para o alarme ser válido, é necessário incluir todas as dimensões para a métrica personalizada, além do namespace e do nome da métrica na definição do alarme. Para fazer isso, você pode usar a ação da API PutMetricAlarm ou o comando put-metric-alarm na AWS CLI.

  • É possível visualizar o histórico de um alarme usando o console do CloudWatch, a ação DescribeAlarmHistory da API ou o comando describe-alarm-history na AWS CLI. O CloudWatch preserva o histórico do alarme por duas semanas. Cada transição de estado é marcada com um time stamp exclusivo. Em casos raros, o histórico pode mostrar mais de uma notificação para uma alteração de estado. O time stamp permite confirmar alterações de estado exclusivas.

  • O número de períodos de avaliação para um alarme multiplicado pela duração de cada período de avaliação não pode exceder um dia.

nota

Alguns recursos da AWS não enviam dados de métrica para o CloudWatch em determinadas condições.

Por exemplo, o Amazon EBS não pode enviar dados de métrica para um volume disponível que não esteja anexado a uma instância do Amazon EC2, porque não há atividade de métrica a ser monitorada para esse volume. Se você tiver um alarme definido para essa métrica, poderá observar a alteração do estado para INSUFFICIENT_DATA. Isso pode indicar que o recurso está inativo e não necessariamente indicar que há um problema. É possível especificar como cada alarme lida com os dados ausentes. Para obter mais informações, consulte Configurar como os alarmes do CloudWatch tratam dados ausentes.