性能监控脚本
#!/bin/bash
kernel = $( uname -r)
release = $( cat /etc/redhat-release)
hostname = $HOSTNAME
localip = $( ip a s | awk '/inet /{print $2 }' )
mem_total = $( free -m | awk '/Mem/{print $2 }' )
mem_free = $( free -m | awk '/Mem/{print $NF }' )
swap_total = $( free -m | awk '/Swap/{print $2 }' )
swap_free = $( free -m | awk '/Swap/{print $NF }' )
disk = $( df -h | awk '/^\/dev/{print $1 ,$2 ,$4 }' | column -t)
load1 = $( uptime | sed 's/,//g' | awk '{print $( NF-2) }' )
load5 = $( uptime | sed 's/,//g' | awk '{print $( NF-1) }' )
load15 = $( uptime | sed 's/,//g' | awk '{print $NF }' )
login_users = $( who | wc -l)
procs = $( ps -aux | tail -n +2 | wc -l)
users = $( cat /etc/passwd | wc -l)
cpu_info = $( LANG = C lscpu | awk -F: '/Model name/{print $2 }' | sed 's/^[ \t ]*//' )
cpu_core = $( awk '/processor/{core++} END{print core}' /proc/cpuinfo)
yum install -y sysstat &> /dev/null
echo -e "\033 [34m提取磁盘性能指标,请稍后...\033 [0m"
tps = $( LANG = C sar -d -p 1 6 | awk '/Average/' | \
tail -n +2 | awk '{print "["$2 "]磁盘平均IO数量:"$3 }' ) &
read_write = $( LANG = C sar -d -p 1 6 | awk '/Average/' | \
tail -n +2 | awk '{print "["$2 "]平均每秒读写扇区量::"$4 ,$5 }' ) &
irq = $( vmstat 1 2 | tail -n +4 | awk '{print $11 }' )
cs = $( vmstat 1 2 | tail -n +4 | awk '{print $12 }' )
top_proc_mem = $( ps --no-headers -eo comm,rss | sort -k2 -n | tail -5)
top_proc_cpu = $( ps --no-headers -eo comm,pcpu | sort -k2 -n | tail -5)
net_monitor = $( cat /proc/net/dev | tail -n +3 | \
awk 'BEGIN{print "网卡名称 入站数据流量 出战数据流量"}{print $1 ,$2 ,$10 }' | column -t)
clear
echo -e "\033 [33m-------------------------------------本机主要数据参数表--------------------------------[0m"
echo -e "本机IP地址列表: \033 [32m$localip \033 [0m"
echo -e "本机主机名: \033 [32m$hostname \033 [0m"
echo -e "操作系统版本: \033 [32m$release \033 [0m,内核版本: \033 [32m$kernel \033 [0m"
echo -e "CPU型号: \033 [32m$cpu_info \033 [0m,CPU内核数量: \033 [32m$cpu_core \033 [0m"
echo -e "本机总内存容量: \033 [32m$mem_total M\033 [0m,剩余可用内存容量: \033 [32m$mem_free M\033 [0m"
echo -e "本机swap总容量: \033 [32m$swap_total M\033 [0m,剩余swap容量: \033 [32m$swap_free M\033 [0m"
echo -e "CPU最近1分钟,5分钟,15分钟的平均负载分别为: \033 [32m$load1 $load5 $load15 \033 [0m"
echo -e "本机 总账户数量: \033 [32m$users \033 [0m,当前登录系统的账户数量: \033 [32m$login_users \033 [0m"
echo -e "当前 系统中启动的进程数量: \033 [32m$procs \033 [0m"
echo -e "占用CPU资源最多的5个进程列表为: "
echo -e "\033 [32m$top_proc_cpu \033 [0m"
echo -e "占用内存资源最多的5个进程列表为: "
echo -e "\033 [32m$top_proc_mem \033 [0m"
echo -e "CPU中断数量: \033 [32m$irq \033 [0m,CPU上下文切换数量: \033 [32m$cs \033 [0m"
echo -e "\033 [34m每个磁盘分区的总容量和剩余容量信息如下: \033 [0m"
echo -e "$disk "
echo -e "$tps "
echo -e "$read_write "
echo -e "$net_monitor "
echo -e "\033 [33m---------------------------------------The End------------------------------------------/033[0m"