View a markdown version of this page

Configurar um alarme para criar investigações - Amazon CloudWatch

Configurar um alarme para criar investigações

Depois que um grupo de investigações é configurado em sua conta, é possível configurar os alarmes existentes do CloudWatch para criar investigações automaticamente quando eles entrarem no estado ALARM. Isso elimina a necessidade de iniciar investigações manualmente e garante uma resposta consistente aos problemas operacionais. Você pode configurar alarmes usando o AWS Management Console, a AWS CLI, o CloudFormation ou os SDKs da AWS.

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

  2. No painel de navegação, escolha Alarmes e selecione um alarme existente.

  3. Selecione Ações, Editar.

  4. Na seção Ações de alarme, escolha Adicionar ação de alarme.

  5. Na seção Configurar ações, Ação de investigação, escolha o ARN do grupo de investigações.

  6. (Opcional) Adicione uma string de desduplicação para agrupar os alarmes relacionados.

  7. Escolha Create alarm (Criar alarme).

CLI

Este comando requer que você especifique um ARN para o parâmetro alarm-actions. Para obter informações sobre como criar o ARN, consulte Formato do ARN e parâmetros.

Para configurar um alarme do CloudWatch com a ação InvestigationGroup (AWS CLI)
  1. Instale e configure o AWS CLI, caso ainda não o tenha feito. Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.

  2. Execute o seguinte comando a fim de coletar informações sobre o alarme que você deseja configurar.

    aws cloudwatch describe-alarms --alarm-names "alarm name"
  3. Execute o comando a seguir para atualizar um alarme. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

    aws cloudwatch put-metric-alarm --alarm-name name \ --alarm-description "description" \ --metric-name name --namespace namespace \ --statistic statistic --period value --threshold value \ --comparison-operator value \ --dimensions "dimensions" --evaluation-periods value \ --alarm-actions "arn:aws:aiops:region:{account-id}:investigation-group/{investigationGroupIdentifier}#DEDUPE_STRING={my-dedupe-string}"

    Aqui está um exemplo.

    //Without deduplication string aws cloudwatch put-metric-alarm --alarm-name cpu-mon \ --alarm-description "Alarm when CPU exceeds 70 percent" \ --metric-name CPUUtilization --namespace AWS/EC2 \ --statistic Average --period 300 --threshold 70 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 \ --alarm-actions arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ \ --unit Percent //With deduplication string aws cloudwatch put-metric-alarm --alarm-name cpu-mon \ --alarm-description "Alarm when CPU exceeds 70 percent" \ --metric-name CPUUtilization --namespace AWS/EC2 \ --statistic Average --period 300 --threshold 70 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 \ --alarm-actions arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ#DEDUPE_STRING=performance \ --unit Percent
CloudFormation

Esta seção inclui modelos do CloudFormation que podem ser usados para configurar os alarmes do CloudWatch para criar ou atualizar investigações automaticamente. Cada modelo requer que você especifique um ARN para o parâmetro AlarmActions. Para obter informações sobre como criar o ARN, consulte Formato do ARN e parâmetros.

//Without deduplication string Resources: MyAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmActions: - !Sub "arn:aws:aiops:${AWS::Region}:${AWS::AccountId}:investigation-group/{investigationGroupIdentifier}" //With deduplication string Resources: MyAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmActions: - !Sub "arn:aws:aiops:${AWS::Region}:${AWS::AccountId}:investigation-group/{investigationGroupIdentifier}#DEDUPE_STRING={my-dedupe-string}"
SDK

Esta seção inclui trechos de código em Java que podem ser usados para configurar alarmes do CloudWatch para criar ou atualizar investigações automaticamente. Cada trecho requer que você especifique um ARN para o parâmetro investigationGroupArn. Para obter informações sobre como criar o ARN, consulte Formato do ARN e parâmetros.

import com.amazonaws.services.cloudwatch.AmazonCloudWatch; import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder; import com.amazonaws.services.cloudwatch.model.ComparisonOperator; import com.amazonaws.services.cloudwatch.model.Dimension; import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest; import com.amazonaws.services.cloudwatch.model.PutMetricAlarmResult; import com.amazonaws.services.cloudwatch.model.StandardUnit; import com.amazonaws.services.cloudwatch.model.Statistic; //Without deduplication string private void putMetricAlarmWithCloudWatchInvestigationAction() { final AmazonCloudWatch cloudWatchClient = AmazonCloudWatchClientBuilder.defaultClient(); Dimension dimension = new Dimension() .withName("InstanceId") .withValue("i-12345678"); String investigationGroupArn = "arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ"; PutMetricAlarmRequest request = new PutMetricAlarmRequest() .withAlarmName("cpu-mon") .withComparisonOperator( ComparisonOperator.GreaterThanThreshold) .withEvaluationPeriods(2) .withMetricName("CPUUtilization") .withNamespace("AWS/EC2") .withPeriod(300) .withStatistic(Statistic.Average) .withThreshold(70.0) .withActionsEnabled(true) .withAlarmDescription("Alarm when CPU exceeds 70 percent") .withUnit(StandardUnit.Percent) .withDimensions(dimension) .withAlarmActions(investigationGroupArn); PutMetricAlarmResult response = cloudWatchClient.putMetricAlarm(request); } //With deduplication string private void putMetricAlarmWithCloudWatchInvestigationActionWithDedupeString() { final AmazonCloudWatch cloudWatchClient = AmazonCloudWatchClientBuilder.defaultClient(); Dimension dimension = new Dimension() .withName("InstanceId") .withValue("i-12345678"); String investigationGroupArn = "arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ#DEDUPE_STRING=performance"; PutMetricAlarmRequest request = new PutMetricAlarmRequest() .withAlarmName("cpu-mon") .withComparisonOperator( ComparisonOperator.GreaterThanThreshold) .withEvaluationPeriods(2) .withMetricName("CPUUtilization") .withNamespace("AWS/EC2") .withPeriod(300) .withStatistic(Statistic.Average) .withThreshold(70.0) .withActionsEnabled(true) .withAlarmDescription("Alarm when CPU exceeds 70 percent") .withUnit(StandardUnit.Percent) .withDimensions(dimension) .withAlarmActions(investigationGroupArn); PutMetricAlarmResult response = cloudWatchClient.putMetricAlarm(request); }