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;"