1

これまでのところ、次のような方法でアラームを設定しました。

dim = new Dimension()
        .withName("InstanceId")
        .withValue(hashedId);

alarmreq = new PutMetricAlarmRequest()
              .withDimensions(dim)
              .withMetricName(metricName)
              .withNamespace(nameSpace)
              .withAlarmName(alarmName)
              .withActionsEnabled(true)
              .withStatistic(statistic)
              .withThreshold(threshold)
              .withComparisonOperator("GreaterThanThreshold")
              .withPeriod(period)
              .withEvaluationPeriods(evaluationPeriods)
              .withAlarmActions("arn:aws:sns:us-west-2:xxxxxxxxx:NotifyMe");

gCloudWatch.putMetricAlarm(alarmreq);

これにより、SNS NotifyMe を実行する指定されたインスタンスのアラームが作成されます。ただし、アラームが ALARM 状態になったときにインスタンスを停止または終了するために、このアラームまたは SNS に追加する方法に関するドキュメントを見つけることができません。

私が持っている唯一のリードは、.withAlarmActions() は SNS または SQS アクションのみを受け入れますが、SNS は HTTP リクエストを作成できるということです。

また、AWS Web インターフェイスでは、インスタンスを停止または終了するアラームを作成できるため、この機能をアラームに追加できることもわかっています。

4

1 に答える 1

2

Amazonフォーラムで質問して答えを見つけました。基本的に、withAlarmActions が SNS または SQS アクションのみを受け入れるという仮定は間違っていました。また、「arn:aws:automate:us-west-2:ec2:stop」の形式で停止または終了アクションを受け入れることもできます。修正するために編集されたコードの最後の行は次のようになります。

.withAlarmActions("arn:aws:sns:us-west-2:xxxxxxxxx:NotifyMe", "arn:aws:automate:us-west-2:ec2:stop");

興味のある人なら、ここに完全な答えがあります。 https://forums.aws.amazon.com/thread.jspa?messageID=466061᲍

于 2013-07-04T15:43:52.803 に答える