shell记录服务器状态,单个进程状态

服务器

LOG_PREFIX="serverMonitor"
IP=$(ifconfig -a|grep inet|grep 10|grep -v inet6|awk '{print $2}'|tr -d "addr")
DATE_TIME=`date +%Y-%m-%d`_`date +%H-%M-%S`
LOG_SUFFIX=".log"
LOG_NAME=${LOG_PREFIX}${DATE_TIME}${LOG_SUFFIX}
`echo IP:$IP >> $LOG_NAME`
while [ 1=1 ]
do
        curTM=`date +%H:%M:%S`
		#cpu指标
        US=$(vmstat |awk 'NR==3{print $13}')
		SY=$(vmstat |awk 'NR==3{print $14}')
		#内存指标
		MUSE=$(free -m |awk '/Mem/{print $3-$6-$7}')
		#平均负载指标
		loadavg1=$(uptime | awk '{print $10}' | cut -f1 -d,)
		loadavg5=$(uptime | awk '{print $11}' | cut -f1 -d,)
		loadavg15=$(uptime | awk '{print $12}')
        `echo $curTM,cpu_us:$US,cpu_sy:$SY,mem-use:$MUSE,load1:$loadavg1,load5:$loadavg5,load15:$loadavg15 >> $LOG_NAME`
        sleep  5
done

单个进程

PID=$1
LOG_PREFIX="threadMonitor"
IP=$(ifconfig -a|grep inet|grep 10|grep -v inet6|awk '{print $2}'|tr -d "addr")
DATE_TIME=`date +%Y-%m-%d`_`date +%H-%M-%S`
LOG_SUFFIX=".log"
LOG_NAME=${LOG_PREFIX}${PID}${DATE_TIME}${LOG_SUFFIX}
`echo IP:$IP >> $LOG_NAME`
while [ 1=1 ]
do
        curTM=`date +%H:%M:%S`
		#进程号
		#PID=`ps -ef | grep "redis" | grep -v grep | awk '{print $2}'`
		#CPU
		CPU=$(top -n 1 -p ${PID} | tail -3 | head -1|awk '{print $9}')
		#内存
		MEM=$(top -n 1 -p ${PID} | tail -3 | head -1|awk '{print $10}')
        `echo $curTM,cpu:$CPU,mem:$MEM >> $LOG_NAME`
        sleep  5
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值