View a markdown version of this page

조사를 생성하도록 경보 구성 - Amazon CloudWatch

조사를 생성하도록 경보 구성

계정에 조사 그룹을 설정하면, 기존 CloudWatch 경보가 ALARM 상태가 될 때 조사가 자동으로 생성되도록 구성할 수 있습니다. 이렇게 하면 조사를 수동으로 시작할 필요가 없으며, 운영 문제에 일관된 대응을 할 수 있습니다. AWS Management Console, AWS CLI, CloudFormation 또는 AWS SDK를 사용하여 경보를 구성할 수 있습니다.

Console
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 경보를 선택한 후 기존 경보를 선택합니다.

  3. 작업(Actions), 편집(Edit)을 선택합니다.

  4. 경보 작업 섹션에서 경보 작업 추가를 선택합니다.

  5. 작업 구성, 조사 작업 섹션에서 조사 그룹 ARN을 선택합니다.

  6. (선택 사항) 중복 제거 문자열을 추가하여 관련 경보를 그룹화합니다.

  7. 경보 업데이트(Update alarm)을 선택합니다.

CLI

이 명령을 사용하려면 alarm-actions 파라미터에 대한 ARN을 지정해야 합니다. ARN을 생성하는 방법에 대한 자세한 내용은 ARN 형식 및 파라미터 섹션을 참조하세요.

InvestigationGroup 작업을 사용하여 CloudWatch 경보를 구성하려면(AWS CLI)
  1. 아직 하지 않은 경우 AWS CLI을 설치하고 구성합니다. 자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.

  2. 다음 명령을 실행하여 구성하려는 경보에 대한 정보를 수집합니다.

    aws cloudwatch describe-alarms --alarm-names "alarm name"
  3. 다음 명령을 실행하여 경보를 업데이트합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

    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}"

    다음은 그 예입니다.

    //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

이 섹션에는 조사를 자동으로 생성하거나 업데이트하도록 CloudWatch 경보를 구성하는 데 사용할 수 있는 CloudFormation 템플릿이 포함되어 있습니다. 각 템플릿을 사용하려면 AlarmActions 파라미터에 대한 ARN을 지정해야 합니다. ARN을 생성하는 방법에 대한 자세한 내용은 ARN 형식 및 파라미터 섹션을 참조하세요.

//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

이 섹션에는 조사를 자동으로 생성하거나 업데이트하도록 CloudWatch 경보를 구성하는 데 사용할 수 있는 Java 코드 조각이 포함되어 있습니다. 각 코드 조각을 사용하려면 investigationGroupArn 파라미터에 대한 ARN을 지정해야 합니다. ARN을 생성하는 방법에 대한 자세한 내용은 ARN 형식 및 파라미터 섹션을 참조하세요.

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); }