【AWS活用術】CloudWatchでディスク容量とメモリを監視する

こんにちは。ぐっさんです。
 
Webアプリケーション開発では、必ずでてくるサーバーですが、ほとんどがクラウドサービスの利用となっています。そこで、今回はAWSで環境を構築していく方法をご紹介したいと思います。
 
今回のテーマは、CloudWatchでディスク容量とメモリを監視するです。
 
CPUの使用率は標準で用意されているのですが、なぜかディスク容量やメモリは、標準で用意されていません。少し手間をかけて設定する必要があります。

【事前準備】必要ライブラリのインストールとIAMを作成

必要ライブラリのインストールをします。

sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https -y

 
IAMを作成し、AWSAccessKeyIdとAWSSecretKeyを取得します。IAMは、AWSのコンソールから作成できます。
 
今回は、「CloudWatchFullAccess」の権限でユーザーを作成しました。

【監視情報設定】AWS提供のスクリプト設定

まずは、 AWSが提供しているスクリプトをインストールします。

cd
# ダウンロード
curl https://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip -O
# 展開
unzip CloudWatchMonitoringScripts-1.2.2.zip
# 移動
cd aws-scripts-mon

 
次に事前準備で用意したIAMのAWSAccessKeyIdとAWSSecretKeyを設定します。
 
設定するファイルは、awscreds.templateをコピーして、awscreds.confを作成します。awscreds.confに対して、下記の設定を行います。
AWSAccessKeyId=[アクセスキーID]
AWSSecretKey=[シークレットキー]

 
設定が完了しましたら、テストを実行します。
./mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --verify

 
CentOSの場合、ライブラリが足りないとエラーが出る場合があります。その場合は、下記のコマンドでライブラリをインストールして再度実行してみてください。
sudo yum install -y perl-Digest-SHA

 
問題なければ、CRONに設定します。
*/5 * * * * /home/ec2-user/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --from-cron

【監視設定】CloudWatchで監視

CRONの設定が完了すると少し反映に時間がかかりますが、CloudWatchのメトリクスで、「カスタム名前空間」の区分の中に「System/Linux」が表示されます。
 

 
 
「System/Linux」をクリックすると下記のようなメトリクスが表示されます。それぞれをクリックすると、ディスク容量やメモリ使用率などのDiskSpaceUtilization、MemoryUtilizationというメトリクス名がありますので、このメトリクスを使って、監視設定をすることができます。
 

まとめ

いかがでしたでしょうか。
 
サーバーの状態を把握し、問題が発生した際には、すぐ対応したいですね。
 
それでは、良いサーバーライフを。
 
 
 
 
《関連記事》

記事をシェア
MOST VIEWED ARTICLES