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