COLT_CMDB_aix_diskinfo.sh
#!/bin/ksh
#IT_BEGIN
#IT_TYPE=3
#IT SYSTEM_AIX_AGENTDISKDISCOVER|discovery.diskInfo[disc]
#原型指标
#IT_RULE SYSTEM_AIX_IP|ipAddress[{#DISKNAME}]
#IT_RULE SYSTEM_AIX_AGENTDISKPATH|diskPath[{#DISKNAME}]
#IT_RULE SYSTEM_AIX_DISKNAME|diskName[{#DISKNAME}]
#IT_RULE SYSTEM_AIX_AGENTDISKSIZE|diskSize[{#DISKNAME}]
#IT_RULE SYSTEM_AIX_AGENTDISKTYPE|diskType[{#DISKNAME}]
#IT_RULE SYSTEM_AIX_HOSTNAME|hostname[{#DISKNAME}]
#IT_END
if [ "$1" = "disc" ];then
diskname=`df -k | sed '1d' | awk '{print $1}' | tr '\n' ' '`
for disk in ${diskname[@]}doecho "{#DISKNAME}="$diskdoneexit 0
fi
#原型指标采集
shname=`basename $0`
ATTR="_X(g=$shname,p=cmdb,t=script,f=0)"
ip=`prtconf |grep "IP Address" |awk '{print $NF}'`
#多指标输出开始
echo COL_DETAIL_START:
#df -k | tail -n +2 | while read line
lsfs -a|grep -v "/proc"| tail -n +2 | while read line
dodiskPath=`echo $line | awk '{print $3}'`diskName=`echo $line | awk '{print $1}'`diskSize=`echo $line | awk '{print $5}'`diskType=`echo $line | awk '{print $4}'`if [ "$diskSize" == "-" ]; then continue;fiva=`expr $diskSize` val=$(printf "%.2f" `echo "scale=2;$va/1024/1024" | bc`)hostname=`hostname`
#if [ "$DISKNAME" == "$diskName" ];thenecho "ipAddress[$ATTR,$diskName]]|+|$ip"echo "diskPath[$ATTR,$diskName]|+|$diskPath"echo "diskName[$ATTR,$diskName]|+|$diskName"echo "diskSize[$ATTR,$diskName]|+|$val"echo "diskType[$ATTR,$diskName]|+|$diskType"echo "hostname[$ATTR,$diskName]|+|$hostname"
#fi
done
#多指标输出结束
echo COL_DETAIL_END:
##上述shell脚本执行结果如下,,请将优化后全部代码展示出来
10.14.0.240执行结果如下:
[root@localhost /]# sh disk_20250508.sh
COL_DETAIL_START:
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd4]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd4]|+|/
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd4]|+|/dev/hd4
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd4]|+|1.00
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd4]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd4]|+|localhost
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd1]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd1]|+|/home
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd1]|+|/dev/hd1
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd1]|+|200.00
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd1]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd1]|+|localhost
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd2]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd2]|+|/usr
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd2]|+|/dev/hd2
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd2]|+|3.50
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd2]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd2]|+|localhost
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd9var]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd9var]|+|/var
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd9var]|+|/dev/hd9var
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd9var]|+|1.00
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd9var]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd9var]|+|localhost
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd3]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd3]|+|/tmp
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd3]|+|/dev/hd3
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd3]|+|10.00
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd3]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd3]|+|localhost
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd10opt]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd10opt]|+|/opt
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd10opt]|+|/dev/hd10opt
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd10opt]|+|20.00
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd10opt]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/hd10opt]|+|localhost
ipAddress[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/fwdump]]|+|10.14.0.240
diskPath[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/fwdump]|+|/var/adm/ras/platform
diskName[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/fwdump]|+|/dev/fwdump
diskSize[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/fwdump]|+|2.00
diskType[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/fwdump]|+|jfs2
hostname[_X(g=disk_20250508.sh,p=cmdb,t=script,f=0),/dev/fwdump]|+|localhost
COL_DETAIL_END:
109环境同步脚本名称COLT_CMDB_aix_diskinfo.sh,版本号1