LoginSignup
14

More than 5 years have passed since last update.

AWS EC2のメモリ利用率をCloudWatchに追加する

Posted at

EC2を立ち上げ後、デフォルトではメモリ利用率はCloudWatchに監視追加できません。
そのため、必要なパッケージをインストールし、CloudWatchモニタリング用スクリプトを設置してCronを仕掛ける必要があります。
Cronを実行するとただちCloudWatch側に反映するので比較的簡単です。
※AWSのアクセスキーID、シークレットキーの取得は別途行ってください。

必要なパッケージをインストール

$ sudo yum -y install perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA

CloudWatchモニタリング用スクリプトの格納場所を作成

$ sudo mkdir /usr/local/cloudwatch
$ cd /usr/local/cloudwatch
$ sudo wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
$ sudo unzip CloudWatchMonitoringScripts-1.2.1.zip
$ sudo rm CloudWatchMonitoringScripts-1.2.1.zip

スクリプトの設定

$ cd aws-scripts-mon
$ sudo cp awscreds.template awscreds.conf
$ sudo vim awscreds.conf

「awscreds.conf」に、以下を記載

  • AWSAccessKeyId=[アクセスキーID]
  • AWSSecretKey=[シークレットキー] ※アクセスキーID、シークレットキーの取得は別途行ってください。

Cron登録

$ crontab -e

以下をcrontabに登録

*/5 * * * * /usr/local/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --mem-used --mem-avail --from-cron

AWSコンソールからCloudWatchで確認する

AWSコンソールでCloudWatchを選択すると、メトリクスの中に「Linuxシステム」の欄が追加されていることがわかる。
20161207_aws_ec2_memory_metrix.png

「Linuxシステム」-「InstanceId」をドリルダウンすると、「MemoryUtilization」、「MemoryUsed」、「MemoryAvailable」の項目が取れていることがわかる。
これらを組み合わせてグラフを作成し、ダッシュボードに表示できる。
20161213_aws_ec2_memory_5stack.png

まとめ

メモリ監視でアラームを追加したり、ほかにもDisk容量監視も同じ要領で追加できます。

Disk容量監視は以下のcronを追加するだけ

*/5 * * * * /usr/local/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --disk-space-util --disk-path=/ --from-cron

参考にしたサイト

AWS EC2でメモリ利用率をCloud Watchで監視する
AWS EC2でメモリ利用率とディスク容量をCloudWatchで監視する

上記のサイトだと、パッケージperl-Digest-SHAが入っていないエラーが発生したので下記サイトを参考にエラーを取り除いた。
RedmineとGitを連携させる(認証統合)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14