何がしたいか

・タスク実行の後処理に毎回実行させる事でタスクの監視が可能
・サーバは動いているが、バッチ処理が動いていないトラブルの回避

やる事

1.AWSCliで定期的にAWSCloudWatchカスタムメトリクスを作成する。
2.1のメトリクスをCloudWatchで監視する。メトリクスが期待通り作成されていなかったらアラームメールを送信する。

手順

1.EC2のIAMにポリシー追加

メトリクスを作成する(=監視する)EC2からCloudWatchへメトリクスを作成する事を許可する。

policy.json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1495084468000",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

2.監視するEC2で以下のコマンドを定期的に実行させる

aws cloudwatch put-metric-data
--region ap-northeast-1 \
--metric-name kmstg_jobap_rundeck_healthy \
--namespace kmstg \
--value 0 --unit Count

CloudWatchメトリクスが定期的に作成される事で、
処理が動いている事がわかる。

3.作成したメトリクスに対し、Cloudwatchアラートを設定

閾値: <=0 が1回
追加設定の欠陥データの処理方法を「不正」に設定
で一定時間メトリクスが作成されないとアラーム状態に変更されます。
あとはメール設定など行い完了

参考

https://gist.github.com/inokappa/2a220eb50793094e1c0a

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.