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

kvm网卡发现的采集信息脚本COLT_CMDB_KVM_NETDISC.sh

#!/bin/bash
#自发现网卡
#IT_BEGIN
#IT_TYPE=3
#IT SYSTEM_kvm_disnet|discovery.kvmnet[disc]
#普通指标
#IT_RULE SYSTEM_kvm_netName|netName[{#netName}]
#IT_RULE SYSTEM_kvm_netuuid|netuuid[{#netName}]
#IT_RULE SYSTEM_kvm_netstatus|netstatus[{#netName}]
#IT_RULE SYSTEM_kvm_netpersistable|netpersistable[{#netName}]
#IT_RULE SYSTEM_kvm_netactive|netactive[{#netName}]
#IT_RULE SYSTEM_kvm_netbrige|netbrige[{#netName}]
#IT_END
shname=`basename $0`
ATTR="_X(g=$shname,p=cmdb,t=script,f=0)"if [ "$1" = "disc" ];then
virsh net-list |grep -v "名称"|sed '1d'|grep -v '^$'|while read line
donetName=`echo $line |awk '{print $1}'`echo "{#netName}="$netName
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 net-list |grep -v "名称"|sed '1d'|grep -v '^$'|while read line
donetName=`echo $line|awk '{print $1}'`netstatus=`echo $line|awk '{print $2}'`netuuid=`virsh net-info $netName|grep "UUID:"|awk '{print $NF}'`#是否持久netpersistable=`virsh net-info $netName|grep "持久:"|awk '{print $NF}'`#是否活跃netactive=`virsh net-info $netName|grep "活跃:"|awk '{print $NF}'`#桥接设备netbrige=`virsh net-info $netName|grep "桥接:"|awk '{print $NF}'`echo "ip[$ATTR,$netName]|+|$ip"echo "netName[$ATTR,$netName]|+|$netName"echo "netuuid[$ATTR,$netName]|+|$netuuid"echo "netstatus[$ATTR,$netName]|+|$netstatus"echo "netpersistable[$ATTR,$netName]|+|$netpersistable"echo "netactive[$ATTR,$netName]|+|$netactive"echo "netbrige[$ATTR,$netName]|+|$netbrige"
done
#多指标输出结束
echo COL_DETAIL_END:

10.14.104.4运行结果如下:

-bash-4.2# sh COLT_CMDB_KVM_NETDISC.sh 
COL_DETAIL_START:
ip[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|192.168.1.227,172.17.0.1,10.14.104.4,192.168.122.1
netName[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|default
netuuid[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|afa9ea58-473d-4721-9fd4-a6f5b0db2be4
netstatus[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|活动
netpersistable[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|是
netactive[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|是
netbrige[_X(g=COLT_CMDB_KVM_NETDISC.sh,p=cmdb,t=script,f=0),default]|+|virbr0
COL_DETAIL_END:

相关文章:

  • ViewPager FragmentPagerAdapter在系统杀死应用后重建时UI不刷新的问题
  • 河北省大数据应用创新大赛样题
  • 大模型——快速部署和使用 Deep Research Web UI
  • SOLID 原则在单片机环境下的 C 语言实现示例,结合嵌入式开发常见场景进行详细说明
  • [吾爱出品] 【键鼠自动化工具】支持识别窗口、识图、发送文本、按键组合等
  • 基于AI应用创业IDEA:使用百度搜索开放平台的MCP广场智能推荐MCPServices服务
  • java使用CMU sphinx语音识别
  • Java代理讲解
  • 多层级的对象如何修改、或json格式
  • 回溯算法理论基础
  • Verilog 语法 (二)
  • 小刚说C语言刷题——1565成绩(score)
  • element-ui tabs 组件源码分享
  • 品融电商:以全域增长方法论,解码2025情绪消费新机遇
  • Coze高阶玩法 | 使用Coze制作思维认知提升视频,效率提升300%!(附保姆级教程)
  • OpenHarmony之电源管理子系统公共事件定义
  • Vue选项式 API 与组合式 API
  • jdk-8u202-linux-x64.tar.gz官方下载地址
  • 统计服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
  • 大学IP广播系统解决方案:构建数字化智慧化大学校园IP广播平台
  • 扎克伯格怕“错过风口”?Meta AI数字伴侣被允许与未成年人讨论不当话题
  • 经济日报:多平台告别“仅退款”,规则调整有何影响
  • 程璧“自由生长”,刘卓辉“被旋律牵着走”
  • 中国海警局新闻发言人就菲律宾非法登临铁线礁发表谈话
  • 新剧|《淮水竹亭》明开播:前作扑街,本作能否改命
  • 知名计算机专家、浙江大学教授张森逝世