使用aws mon脚本

时间:2016-09-22 05:00:13

标签: amazon-web-services amazon-ec2 amazon-cloudwatch

我使用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

问题是它在cloudwatch中显示了几台机器而不是磁盘xvda1的udev。此外,当我在调试模式下运行此shell脚本时,它被编译为xvda1,但作为udev传递给cloudwatch。

1 个答案:

答案 0 :(得分:0)

如果您阅读文档,则说明您需要提供挂载点。

  

- disk-path = PATH选择要报告的磁盘。

     

PATH可以指定安装点或安装点上的任何文件   对于需要报告的文件系统

您的脚本正在提供文件系统点,就像您看到我们需要提供挂载点的df输出一样。

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

这应该可以解决您的问题。所以对于xvda1,它会喜欢这个--disk-path=/