我使用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。
答案 0 :(得分:0)
如果您阅读文档,则说明您需要提供挂载点。
- disk-path = PATH选择要报告的磁盘。
PATH可以指定安装点或安装点上的任何文件 对于需要报告的文件系统
您的脚本正在提供文件系统点,就像您看到我们需要提供挂载点的df输出一样。
a="$(df | grep /dev/ | awk {'print $6'})"
这应该可以解决您的问题。所以对于xvda1,它会喜欢这个--disk-path=/