#!/bin/sh
Hostname=`/bin/hostname`
systemtype=`dmidecode --type system |grep -E 'Product Name' |sed 's/Product Name://g'`
disk=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | egrep '(Raw Size|Device Id|DiskGroup|DiskGroup|PD Type)'`
Battery=`/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL|grep "Charger Status"|awk -F: '{print $1":"$2}'`
raid=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL|grep "RAID Level"|tail -100|awk -F: '{print $1":"$2}'`
Disknum=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL|grep -c "Non Coerced Size"`
Onlinedisk=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL | grep Online | wc -l | sed 's/ //'`
Faileddisk=`/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL | grep "Failed Disks"|awk -F' ' '{print $4}'`
board_SN_name=`dmidecode -t system | grep 'Serial Number' |sed 's/Serial Number://g'`
version=`cat /etc/redhat-release`
cpu_model=`cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq | sed 's/^ *//'`
cpu_core_num=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F ': ' '{print $2}'`
cpu_phy_num=`cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l`
cpu_logic_num=`cat /proc/cpuinfo | grep "processor"|awk -F ': ' '{print $1}'|wc -l`
meminfo=`dmidecode | grep "^[[:space:]]*Size.*MB$" | uniq -c | sed 's/ \t*Size: /\*/g' | sed 's/^ *//g'|xargs -n 20`
memory_num=`dmidecode -t memory | grep Size | wc -l`
totalMem=`awk '/MemTotal/{print $2}' /proc/meminfo`
freeMem=`awk '/MemFree/{print $2}' /proc/meminfo`
usedMem=`expr ${totalMem} - ${freeMem}`
memory_usage=$(printf "%d%%" $(($usedMem*100/$totalMem)))
echo "===================== Host Information ====================="
echo "设备命名 : $Hostname"
echo "设备型号 : $systemtype"
echo "序列号 : $board_SN_name"
echo "系统版本 : $version"
echo "内存大小 : $meminfo"
echo "内存插槽数 : $memory_num"
echo "内存使用率 : $memory_usage"
echo "CPU型号 : $cpu_model"
echo "单物理CPU的核心数 : $cpu_core_num"
echo "物理CPU个数 : $cpu_phy_num"
echo -e "逻辑cpu数 : $cpu_logic_num\n"
echo "===================== Raid Information ====================="
echo "$raid"
echo "===================== Disk Information ====================="
echo "$disk"
if [ -z "$Battery" ];then
echo "Battery :Null"
else
echo "$Battery"
fi
echo "Total Diak Number:$Disknum"
echo "Online Disk Number:$Onlinedisk"
echo "Failed Disk Number:$Faileddisk"