LoginSignup
6
5

More than 1 year has passed since last update.

CFnでCloudWatch Alarm書く時に知っておきたいパラメータ

Posted at

背景

CloudFormationでCloudWatchAlarmを作成するために公式ドキュメント見ていて、一瞬よくわからなかったパラメータや、地味に使いそうなパラメータがあったので備忘録的にまとめます。

パラメータ

1. EvaluationPeriods と DatapointsToAlarm

EvaluationPeriods:閾値を超えたかどうかを評価する直近の評価期間
DatapointsToAlarm:アラームを発生させるデータポイント数

評価期間中、(EvaluationPeriods - DatapointsToAlarm)回は閾値を超えてもアラームは発生しない。

例えば…

EvaluationPeriods: 5
DatapointsToAlarm: 3

このようにCFnで設定した場合、直近の評価するデータポイント5個中、3回以上閾値超えるとアラーム発生することになります。

データポイント(右から直近) : 結果
○○x○x                     → OK
○x○xx                     → Alarm

ちなみに、DatapointsToAlarmを書かなかった場合は自動的に、

DatapointsToAlarm = {EvaluationPeriodsで設定した値}

となるみたいです。(つまり、一回でも閾値超えるとAlarm発生)

2. TreatMissingData

CloudWatch Alarmで評価したいデータが取得できず欠落データになる場合があります。(アラームで監視する対象のサーバがダウンしたり、通信障害が発生した時など)
欠落データでは閾値を超えたかどうか判定できません。
そんな時アラームを出すかどうかを判断するパラメータです。

設定可能な値
notBreaching:欠落データは「良好」と判断される
breaching:欠落データは「不良」とされる
ignore:現在のアラーム状態が維持される
missing:評価期間内にデータポイントが一つもない場合、アラームはINSUFFICIENT_DATA(データ数不足)に移行する

INSUFFICIENT_DATAはアラーム状態ではないので、この状態に移行しても通知を飛ばしてくれません。

TreatMissingDataはCFnで必須のパラメータではありませんが、書かないと自動的に'missing'設定となりデータ欠落時にすぐSNS等に通知してくれないので、できるだけ以下のように書いた方が良いと個人的には思います。

TreatMissingData: breaching

3. OKActions

CloudWatch Alarm設定するということは、アラーム発生時にSNS等に通知したいことが多いはずなのでAlarmActionsは記述することは多いと思います。
一方、見落としがちなのがOKActionsです。
これはAlarm状態からOK状態に遷移した時に通知する通知先を設定するパラメータです。
CFnでは必須のパラメータではありませんが、運用的にこっちも書いておいた方が何かと便利そうです。

例↓

AlarmActions:
  - <SNSトピックのARN>
OKActions
  - <SNSトピックのARN>

最後に

何か間違っていること等あればコメントいただけると幸いです…!

参考1:CloudWatchアラームのCloudFormation
参考2:CloudWatchアラーム欠落データの取扱い

6
5
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
6
5