CloudWatchアラームを設定したいが、しきい値として設定したいCloudWatchメトリクスが存在しない
困っていた内容
マネジメントコンソールを用いて、CloudWatch アラームを作成したい。しかし、本来なら存在するはずの CloudWatch メトリクスがなく、しきい値として設定ができない。
どう対応すればいいの?
CloudWatch メトリクスにおいて、一度も値が送信されたことのないメトリクスはマネジメントコンソール上に表示がされません。
この場合、AWS CLI コマンド put-metric-alarm を使用し、直接 CloudWatch メトリクスを指定することで CloudWatch アラームの作成が可能です。
以下、コマンドの形式です。
aws cloudwatch put-metric-alarm --alarm-name <アラーム名> \ --alarm-description <アラームの説明> \ --metric-name <メトリクス名> \ --namespace <名前空間> \ --statistic <統計> \ --period <期間(単位:秒)> \ --threshold <しきい値> \ --comparison-operator <比較演算子> \ --dimensions <ディメンション> \ --evaluation-periods <しきい値を超えた回数> \ --alarm-actions <アラーム発生時のアクション> \ --unit <単位>
例:アカウント ID: 111122223333 に存在する、CloudFront(ディストリビューションID: E0123456EXAMPLE)の CloudWatch メトリクス 5xxErrorRate の 1 分間の平均値が 5 回連続でしきい値 10 % を超えた場合に、東京リージョンの SNS トピック: SampleTopic へ通知を行うアラーム設定
aws cloudwatch put-metric-alarm --alarm-name 5xxMonitoring-sample \ --alarm-description "Alarm when 5xxErrorRate exceeds 10 percent" \ --metric-name 5xxErrorRate \ --namespace AWS/CloudFront \ --statistic Average \ --period 60 \ --threshold 10 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=DistributionId,Value=E0123456EXAMPLE" \ --evaluation-periods 5 \ --alarm-actions arn:aws:sns:ap-northeast-1:111122223333:SampleTopic \ --unit Percent
参考情報
AWS CLI バージョン 2 のインストール - AWS Command Line Interface
put-metric-alarm — AWS CLI 1.18.33 Command Reference