LoginSignup
5
8

More than 5 years have passed since last update.

AWSの監視設定

Posted at

概要

EC2の監視等にはAWSの中にあるAmazon Cloud Watchというサービスを使う

もともとEC2にはディスクアクセス量やネットワークアクセス量を確認するツールが
インスタンス管理画面から見ることはできるが
ストレージの残量に関する監視はデフォルトではない

Cloud WatchにEC2上に配置したLinuxからエージェント経由でデータを送り、
Cloud Watch上で監視させ、ストレージ容量が逼迫してきたらアラームをメール送信させる
ようなことが可能となる。

監視実行ユーザの作成とポリシーのアタッチ

IAMにいってuserを作成

Kobito.aj4krg.png

  • ユーザを作るとアクセスキーIDとシークレットアクセスキーが表示されるのでメモ

ポリシーを作る

  • ユーザと同じくIAMより。
  • 左ペインからポリシーを選択、右側のポリシーの作成ボタンをクリック

Kobito.N5cnF8.png

  • Policy Generatorを選択

Kobito.s0L086.png

  • AWSサービスにAmazon CloudWatchを選択
  • アクションにPutMetricDataを選択

これでCloudWatchに対してMetricデータ(ここでは監視データ)をPut(保存)する権限となる

  • あとは次へ次へでpolicyを作成する

Kobito.TbaKlD.png

  • ポリシーができたのでユーザに割当(アタッチ)する
  • 特にポリシー名を指定しない場合、ポリシーはpolicygen-xxxx...という名前になる
  • ポリシー一覧から検索して選択

Kobito.RTyJRx.png

  • ポリシーアクションからアタッチを選択

Kobito.pjP04A.png

  • ポリシーをアタッチするユーザを選択する

Kobito.WRJETi.png

  • これでCloud Watch側の受付準備はOK

コンソールからエージェントをインストール・監視ログの自動送付

  • EC2にコンソールで接続
  • 今回はrootユーザで実行した

下準備

  • /usr/local/cloudwatchというワークディレクトリに配置することとする
  • まずはCloud Watchをダウンロード&インストール
$ su -

yum -y install perl-Switch perl-Sys-Syslog perl-URI perl-IO-Compress perl-libwww-perl perl-LWP-Protocol-https

mkdir /usr/local/cloudwatch
cd /usr/local/cloudwatch
wget http://ec2-downloads.s3.amazonaws.com/cloudwatch-samples/CloudWatchMonitoringScripts-v1.1.0.zip
unzip CloudWatchMonitoringScripts-v1.1.0.zip
rm -f CloudWatchMonitoringScripts-v1.1.0.zip
mkdir /var/log/cloudwatch/

ユーザアクセスキーとアクセスシークレットキーのセット

  • 前段でユーザを作成した時のアクセスキー、アクセスシークレットをファイルに出力
echo "AWSAccessKeyId=XXXXXXXXXXXX" > /usr/local/cloudwatch/aws-credential

echo "AWSSecretKey=XXXXXXXXXXXXXX" >> /usr/local/cloudwatch/aws-credential

メトリックデータをCloud Watchに送信するテスト

/usr/local/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --aws-credential-file=/usr/local/cloudwatch/aws-credential

上記を実行してSuccessfully reported metrics to CloudWatch.と出ればOK

5分毎に監視ログを送るようにcronに追加する

crontab -e
*/5 * * * * /usr/local/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --from-cron --aws-credential-file=/usr/local/cloudwatch/aws-credential >> /var/log/cloudwatch/linux-error.log

Cloud Watch上での確認、アラート設定など

  • マネジメントコンソールを開いて、Amazon Cloud Watchを選択
  • 左ペインのLinuxシステムを選択するとディスク容量とかの状態を表示できる
  • ここからダッシュボードを作ったり、容量が逼迫してきたらアラームさせたりの設定ができる

Kobito.4U0HdD.png

5
8
0

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
5
8