2016-09-22 5 views
1

私は次のスクリプトを使用して監視EC2インスタンスのaws mon scriptsを使用しています:監視EC2のディスクメトリクス月スクリプト

#!/bin/bash 
a="$(df | grep /dev/ | awk {'print $1'})" 
IFS=' ' read -r -a array <<< $a 
#echo "${array[0]}" 
for element in "${array[@]}" 
do 
/opt/aws-scripts-mon/mon-put-instance-data.pl --mem-util --disk-space-util --swap-util --disk-path="$element" --aws-credential-file=/opt/aws-scripts-mon/awscreds.template 
done 

問題は、それが数台のマシンの代わりに、ディスクxvda1ためCloudWatchの中のudevを示しています。また、このシェルスクリプトをデバッグモードで実行すると、xvda1としてコンパイルされますが、cloudwatchにはudevとして渡されます。

+0

これで問題は解決しましたか?どんなフィードバック? –

+0

ありがとうございます。できます !! – unknown

+0

答えを受け入れてくれてありがとう。それは私の評判を高めるのに役立ちます。一般的には、もしそれがうまくいくなら答えを受け入れるように要求し、それがスタックオーバーフローであなたを助けたならばそれをアップアップしてください。これは私たちがより良いコミュニティを構築することを奨励します。 –

答えて

0

ドキュメントを読むと、マウントポイントを与える必要があることが示されます。

--disk-path = PATHレポートするディスクを選択します。

PATHは、マウントポイントやあなたのスクリプトは、DFの出力を参照してくださいかのようにファイルシステムのポイントを与えている

を報告する必要があり、ファイルシステムのマウント・ポイント 上にある任意のファイルを指定することができます我々はマウントポイントを与える必要があります。

a="$(df | grep /dev/ | awk {'print $6'})" 

これは問題を解決するはずです。だからxvda1のためにこれは好きです--disk-path=/