CloudWatchとは
CloudWatchはAWSのリソースとAWSでユーザーが実行しているアプリケーションをリアルタイムで監視するサービス。これを用いることで、CPU使用率やディスクの読み込み、メモリ使用量を可視化し、そのデータに基づきインスタンス(アプリケーションのデプロイ、管理、スケジューリングに役立つ様々な追加機能がある)を追加した際に対処すべきか判断することができる。また十分に使われていないインスタンスを停止することで、費用の節約も可能となる。
デファルトではメモリ利用率はCloudWatchへデータを送信するようになっていないようなので設定する。
まず監視したいインスタンスにSSH接続する
ssh -i ~/.ssh/xxx.pem ec2-user@IPアドレス
必要なパッケージをインストールした後にディレクトリを移動する
yum -y install perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https mkdir /usr/local/workspace cd /usr/local/workspace
スクリプトをダウンロードして、解凍
wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip unzip CloudWatchMonitoringScripts-1.2.1.zip
設定ファイルを作る
cd aws-scripts-mon cp awscreds.template awscreds.conf
ファイルを開き、管理しているAWSのアクセスIDとシークレットキーを設定する
vim awscreds.conf
AWSAccessKeyId=[アクセスキーID] AWSSecretKey=[シークレットキー]
crontabを設定
crontab -e
以下を追加する
*/5 * * * * /usr/local/workspace/aws-scripts-mon/mon-put-instance-data.pl --mem-util --mem-used --mem-avail --from-cron
これによりメモリの利用率が確認できるようになる
Sudoコマンドが必要な場合は適宜追加してください。