メモリ情報はデフォルトの監視メトリクスにない
なんでー
自分でセットしてあげる必要があります。
以下ポリシーを持つユーザーを作成
CloudwatchとEC2へのFullAccessが付いていればいいけれど、EC2インスタンス内のフラットファイルに書き込むのでなるべく絞ったほうが良いと思う
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "ec2:DescribeTags", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" } ] } |
ツールのインストール
1 2 3 4 5 6 7 |
sudo yum install -y perl-Switch perl-DateTime perl-Sys-Syslog perl- LWP-Protocol-https perl-Digest-SHA.x86_64 curl https://aws-cloudwatch.s3.amazonaws.com/downloads/ CloudWatchMonitoringScripts-1.2.2.zip -O unzip CloudWatchMonitoringScripts-1.2.2.zip cd aws-scripts-mon/ cp -p awscreds.template awscreds.conf |
上記ポリシーを持っているユーザーのアクセスキーを設定
awscreds.conf
1 2 |
AWSAccessKeyId=xxxxxxxxxxxxxxxxxxxxx AWSSecretKey=xxxxxxxxxxxxxxxxxxxxx |
送信テスト(実際にはデータは送られない)
echo $?
で0
ならOK
1 2 |
./mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --verify |
cronに仕込む
crontab -e
で編集
1 2 |
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used- incl-cache-buff --mem-util --disk-space-util --disk-path=/ --from-cron |
実行確認
1 |
tail -f /var/log/cron | grep mon-put-instance-data.pl |
動作確認
Linuxシステム
項目が、Cloudwatch上の監視メトリクスに出現
参考
https://qiita.com/zaburo/items/98388ef35aa2e7a477e0
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/mon-scripts.html