欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > kvm发现虚机采集脚本COLT_CMDB_kvm_vm.sh

kvm发现虚机采集脚本COLT_CMDB_kvm_vm.sh

2025/9/24 22:46:44 来源:https://blog.csdn.net/zxt183430/article/details/147500806  浏览:    关键词:kvm发现虚机采集脚本COLT_CMDB_kvm_vm.sh
#!/bin/sh
#!/bin/bash
#IT_BEGIN
#IT_TYPE=3
#IT SYSTEM_kvm_discvm|discovery.kvm[disc]
#普通指标
#IT_RULE SYSTEM_kvm_IP|hostip[{#id}]
#IT_RULE SYSTEM_kvm_Name|Name[{#id}]
#IT_RULE SYSTEM_kvm_uuid|uuid[{#id}]
#IT_RULE SYSTEM_kvm_ostype|ostype[{#id}]
#IT_RULE SYSTEM_kvm_State|State[{#id}]
#IT_RULE SYSTEM_kvm_CPUs|CPUs[{#id}]
#IT_RULE SYSTEM_kvm_MaxMemory|MaxMemory[{#id}]
#IT_RULE SYSTEM_kvm_UsedMemory|UsedMemory[{#id}]
#IT_RULE SYSTEM_kvm_Persistent|Persistent[{#id}]
#IT_RULE SYSTEM_kvm_Autostart|Autostart[{#id}]
#IT_RULE SYSTEM_kvm_ManagedSave|ManagedSave[{#id}]
#IT_RULE SYSTEM_kvm_SecurityModel|SecurityModel[{#id}]
#IT_RULE SYSTEM_kvm_SecurityDOI|SecurityDOI[{#id}]
#IT_RULE SYSTEM_kvm_APIversion|APIversion[{#id}]
#IT_RULE SYSTEM_kvm_CPUNum|CPUNum[{#id}]
#IT_END
shname=`basename $0`
ATTR="_X(g=$shname,p=cmdb,t=script,f=0)"if [ "$1" = "disc" ];then
virsh list|grep -vi "Id"|sed '1d'| tr "\n" "," |sed 's/.$//g'|sed 's/,$//g'|awk '{print $1}'|while read line
doid=`echo $line`echo "{#id}="$id
done
exit 0
fi
#多指标输出开始
echo COL_DETAIL_START:
virsh list|grep -iv ID|sed '1d'|grep -v '^$'|while read line
do
#hostip=$(ifconfig -a | grep inet |grep -v 127.0.0.1 | grep -v "broadcast 0.0.0.0" | grep -v inet6 |awk '{print $2}' |cut -d ':' -f 2 | tr "\n" "," |sed 's/.$//g')
if command -v ifconfig >/dev/null 2>&1; thenip=`ifconfig -a | grep inet |grep -v 127.0.0.1 | grep -v "broadcast 0.0.0.0" | grep -v inet6 |awk '{print $2}' |cut -d ':' -f 2 | tr "\n" "," |sed 's/.$//g'`
elif command -v ip >/dev/null 2>&1; thenip=`ip addr show| grep inet |grep -v 127.0.0.1 | grep -v "broadcast 0.0.0.0" | grep -v inet6 |awk '{print $2}' |cut -d '/' -f 1 | tr "\n" " " |sed 's/.$//g'`
elif command -v hostname >/dev/null 2>&1; thenip=`hostname -I|tr " " ","| awk '{print substr($0, 1, length($0)-1)}'`
elseecho "command ifconfig or ip or hostname not exist!!!"
fi
id=`echo $line|awk '{print $1}'`
Name=`echo $line|awk '{print $2}'`
uuid=`virsh dominfo $Name|grep "UUID"|awk '{print $NF}'`
#os类型
ostype=`virsh dominfo $Name|grep "^OS"|awk '{print $NF}'`
#状态
State=`virsh dominfo $Name|grep "State"|awk '{print $NF}'`
if [ "x$State" == "x" ];then 
State=`virsh dominfo $Name|grep "状态"|awk '{print $NF}'`
fi
#cpu时间
CPUs=`virsh dominfo $Name|grep "CPU"|grep s|awk '{print $NF}'`
#最大内存
MaxMemory=`virsh dominfo $Name|grep "Max memory"|awk '{print $(NF-1),$NF}'`
if [ "x$MaxMemory" == "x" ];then 
MaxMemory=`virsh dominfo $Name|grep "最大内存"|awk '{print $(NF-1),$NF}'` 
fi
#使用内存
UsedMemory=`virsh dominfo $Name|grep "Used memory"|awk '{print $(NF-1),$NF}'`
if [ "x$UsedMemory" == "x" ];then 
UsedMemory=`virsh dominfo $Name|grep "使用的内存"|awk '{print $(NF-1),$NF}'` 
fi
#持久
Persistent=`virsh dominfo $Name|grep "Persistent"|awk '{print $NF}'`
if [ "x$Persistent" == "x" ];then 
Persistent=`virsh dominfo $Name|grep "持久"|awk '{print $NF}'` 
fi
#自动启动
Autostart=`virsh dominfo $Name|grep "Autostart"|awk '{print $NF}'`
if [ "x$Autostart" == "x" ];then 
Autostart=`virsh dominfo $Name|grep "自动启动"|awk '{print $NF}'` 
fi
#管理的保存
ManagedSave=`virsh dominfo $Name|grep "Managed save"|awk '{print $NF}'`
if [ "x$ManagedSave" == "x" ];then 
ManagedSave=`virsh dominfo $Name|grep "管理的保存"|awk '{print $NF}'` 
fi
#安全性模式
SecurityModel=`virsh dominfo $Name|grep "Security model"|awk '{print $NF}'`
if [ "x$SecurityModel" == "x" ];then 
SecurityModel=`virsh dominfo $Name|grep "安全性模式"|awk '{print $NF}'` 
fi
#安全性 DOI
SecurityDOI=`virsh dominfo $Name|grep "DOI"|awk '{print $NF}'`
#kvm的api版本
APIversion=`virsh version|grep API|awk '{print $NF}'`
#cpu个数
CPUNum=`virsh dominfo $Name|grep "CPU:"|awk '{print $NF}'`
echo "hostip[$ATTR,$id]|+|$ip"
echo "Name[$ATTR,$id]|+|$Name"
echo "uuid[$ATTR,$id]|+|$uuid"
echo "ostype[$ATTR,$id]|+|$ostype"
echo "State[$ATTR,$id]|+|$State"
echo "CPUs[$ATTR,$id]|+|$CPUs"
echo "MaxMemory[$ATTR,$id]|+|$MaxMemory"
echo "UsedMemory[$ATTR,$id]|+|$UsedMemory"
echo "Persistent[$ATTR,$id]|+|$Persistent"
echo "Autostart[$ATTR,$id]|+|$Autostart"
echo "ManagedSave[$ATTR,$id]|+|$ManagedSave"
echo "SecurityModel[$ATTR,$id]|+|$SecurityModel"
echo "SecurityDOI[$ATTR,$id]|+|$SecurityDOI"
echo "APIversion[$ATTR,$id]|+|$APIversion"
echo "CPUNum[$ATTR,$id]|+|$CPUNum"
done
#多指标输出结束
echo COL_DETAIL_END:

10.14.104.4机器执行

-bash-4.2# sh COLT_CMDB_kvm_vm.sh
COL_DETAIL_START:
ip[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|192.168.1.227,172.17.0.1,10.14.104.4,192.168.122.1
Name[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|suse02
uuid[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|d8a5b5ef-ae55-4ea6-a7cc-f45abc8fbcaa
ostype[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|hvm
State[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|running
CPUs[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|51813.0s
MaxMemory[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|KiB
UsedMemory[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|KiB
Persistent[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|是
Autostart[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|禁用
ManagedSave[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|否
SecurityModel[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|none
SecurityDOI[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|0
APIversion[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|4.5.0
CPUNum[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),5]|+|4
ip[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|192.168.1.227,172.17.0.1,10.14.104.4,192.168.122.1
Name[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|suse01
uuid[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|18216fcd-428d-4a8f-a707-0e69da0341f4
ostype[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|hvm
State[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|running
CPUs[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|51525.6s
MaxMemory[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|KiB
UsedMemory[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|KiB
Persistent[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|是
Autostart[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|禁用
ManagedSave[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|否
SecurityModel[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|none
SecurityDOI[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|0
APIversion[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|4.5.0
CPUNum[_X(g=COLT_CMDB_linux_kvm_vm.sh,p=cmdb,t=script,f=0),7]|+|4
COL_DETAIL_END:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词