最初に
ここに書いてある
ざっくり解説
- ElasticBeanstalkでは、CloudWatchを使って各項目のモニタリングが可能
- CloudWatchがEC2でモニタリングしている項目に、メモリ使用量やHDD残量はない
- そのため、CloudWatchに独自のデータを送信する カスタムメトリクス という手段を使う
「例: カスタム Amazon CloudWatch メトリクスの使用」でやっていることの解説
例: カスタム Amazon CloudWatch メトリクスの使用 - AWS Elastic Beanstalk
. ebextensions
を使ってEC2構築時に以下のことをやっている
- CloudWatchにデータ送信するためのツール(perlスクリプト)をインストール
- 上記を動作させる為に必要なyumライブラリもインストール
- crontabに5分に1回データを送信する処理を追記
/etc/cron.d/cwpump
にもデータを格納- 動作確認用。動作確認が済んだら標準出力先を
/dev/null
にするように書かれている
またIAMにて、ElasticBeanstalkで生成されたEC2用のロールaws-elasticbeanstalk-ec2-role
に、CloudWatchにデータを送信する許可を追加している
ここまでやるとこんな風に、ElasticBeanstalkの「モニタリング」で、メモリの使用率やHDDの残量をメトリクスできるようになる
ちなみに統計は最大
を使用すること。平均
だと、一台だけ異常値になった時に気づけないので