0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CloudWatch Syntheticsのメトリクスとアラームについて

Posted at

概要

CloudWatch Syntheticsで取得できるメトリクスを元にアラームを設定することができるが、メトリクスがどのように取得されているかやデータの解像度が分からなかったので調査。

Canary によって発行される CloudWatch メトリクス

こちらはドキュメントの通り。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_metrics.html

APIの外形監視であれば、おそらく下記の3つを利用することになる

  • SuccessPercent
  • Duration
  • Failed

アラームの設定

SyntheticsのGUIで提供されているアラーム設定画面。
こちらから、アラームの状態・閾値・期間が設定できる。
スクリーンショット 2023-04-03 18.30.46.png

このとき、閾値と期間をどのように設定すればよいかを考える。

Syntheticsのメトリクスの解像度

Syntheticsの実行には、下記のロールが必要になる。
Canary に必要なロールとアクセス許可

この中でCloudWatchに関するポリシーは下記の通り

{
   "Effect": "Allow",
   "Resource": "*",
   "Action": "cloudwatch:PutMetricData",
   "Condition": {
      "StringEquals": {
         "cloudwatch:namespace": "CloudWatchSynthetics"
      }
   }
}

またVPCエンドポイントの設定でも同様に「cloudwatch:PutMetricData」を許可している。
インターフェイス VPC エンドポイントでの CloudWatch および CloudWatch Synthetics の使用

このことから、Syntheticsのメトリクスは実行されるカナリヤ(Lambda)からPutMetricData APIを実行し、カスタムメトリクスとして取得していることがわかる。
※ このことはPutMetricDataのメトリクスを確認するとある程度答え合わせができる。

またメトリクスはカナリヤから送られているため、メトリクスの解像度はカナリヤの実行間隔に依存することになる。
カナリヤは定期実行の場合1−60分で設定ができるため、事実上1分が最も細かいデータポイントとなる。

アラーム設定を考える

カナリヤの実行間隔を1分とした場合、SuccessPercentの閾値は期間と合わせる。
期間を5分とする場合カナリヤは最大5回しか実行できないため、20%刻みでの設定が適切である。

例)
アラームの状態:より低い
SuccessPercent:80%
期間:5分

上記の場合、SuccessPercentを90%などにしてもそもそもデータとして取り得ない値であるため無意味となる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?