AWS CLIでCloudWatchを登録したときに、欠落データの扱いを変える

CloudWatchによる監視をインスタンス作成と同時に開始すると、最初のデータはINSUFFICIENT_DATAとなって来てしまう。

その後、データ数が集まるとOKに変わるのだが、データの推移からアラートメールとか飛んで来てしまって邪魔になることがある。

そのため、データが入っていないときの値を不明ではなく、しきい値と同じと考えてもらって防ぐことにした。(本当の不足の事態のときに問題になりそうだけど。)

aws cloudwatch --profile {PROFILE} put-metric-alarm \
--alarm-name "{alarm name}" \
--alarm-description "status check alarm for {INSTANCE_ID}" \
--metric-name StatusCheckFailed \
--namespace AWS/EC2 \
--statistic Average \
--dimensions Name=InstanceId,Value={INSTANCE_ID} \
--period 300 \
--evaluation-periods 5 \ 
--threshold 1 \ 
--comparison-operator GreaterThanOrEqualToThreshold \
--ok-actions {SNS_TOPIC_ARN} \
--alarm-actions {SNS_TOPIC_ARN} \
--treat-missing-data noBreaching

こんな感じ。最後のtreat-missing-dataを変えることで設定できる。

--treat-missing-data (string)

Sets how this alarm is to handle missing data points. If treat-missing-data is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data .

Valid Values: breaching | notBreaching | ignore | missing

noBreachingはしきい値としてみもらえるので、こちらを指定。飛ばなくなったー!

とか思ったら初回がINSUFFICIENT_DATA→OKになるもんだと思ってたのにINSUFFICIENT_DATA→NGのパターンが。グスン。