shell学习之主机监控

主机监控

#!/bin/bash
#description:获取主机cpu内存等
cpu(){
        local user system idle cwait
        user=$(vmstat | awk 'NR==3{print $13}')
        system=$(vmstat | awk 'NR==3{print $14}')
        idle=$(vmstat | awk 'NR==3{print $15}')
        cwait=$(vmstat | awk 'NR==3{print $16}')
        echo "CPU用户占用:$user%"
        echo "CPU系统占用:$system%"
        echo "CPU空闲占用:$idle%"
        echo "CPU等待磁盘I/O响应占用:$cwait%"
}
memory(){
        local used01 free01 buffers_cached used free total rows userd_per
		rows=$(free -m|wc -l)
		if [ $rows -eq 3 ];then
			used01=$(free -m|awk 'NR==2{print $3}')
			free01=$(free -m|awk 'NR==2{print $4}')
			buffers_cached=$(free -m|awk 'NR==2{print $6}')
			used=`expr $used01 - $buffers_cached`
			free=`expr $free01 + $buffers_cached`
			total=`expr $used + $free`
			userd_per=$(awk 'BEGIN{printf "%.2f%\n",('$used'/'$total')*100}')
			echo "内存总共:${total}M"
			echo "内存使用:${used}M"
			echo "内存剩余:${free}M"
			echo "内存使用率:$userd_per%"
		elif [ $rows -eq 4 ];then
			used=$(free -m|awk 'NR==3{print $3}')
			free=$(free -m|awk 'NR==3{print $4}')
			total=`expr $used + $free`
			userd_per=$(awk 'BEGIN{printf "%.2f%\n",('$used'/'$total')*100}')
			echo "内存总共:${total}M"
			echo "内存使用:${used}M"
			echo "内存剩余:${free}M"
			echo "内存使用率:$userd_per%"
		else
			echo "free -m is not ok!"
			exit 1
		fi
}

disk(){
	local Mounted Size Used Avail Use
	part=$(df -h|awk 'BEGIN{OFS="="}NR>1{print $6,$2,$3,$4,int($5)}')
	for p in $part;do
		Mounted=$(echo $p|cut -d"=" -f1)
		Size=$(echo $p|cut -d"=" -f2)
		Used=$(echo $p|cut -d"=" -f3)
		Avail=$(echo $p|cut -d"=" -f4)
		Use=$(echo $p|cut -d"=" -f5)
		#echo "$Mounted磁盘空间共:$Size,已使用:$Used,剩余:$Avail,使用率:$Use%"
		if [ $Use -gt 10 ];then 
			echo "$Mounted磁盘空间使用率超过10%为:$Use%,剩余磁盘空间$Avail,请关注!"
		fi
	done
}
disk
cpu
memory
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫子小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值