AWS CLI で CloudWatch Alarm のアラームを作成する方法

クラウド

CloudWatch Alarm のアラームを作成するコマンド

EC2インスタンスの「StatusCheckFailed_Instance」メトリクスを監視し、アラーム時に再起動させる設定

aws cloudwatch put-metric-alarm \
    # アラームの名前。CloudWatch Alarm では、この名前がキーとなる点に注意(後から変更不可)
    --alarm-name "hoge" \
    # (任意)アラームの説明
    --alarm-description "StatusCheckFailed_Instance alarm for i-0a531704ae2f61031" \
    # 監視するメトリクスの名前(CloudWatch Alarm は1つのアラームには、メトリクス1つだけしか設定できない仕様)
    --metric-name "StatusCheckFailed_Instance" \
    # メトリクスが属するAWSサービスの名前を設定(他には AWS/S3 や AWS/RDS なども設定できる)
    --namespace "AWS/EC2" \
    # メトリクスの集計方法
    --statistic "Average" \
    # メトリクスを集計する期間を秒単位で設定。ここでは 60 秒としている
    --period 60 \
    # アラームの閾値
    --threshold 0 \
    # アラームが発生する条件。ここでは、閾値「以上」という設定としている
    --comparison-operator "GreaterThanThreshold" \
    # メトリクスを取得する対象
    --dimensions "Name=InstanceId,Value=i-[EC2インスタンスのID]" \
    # アラームが継続している必要がある期間
    --evaluation-periods 3 \
    #  アラームを発生させるために必要なデータポイントの数
    --datapoints-to-alarm 3 \
    # 欠落データを処理する方法。ここでは「欠落データを見つかりませんとして処理」としている
    --treat-missing-data "missing" \
    # アラームが発生したときに実行するアクション。ここではメール通知と再起動を指定している
    # 2つ以上指定する場合は、スペースで区切って指定する
    --alarm-actions "arn:aws:sns:ap-northeast-1:xxxxx:[SNSトピック名]" "arn:aws:automate:ap-northeast-1:ec2:reboot" \
    # アクションが有効かどうか
    --actions-enabled
具体例
aws cloudwatch put-metric-alarm \
    --alarm-name "hoge" \
    --alarm-description "hoge hoge" \
    --metric-name "StatusCheckFailed_Instance" \
    --namespace "AWS/EC2" \
    --statistic "Average" \
    --period 60 \
    --threshold 0 \
    --comparison-operator "GreaterThanThreshold" \
    --dimensions "Name=InstanceId,Value=i-xxxxxx" \
    --evaluation-periods 3 \
    --datapoints-to-alarm 3 \
    --treat-missing-data "missing" \
    --alarm-actions "arn:aws:sns:ap-northeast-1:xxxxx:send-error-mail" "arn:aws:automate:ap-northeast-1:ec2:reboot" \
    --actions-enabled

コメント

タイトルとURLをコピーしました