Contents
3.27. monitor_Linux系统性能¶
#!/usr/bin/env bash
#usage:xxx
#scripts_name:xxx.sh
echo -e "\033[34m \033[1m"
cat <<EOF
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++ Wellcom to use system Collect ++++++++++++++++++++++++++
EOF
#定义常量
Mysql_ROOT=root
Mysql_password=admin#123
DB_name=App1
ip_info=$(ifconfig|grep "broadcast"|tail -1|awk '{print $2}')
cpu_info1=$(cat /proc/cpuinfo | grep 'model name'|tail -1|awk -F: '{print $2}'|sed 's/^//g'|awk '{print $1,$3,$4,$NF}')
cpu_info2=$(cat /proc/cpuinfo | grep 'physical id'|sort|uniq -c|wc -l)
serv_info=$( hostname| tail -1)
disk_info=$(fdisk -l| grep "磁盘"|awk '{print $2,$3,$4}'|sed 's/,//g')
mem_info=$( free -m|grep "Mem"|awk '{print "Total",$1,$2}')
load_info=$(uptime|awk '{print "Current load: " $(NF-2),$(NF-1),$NF}'|sed 's/\,//g')
makr_info="BeiJing_IDC"
echo -e "\033[32m -------------------------------------- \033[1m"
echo IPADDR:${ip_info}
echo HOSTNAME:${serv_info}
echo CUP_INFO:${cpu_info1} X${cpu_info2}
echo DISK_INFO:${disk_info}
echo MEM_INFO:${mem_info}"M"
echo LOAD_INFO:${load_info}
echo -e "\033[32m -------------------------------------- \033[0m"
monitor_jk () {
mysql -u${Mysql_ROOT} -p${Mysql_password} -D $DB_name -e "
INSERT INTO system_info VALUES ('','$ip_info' , '$serv_info', '${cpu_info1} X${cpu_info2}', '$disk_info', '$mem_info', '$load_info');
"
}
echo -e -n "\033[36m *******You want to write the data to the databases? 【yes|y|Y】: \033[1m"; read ensure
if [ "$ensure" == "yes" -o "$ensure" == "y" -o "$ensure" == "Y" ]; then
echo "-------------------------------------------------------------"
mysql -uroot -padmin#123 -D App1 -e "select count(*) from system_info;" > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
monitor_jk
else
echo -e "$DB_name is not exists! Create $DB_name"
mysql -u${Mysql_ROOT} -p${Mysql_password} -D $DB_name -e "
CREATE TABLE `system_info` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`address` varchar(15) DEFAULT NULL COMMENT 'IP address',
`Hostname` varchar(30) DEFAULT NULL COMMENT 'hostname',
`CPU_info` varchar(100) DEFAULT NULL COMMENT 'cpu_info',
`Disk_info` varchar(200) DEFAULT NULL COMMENT 'disk_info',
`Mem_info` int(8) DEFAULT NULL COMMENT 'mem_info',
`Load_info` varchar(80) DEFAULT NULL COMMENT 'load_info',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;;
"
fi
monitor_jk
fi
mysql -u${Mysql_ROOT} -p${Mysql_password} -D $DB_name -e "select * from system_info;"