CloudWatch Syntheticsのアラートをメール通知する

記事タイトルとURLをコピーする

前回の記事(CloudWatch SyntheticsでHTTP監視をする)でHTTPの外形監視ができました。
その続きとして、障害検知した時にメール通知するようにしたいと思います。

AWS歴の長い人なら、CloudWatch Alarmと連携させてSNS通知という方法を推測すると思います。
正解です!!! 但し、設定プロセスが少し独特です。

設定方法

1.シャープドロップの有効化(全体)

CloudWatch > Canary > Thresholds の画面に行きます。 シャープドロップ: 無効化 となっているのがわかります。

編集をクリックします。

シャープドロップを有効にします。

はい、変更を保存します

有効化されました。
Canaryが失敗した場合に通知すると表示されています。
しかし、どこに通知するかはまだ設定していないですね。

2.しきい値の有効化(個別Canary)

シャープドロップ有効化後は、Canaryのしきい値を有効化できるようになります。
Canaryの新規作成時でも、後から変更でもどちらでも可能です。

Canary設定画面にいきます。

しきい値を有効にします。

3.アラーム設定が自動生成

しきい値を有効化すると、自動的にCloudWatch Alarmが作成されます。

4.アラーム設定にSNS通知を追加

自動生成のアラームにはアクションは未設定です。
SNS通知の設定を追加します。

5.アラーム発生時に通知を受け取る

アラーム発生時には、SNSから以下のようなメールを受け取ることができます。

ALARM: "Synthetics-Alarm-web-server" in Asia Pacific (Tokyo)

You are receiving this email because your Amazon CloudWatch Alarm "Synthetics-Alarm-web-server" in the Asia Pacific (Tokyo) region has entered the ALARM state, because "Threshold Crossed: 2 out of the last 2 datapoints [0.0 (30/01/20 12:30:00), 0.0 (30/01/20 12:25:00)] were less than or equal to the threshold (0.0) (minimum 2 datapoints for OK -> ALARM transition)." at "Thursday 30 January, 2020 12:35:23 UTC".

View this alarm in the AWS Management Console:
https://ap-northeast-1.console.aws.amazon.com/cloudwatch/home?region=ap-northeast-1#s=Alarms&alarm=Synthetics-Alarm-web-server

Alarm Details:
- Name:                       Synthetics-Alarm-web-server
- Description:                Synthetics alarm thresholds: 2 test failures in 2 mins
- State Change:               OK -> ALARM
- Reason for State Change:    Threshold Crossed: 2 out of the last 2 datapoints [0.0 (30/01/20 12:30:00), 0.0 (30/01/20 12:25:00)] were less than or equal to the threshold (0.0) (minimum 2 datapoints for OK -> ALARM transition).
- Timestamp:                  Thursday 30 January, 2020 12:35:23 UTC
- AWS Account:                xxxxxxxxxxxx

Threshold:
- The alarm is in the ALARM state when the metric is LessThanOrEqualToThreshold 0.0 for 300 seconds. 

Monitored Metric:
- MetricNamespace:                     CloudWatchSynthetics
- MetricName:                          SuccessPercent
- Dimensions:                          [CanaryName = web-server]
- Period:                              300 seconds
- Statistic:                           Sum
- Unit:                                not specified
- TreatMissingData:                    breaching

State Change Actions:
- OK: 
- ALARM: [arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:Synthetics_Alarms_Topic]
- INSUFFICIENT_DATA: 

--
If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe:
https://sns.ap-northeast-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:Synthetics_Alarms_Topic:a11cee1f-xxxx-xxxx-xxxx-1bbf2b47d4c8&Endpoint=xxxxxxxxx@gmail.com

Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support

まとめ

  • CloudWatch Syntheticsの外形監視でエラー検知時はメール通知可能

実は

  • シャープドロップやしきい値は設定しないで、CloudWatchアラームを直接作成することも可能

渡辺 信秀 (記事一覧)