CloudWatchを用いたリソース監視

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コマンドが必要な場合は適宜追加してください。