当前位置: 首页 > news >正文

kvm的存储池脚本COLT_CMDB_KVM_POOLDISC.sh

#!/bin/bash
#自发现KVM存储池
#IT_BEGIN
#IT_TYPE=3
#IT SYSTEM_kvm_discpool|discovery.kvmpool[disc]
#普通指标
#IT_RULE SYSTEM_kvm_IP|ip[{#poolName}]
#IT_RULE SYSTEM_kvm_poolstate|poolstate[{#poolName}]
#IT_RULE SYSTEM_kvm_poolName|poolName[{#poolName}]
#IT_RULE SYSTEM_kvm_poolid|poolid[{#poolName}]
#IT_RULE SYSTEM_kvm_poolpersistable|poolpersistable[{#poolName}]
#IT_RULE SYSTEM_kvm_poolcap|poolcap[{#poolName}]
#IT_RULE SYSTEM_kvm_poolused|poolused[{#poolName}]
#IT_RULE SYSTEM_kvm_poolavail|poolavail[{#poolName}]
#IT_END
shname=`basename $0`
ATTR="_X(g=$shname,p=cmdb,t=script,f=0)"if [ "$1" = "disc" ];then
virsh pool-list|grep -v "名称"|sed '1d'|grep -v '^$'|while read line
dopoolName=`echo $line |awk '{print $1}'`echo "{#poolName}="$poolName
done
exit 0
fi
#ip=$(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
#多指标输出开始
echo COL_DETAIL_START:
virsh pool-list|grep -v "名称"|sed '1d'|grep -v '^$'|while read line
dopoolName=`echo $line |awk '{print $1}'`#状态poolstate=`virsh pool-info $poolName|grep "状态:"|awk '{print $NF}'`#uuidpoolid=`virsh pool-info $poolName|grep -i "UUID"|awk '{print $NF}'`#是否持久poolpersistable=`virsh pool-info $poolName|grep -i "持久:"|awk '{print $NF}'`#容量poolcap=`virsh pool-info $poolName|grep -i "容量:"|awk '{print $(NF-1),$NF}'`#已分配poolused=`virsh pool-info $poolName|grep -i "分配:"|awk '{print $(NF-1),$NF}'`#可用poolavail=`virsh pool-info $poolName|grep -i "可用:"|awk '{print $(NF-1),$NF}'`
echo "ip[$ATTR,$poolName]|+|$ip"
echo "poolstate[$ATTR,$poolName]|+|$poolstate"
echo "poolid[$ATTR,$poolName]|+|$poolid"
echo "poolpersistable[$ATTR,$poolName]|+|$poolpersistable"
echo "poolName[$ATTR,$poolName]|+|$poolName"
echo "poolcap[$ATTR,$poolName]|+|$poolcap"
echo "poolused[$ATTR,$poolName]|+|$poolused"
echo "poolavail[$ATTR,$poolName]|+|$poolavail"
done
#多指标输出结束
echo COL_DETAIL_END:

10.14.104.4运行结果如下

-bash-4.2# sh COLT_CMDB_KVM_POOLDISC.sh 
COL_DETAIL_START:
ip[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|192.168.1.227,172.17.0.1,10.14.104.4,192.168.122.1
poolstate[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|running
poolid[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|7fc8b72b-62ad-4a23-900f-680c47efeef2
poolpersistable[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|是
poolName[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|default
poolcap[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|795.16 GiB
poolused[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|14.28 GiB
poolavail[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),default]|+|780.88 GiB
ip[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|192.168.1.227,172.17.0.1,10.14.104.4,192.168.122.1
poolstate[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|running
poolid[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|6c6bc625-b82b-46ee-967b-427686e74147
poolpersistable[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|是
poolName[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|tmp
poolcap[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|795.16 GiB
poolused[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|17.44 GiB
poolavail[_X(g=COLT_CMDB_KVM_POOLDISC.sh,p=cmdb,t=script,f=0),tmp]|+|777.73 GiB
COL_DETAIL_END:

相关文章:

  • 5.2 AutoGen:支持多Agent对话的开源框架,适合自动化任务
  • 防火墙原理与应用总结
  • 鼠标指定范围内随机点击
  • 面试踩过的坑
  • 深度学习--自然语言处理统计语言与神经语言模型
  • 2015-2023 各省 GDP 数据,用QuickBI 进行数据可视化——堆叠图!
  • 数据库-少库多表与多库少表理论
  • 数据库对比
  • 插入html文件,让数据可视化彰显高端大气-Excel易用宝
  • flume整合Kafka和spark-streaming核心编程
  • eclipse怎么导入junit4
  • vscode和git 踩坑
  • deepseek-r1-671B满血版,全栈式智能创作平台 - 多模态大模型赋能未来创作
  • JavaScript { message } = toRefs(obj) 中的 { message }的语法格式
  • 伟世通与火山引擎深度合作 前沿AI智能座舱解决方案亮相上海车展
  • 如何在Linux用libevent写一个聊天服务器
  • 提示js方法未定义,但是确实<textarea>标签未闭合。
  • AI网络渗透kali应用(gptshell)
  • 华为VRP系统简介配置TELNET远程登录!
  • AI 工程师崛起:科技浪潮下的新兴力量
  • 70后供销合作总社理事会原副主任侯顺利任中国融通外部董事
  • 中青报:“猿辅导员工猝死”事件上热搜,是对健康职场环境的共同关切
  • 石磊当选河北秦皇岛市市长
  • “2025上海西九文化周”启动,香港顶尖文艺6月齐聚申城
  • 现场观察·国防部记者会|美将举行大演习“应对中国”,备战太平洋引发关注
  • 目前中美未进行任何经贸谈判,外交部、商务部再次表明中方立场