Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
48
Help us understand the problem. What is going on with this article?
@zaburo

AWSでメモリやディスクの使用率とか監視する

CloudWatchは便利なのですが、なぜか標準メトリクスにメモリとかディスクの使用量がありません。。

それを知りたい場合はカスタムメトリクスを定義する必要があります。いちおうAWSがサンプルで用意してくれてたりはするようです。。。
もちろん自分で書いても構いません。メトリクスは簡単に送れるようです。

やりかた

ここでは以下の2つを試してみます。

  • AWS提供のスクリプトを利用する。ここのを利用。
  • 誰かが作ったスクリプトを利用する。ここのを利用。

AWS提供のスクリプトを利用する

まずは、AWS提供スクリプトを試してみます。

依存ライブラリ等のインストール

指示に従い、スクリプト実行に必要なファイルをインストールします。

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

ツールの取得

ツールを取得、設定します。

ダウンロード

ま、ダウンロードしてzipを回答するだけ。

cd
# ダウンロード
curl https://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip -O
# 展開
unzip CloudWatchMonitoringScripts-1.2.2.zip
# 元ファイル削除
rm CloudWatchMonitoringScripts-1.2.2.zip
# 移動
cd aws-scripts-mon

credential情報記述

設定はcredentialを設定するだけ。事前に作成しておきましょう。

# credential設定ファイルコピー
cp awscreds.template awscreds.conf

vi awscreds.confで編集。

AWSAccessKeyId=XXXXXXXXXX
AWSSecretKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

実行テスト

準備ができたら、--verifyオプションを付けてテストをしてみます(ま、いきなり送付してもなんあら問題ないと思いますが)。

./mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --verify

cronに登録

問題が無いようならcronに登録します。

*/5 * * * * /home/hoge/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --from-cron

hogeは変えてね。

送信が完了すると、CloudWatch側に[Linuxシステム]というメトリクス群が見えるようになります。

注意

メトリクス送信時にディメンジョンとしてinstand idが送られるのですが、それがキャッシュされるようです。
AMIのイメージ取得して、インスタンス起動させた際、ログがかぶるの注意が必要なようです。

以下のようにキャッシュをクリアするとよいようです。

rm /var/tmp/aws-mon/instance-id

誰かが作ったスクリプトを利用する

いろいろまとめられたaws-mon.shというのがあるらしいのでそれを利用してみます。

ダウンロード

gitで取得するだけ。

cd
git clone https://github.com/moomindani/aws-mon-linux.git
cd aws-mon-linux

credentialの設定

credentialは特に設定せず、awsコマンドを利用するようなので、awscliをダウンロードし、configureで設定しておきます。

実行テスト

何もでませんが。。。たぶん下記でいけるでしょう。

./aws-mon.sh --all-items --disk-path=/ --verify

cronに登録

問題がなければcronに登録します。

*/5 * * * * /home/hoge/aws-mon-linux/aws-mon.sh --all-items --disk-path=/ --from-cron

hogeは変えてね。

参考

参考にさせていただきました。ありがとうございます。

以上です。

48
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
zaburo
こんにちは。自分用のメモをだらだら公開しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
48
Help us understand the problem. What is going on with this article?