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

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:

http://www.xdnf.cn/news/2051.html

相关文章:

  • 云服务器和独立服务器的区别在哪
  • 线程池总结
  • 东南亚与中东小游戏市场出海调研报告
  • Properties配置文件
  • Spring Boot 中使用 Feign 调用内网 IP 接口并记录入参与出参
  • springboot启动的端口如何终止
  • Web4.0身份革命:去中心化身份系统的全栈实现路径
  • 如何将 sNp 文件导入并绘制到 AEDT (HFSS)
  • IMX675-AAQR-C 索尼图像传感器 属于索尼 Starvis 2 系列,主打 高灵敏度、低噪声,适用于工业检测、安防监控、机器视觉等场景 提供数据手册
  • Cancer Cell|scRNA-seq + scTCR + 空间多组学整合分析,揭示CD8⁺ T细胞在免疫治疗中的“双路径” | 临床问题的组学解答
  • UR5 UR5e机器人URDF文件
  • 精华贴分享|【牛马课题】可转债多策略研究-1【基础篇】
  • Linux部署ragflow,从安装docker开始~
  • commix
  • 巧记英语四级单词 Unit5-上【晓艳老师版】
  • keil修改字体无效,修改字体为“微软雅黑”方法
  • 函数的定义与使用(python)
  • windows server安装winget
  • 【进阶】C# 泛型知识点整理归纳
  • Git命令行中vim的操作
  • 9.ArkUI List的介绍和使用
  • 云+AI双轮驱动,亚马逊云科技加速中国企业出海新浪潮
  • OCR定制识别:解锁文字识别的无限可能
  • Windows 安全设置不允许下载文件
  • SpringCloud基于Eureka和Feign实现一个微服务系统
  • Python----深度学习(基于深度学习Pytroch簇分类,圆环分类,月牙分类)
  • B站C语言课程笔记3
  • 《AI大模型趣味实战》基于RAG向量数据库的知识库AI问答助手设计与实现
  • 开发小程序后端用PHP好还是Java哪个好?
  • 【N8N】Docker Desktop + WSL 安装过程(Docker Desktop - WSL update Failed解决方法)