概要
EC2の監視等にはAWSの中にあるAmazon Cloud Watchというサービスを使う
もともとEC2にはディスクアクセス量やネットワークアクセス量を確認するツールが
インスタンス管理画面から見ることはできるが
ストレージの残量に関する監視はデフォルトではない
Cloud WatchにEC2上に配置したLinuxからエージェント経由でデータを送り、
Cloud Watch上で監視させ、ストレージ容量が逼迫してきたらアラームをメール送信させる
ようなことが可能となる。
監視実行ユーザの作成とポリシーのアタッチ
IAMにいってuserを作成
- ユーザを作るとアクセスキーIDとシークレットアクセスキーが表示されるのでメモ
ポリシーを作る
- ユーザと同じくIAMより。
- 左ペインからポリシーを選択、右側のポリシーの作成ボタンをクリック
- Policy Generatorを選択
- AWSサービスにAmazon CloudWatchを選択
- アクションにPutMetricDataを選択
これでCloudWatchに対してMetricデータ(ここでは監視データ)をPut(保存)する権限となる
- あとは次へ次へでpolicyを作成する
- ポリシーができたのでユーザに割当(アタッチ)する
- 特にポリシー名を指定しない場合、ポリシーは
policygen-xxxx...
という名前になる - ポリシー一覧から検索して選択
- ポリシーアクションからアタッチを選択
- ポリシーをアタッチするユーザを選択する
- これで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システム
を選択するとディスク容量とかの状態を表示できる - ここからダッシュボードを作ったり、容量が逼迫してきたらアラームさせたりの設定ができる