投稿ナビゲーションこの記事は公開から1年以上が経過しています。内容が古い場合があるのでご注意下さい。CloudWatchのメトリクスを定期的に取得して、その値の内容がある条件にマッチした時だけ、サーバで何か処理をしたいことがあります。今回は、その方法について紹介します。当てはまるユースケースでは、どういった時にそんなことがあるのかというと、例えば、(CloudWatchで監視している)メモリ使用率の値が10分間連続で95%以上の時にプロセス再起動などの任意の処理を走らせるようにする、といった感じです。いうことは、monitや自作スクリプトでやるのが簡単かと思ったんですが、下記のような理由から採用しませんでした。方法としては、上記のことを行うスクリプトを書いて、cronに登録するだけです。スクリプトスクリプトについては、下記を参考にさせて頂きつつ、部分的に変更しています。CLIでCloudwatchの情報を取得する全体としては、次のようなスクリプト(cloudwath-alarm-driven.sh)を用意します。28行目のif文で行う処理については、適宜変更してもらえればと思います。条件にマッチすれば、指定プロセスを再起動というものです。cloudwath-alarm-driven.sh最後にcronに登録します。下記では10分間隔にしています。好きなタイミングに変更してください。参考にさせて頂いたページにも書かれていましたが、やはりCloudWatchから取得できるデータは時系列に並んでいませんでした。その為、今回は時系列に並んでいることを意識しなくてもいいようにしています。具体的には、取得できた値のどちらが5分前、10分前のものなのかを区別せずに、取得できた順にMEM_UTIL_1とMEM_UTIL_2の変数に入れています。Roleの利用を前提にしていますので、それらについては、下記を参考にして頂ければと思います。CloudWatchのカスタムメトリクスでCentOSのメモリ使用率を監視する以上です。関連記事:EBSのスナップショットを日次で取得するEC2インスタンスのバックアップを日次で取得したいと思います。今ならLambdaなどを使うことが多...CloudWatchのカスタムメトリクスでCentOSのメモリ使用率を監視する今更感がありますが、備忘録として書いています。コメントをキャンセルメールアドレスが公開されることはありません。I?雲人2号クラウドとOSSとMacが好きな人。仕事はAWSエンジニア。kumonchu.com。