CloudWatch Alarmを設定したいメトリクスの値が存在しない場合にマネジメントコンソールからAlarmを設定する手順

小ネタ&備忘録です。
2020.07.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンサル部@大阪オフィスのYui(@MayForBlue)です。

小ネタ&備忘録です。

概要

マネジメントコンソールから CloudWatch Alarm を構築する場合、CloudWatch Logs のメトリクスを選択する必要があります。 しかし、CloudWatch Logs で設定したメトリクスに対して一度も値が上がってきていない場合、 CloudWatch Alarm を設定する場合の選択肢に表示されません。

では、値のないメトリクスに対してマネジメントコンソールからアラームを設定したい場合、どうすればいいでしょうか。

結論としては、CloudWatch Logs のメトリクスフィルターからCloudWatch Alarmを構築する必要があります。

困っていたこと

CloudWatch Alarm の作成時、まずはここから CloudWatch の既存のメトリクスを選択する

メトリクス一覧には全てのメトリクスではなく、実際に値が存在するメトリクスのみしか表示されない

CloudWatch Logs のメトリクスフィルターからCloudWatch Alarmを構築する

表題の手順で解決できたので、実際にやってみます。
まずはテスト用の CloudWatch Logs ロググループを作成します。

ロググループ名を入力して「作成」をクリックします。

ロググループの詳細画面のメトリクスフィルターのタブ内から「メトリクスフィルターの作成」をクリックします。

今回はテスト用なのでフィルターパターンは設定せずに次の画面に進みました。

フィルター名やメトリクス名など、必要な値を入力して次の画面に進みます。

設定を確認して「メトリクスフィルターを作成」をクリックします。

作成後、対象のメトリクスフィルターを選択します。
選択すると、「アラームを作成」のボタンがクリックできるようになるので、クリックしてアラームを作成していきます。

アラームの作成画面でメトリクス名に対象のメトリクスが選択されていることが確認できます。
他に必要な値を設定して「次へ」をクリックします。

通知先に適当なSNSトピックを選択し、「次へ」をクリックします。

アラーム名を設定し、「次へ」をクリックします。

設定を確認し、問題なければ「アラームの作成」をクリックします。

作成した CloudWatch Alarm の詳細画面から、対象のメトリクスを元に構築できていることが確認できます。

さいごに

CloudWatch Alarm を設定するなら CloudWatch Alarm のメニューからという固定観念に囚われて生きてきましたが、 CloudWatch Logs のメトリクスフィルター側からでも CloudWatch Alarm を作成できることを今回初めて知り、そっちかーー!となりました。
CloudWatch Logs の作成直後など、実際の値がない場合にアラームを作成したいタイミングもあると思います。
この記事が同じように困っている方の参考になれば幸いです。

ちなみに、AWS CLI から設定する場合は以下のブログをご参照ください。

以上、コンサル部@大阪オフィスのYui(@MayForBlue)でした。