使用 aws mon 脚本监控 EC2 磁盘指标
Monitoring EC2 disk metrics using aws mon scripts
我正在使用 aws mon scripts 通过以下脚本监控 EC2 实例:
#!/bin/bash
a="$(df | grep /dev/ | awk {'print '})"
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 中为少数机器显示 udev 而不是磁盘 xvda1。此外,当我 运行 这个 shell 脚本处于调试模式时,它被编译为 xvda1 但作为 udev 传递给 cloudwatch。
如果您阅读文档,它会说明您需要提供挂载点。
--disk-path=PATH Selects the disk on which to report.
PATH can specify a mount point or any file located on a mount point
for the filesystem that needs to be reported
您的脚本正在提供文件系统点,就像您看到我们需要提供挂载点的 df 输出一样。
a="$(df | grep /dev/ | awk {'print '})"
这应该可以解决您的问题。所以对于 xvda1 它会像这样 --disk-path=/
我正在使用 aws mon scripts 通过以下脚本监控 EC2 实例:
#!/bin/bash
a="$(df | grep /dev/ | awk {'print '})"
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 中为少数机器显示 udev 而不是磁盘 xvda1。此外,当我 运行 这个 shell 脚本处于调试模式时,它被编译为 xvda1 但作为 udev 传递给 cloudwatch。
如果您阅读文档,它会说明您需要提供挂载点。
--disk-path=PATH Selects the disk on which to report.
PATH can specify a mount point or any file located on a mount point for the filesystem that needs to be reported
您的脚本正在提供文件系统点,就像您看到我们需要提供挂载点的 df 输出一样。
a="$(df | grep /dev/ | awk {'print '})"
这应该可以解决您的问题。所以对于 xvda1 它会像这样 --disk-path=/