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

bash 复制代码
#!/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
do
  netName=`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; then
    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'`
elif command -v ip >/dev/null 2>&1; then
    ip=`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; then
    ip=`hostname -I|tr " " ","| awk '{print substr($0, 1, length($0)-1)}'`
else
    echo "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
do
                netName=`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 复制代码
-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:
相关推荐
悄悄敲敲敲1 小时前
Linux:进程间通信->共享内存
linux·运维·服务器
绵绵细雨中的乡音1 小时前
Linux进程学习【环境变量】&&进程优先级
linux·运维·学习
GanGuaGua2 小时前
linux:进程的替换
linux·运维·服务器
梓䈑2 小时前
【Linux系统】详解Linux权限
linux·运维·bash
Mr_sun.3 小时前
Day23-Web开发——Linux
linux·运维·服务器
星雨流星天的笔记本3 小时前
1、Linux操作系统下,ubuntu22.04版本切换中英文界面
linux·学习
muxue1783 小时前
centos 7 网络配置(2):ping命令出现问题
linux·网络·centos
唐僧洗头爱飘柔95274 小时前
(云计算HCIP)HCIP全笔记(九)本篇介绍操作系统基础,内容包含:操作系统组成、分类和定义,Linux的特性结构和Linux版本分类
linux·笔记·华为云·云计算·hcip·openeuler·操作系统概述
电鱼智能的电小鱼4 小时前
EFISH-SBC-RK3588 —— 厘米级定位 × 旗舰算力 × 工业级可靠‌
linux·人工智能·嵌入式硬件·边缘计算