wheat 发表于 2019-1-12 13:45:19

通过collectd工具获取虚拟机的nagios监控脚本简单例子

  在宿主机上安装collectd工具后,可以通过collectd工具来获取宿主机上的虚拟机的cpu,memery,if-traffic等数据。可以通过nagios监控脚本来实现对这些数据监控。
  以下是一个简单的监控虚拟机内存脚本:
#!/bin/bash
#Desc:to check memory about vm instance
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
COLLECTD_HOME=/usr/local/collectd
COLLECTD_CTL=$COLLECTD_HOME/bin/collectdctl
vmname=$1
function usage()
{
      msg="$0 : use to check vm memery usage for nagios"
      echo "****************************************************"
      echo -e "\033[1;94m${msg}\033[0m"
      echo -e "Usage:"
      echo -e "       $0 [-w warning_value -c critical_value] vm_name"
      echo -e "       $0 vmname "
      echo "****************************************************"
}
if [ $# -eq 0 ];then
      usage
      exit 1
fi

mem_used=`$COLLECTD_CTL getval $vmname/virt-$vmname/memory-rss | awk -F "=" '{print $2}' | awk '{printf("%.1f\n",$0/1024/1024)}'`

data="mem=$mem_used"
if [ -z $mem_used ];then
echo "unkown: fail to find vm_instance!"
exit $STATE_UNKNOWN
else
echo "ok - used : ${mem_used}MB | ${data}MB"
exit $STATE_OK
fi  




页: [1]
查看完整版本: 通过collectd工具获取虚拟机的nagios监控脚本简单例子