ガハハ

学生の学習記録

AWS学習 4日目

一週間ぶりにプログラミングをしたらバグバグでしたまる

CloudWatch

EBSの監視

EC2に2つEBSがついており、1つはOS用のメインのもの、2つ目はNFSとして使用しているもの
2つ目を監視するのが今回の目標

設定

公式ドキュメント に書いてある手順に従い途中まで順調

そして動作確認にCloudWatchにログを送信してみようとしたところ以下のエラー

[ec2-user@ip-00000 aws-scripts-mon]$ ./mon-put-instance-data.pl --mem-util --verify --verbose
MemoryUtilization: 4.4177997681609 (Percent)
Use of uninitialized value in transliteration (tr///) at CloudWatchClient.pm line 314.
No credential methods are specified. Trying default IAM role.
Use of uninitialized value $roles in string eq at CloudWatchClient.pm line 317.

ERROR: Failed to initialize: No IAM role is associated with this EC2 instance.

For more information, run 'mon-put-instance-data.pl --help'

awscreds.templateも編集したし何故・・・

正解は「引数に編集したファイルを指定してあげる」でした。 --aws-credential-file ./awscreds.template こいつが必要でした

[ec2-user@ip-0000 aws-scripts-mon]$ ./mon-put-instance-data.pl --mem-util --mem-used --mem-avail --aws-credential-file ./awscreds.template

Successfully reported metrics to CloudWatch. Reference Id: XXXXXXXXXXXXXXXXXXXXXX

ドキュメントに従いEBSの指定 & 実行

$ ~/bin/aws-scripts-mon/mon-put-instance-data.pl --disk-space-avail --disk-path=/export/nfs --aws-credential-file ~/bin/aws-scripts-mon/awscreds.myaccount

CloudWatchで確認

場所は、CloudWatch > メトリックス > 全てのメトリクス > インスタンスIDで検索 > Linux システム > Filesystem, InstanceId, MountPath

crontabに追加

5分毎に現在使用したディスク容量(GB)・使用したディスク容量(%)・使用可能なディスク残量(GB)をAWSへ送信

$ crontab -e
*/5 * * * * ~/bin/aws-scripts-mon/mon-put-instance-data.pl --disk-space-util --disk-space-used --disk-space-avail --disk-path=/dev/xvdf --from-cron --aws-credential-file ~/bin/aws-scripts-mon/awscreds.myaccount