AWSがリソースモニタリング。詳細モニタリングを有効にすると1分ごと。詳細モニタリングが有効ではない場合は5分に伸びるだけ。EC2の場合外側から見た値が取得できるが、空きメモリの情報は内部からカスタムメトリックで送信する必要がある。
CloudWatch Logs エージェントを入れるとより詳細なデータが取得可能。
aws logs get-log-events --log-group-name LOG_GROUP --log-stream-name LOG_STREAM --query "events[].[message]" --output text
メトリック | CPU使用率などの指標と時間の組み合わせ、カスタマイズ可能 |
Namespaces | メトリックを束ねるもの。一般的な概念と一緒 |
Demensions | メトリックの中のKEY=VALUEペア。 |
AWS/EC2 CPUUtilization | CPU使用率 |
https://github.com/moomindani/aws-mon-linux
上記ツールを使うのが楽。
git clone https://github.com/moomindani/aws-mon-linux
aws configure
便利なオプションとしては--verboseを付けると画面に表示する。--verifyだと実際に送信はしない。
メモリ使用量、5分平均のロードアベレージ、ディスクスペースなど | ./aws-mon.sh --mem-util --mem-used --mem-avail --load-ave5 --disk-space-util --disk-path / --disk-space-avail |
http://codezine.jp/article/detail/8100
aws cloudwatch put-metric-data --metric-name httpd-busyworkers --namespace "EC2:HTTPD" --dimensions "InstanceId=xxx" --unit "Count" --value 7