View a markdown version of this page

設定警示以建立調查 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定警示以建立調查

在帳戶中設定調查群組之後,您可以設定現有的 CloudWatch 警示,以便在調查進入 ALARM 狀態時自動建立調查。這不需要手動開始調查,並確保對操作問題的一致回應。您可以使用 管理主控台 AWS CLI CloudFormation、 或 AWS SDKs來設定警示 AWS 。

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. 執行下列命令以更新警示。將每個範例資源預留位置取代為您自己的資訊。

    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

本節包含 Java 程式碼片段,可用來設定 CloudWatch 警示以自動建立或更新調查。每個程式碼片段都要求您為 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); }