Linux通过shell脚本事件性能监控

 

 

 

 

 

#!/bin/bash
currentTime=`date "+%Y-%m-%d %H:%M:%S"`
echo $currentTime >> health.log

echo '----可用内存占用率---' >> health.log
total=`free -m |grep "Mem:" | awk '{print $2}'`
free=`free -m |grep "Mem:" | awk '{print $4}'`
buffers=`free -m |grep "Mem:" | awk '{print $6}'`
cached=`free -m |grep "Mem:" | awk '{print $7}'`
available=$(expr $free + $buffers + $cached)
freerate=`awk 'BEGIN{printf "%.2f\n",('$available'/'$total')*100}'`
echo "freerate=$freerate" >> health.log

echo "--cpu---" >> health.log
#cpu
us=`vmstat| sed -n '3p' | awk '{print $13}'`
sy=`vmstat| sed -n '3p' | awk '{print $14}'`
cpun=$(expr $us + $sy)
echo "cpu使用率:$cpun" >> health.log
echo "---磁盘占用率---" >> health.log
#iowait
iowait_val=`iostat -c  | grep -v avg | grep '[^/s]' | grep -v Li | awk  '{print $4}'`
echo "iowait=$iowait_val" >> health.log
#磁盘占用率,即程序占用磁盘大小/总磁盘大小
system_disk=`df -TPh | grep -vE '^Filesystem|tmpfs|cdrom' | grep "vda1" | awk '{ print $6}'`
echo "系统盘占用率:$system_disk" >> health.log
ordinary_disk=`df -TPh | grep -vE '^Filesystem|tmpfs|cdrom' | grep "vdb1" | awk '{ print $6}'`
echo "挂载磁盘占用率:$ordinary_disk" >> health.log

echo "---数据流----"
#rxKB/s 每秒接收的数据量,单位KByte 1KB=1000byte=8000bit
#txKB/s 每秒发出的数据量,单位KByte
jieshou=`sar -n DEV 1 5 | sed -n '25,25p' | awk '{print $5}'`
fa=`sar -n DEV 1 5 | sed -n '25,25p' | awk '{print $6}'`
wangka=`sar -n DEV 1 5 | sed -n '25,25p' | awk '{print $2}'`
echo "网卡:$wangka 每秒接收的数据量kb:$jieshou" >> health.log
echo "网卡:$wangka 每秒发送的数据量kb:$fa" >> health.log

 

posted @ 2021-04-19 15:29  大东的博客  阅读(295)  评论(0)    收藏  举报