分享一部分我写的监控命令,如下:
1.cpu监控
top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d '%'
这个命令返回的是cpu的用户那部分的使用率,就是us那一项,一般情况下我们监控这个指标就可以
这个使用率一般超90%需要警告
2.磁盘空间监控
df -h |awk '{print $NF,$5}'|sed -n '2,$p'|cut -f 1 -d '%'
这个命令返回的是磁盘各个分区的空间的使用率,最后的cut是去掉百分号的符合,方便用数值来判断。
这个使用率一般超90%需要警告
3.内存监控
free | awk '/Mem/{printf("%.2f\n"), $3/$2*100}'
这个命令返回的是内存的使用率
这个使用率一般超90%需要警告
4.磁盘io使用率监控
iostat -dmx 3 1 -y|sed -n '4,$p'| awk '{print $1,$NF}'
这个命令返回的是磁盘各个分区的io使用率,就是util那一项,统计三秒钟,取三秒内的平均使用率.你也可以改成5秒,10秒,取决于实际场景。
如果命令不存在可以先安装一下
yum install -y sysstat
这个使用率一般超90%需要警告
5.网络进出口流量监控
iftop -B -t -L 1 -s 10|sed -n '9p'|awk '{print $(NF-1)}'
这个命令统计的是网络进出口流量的数量,统计10秒,取的10秒的平均速率,就是Total send and receive rate那一项。这个命令有2秒,10秒,40秒三个选项,如果执行少于2秒,那么2秒,10秒,40秒三个输出的值是一样的,如果执行大于2秒小于10秒,那么10秒和40秒的值是一样的,2秒的值是取的最近2秒的,所以执行时间一定要大于这几个选项的值,我这边执行10秒,取的是10秒那一项。
如果命令不存在可以先安装一下
yum install -y iftop
这个的缺点是返回的速率单位不可控,有时候是K,有时候是M,只能自己转换。目前没找到其他好的解决办法。
这个警告线一般取决于带宽,达到带宽的50%我觉得就可以警告了
标签:10,命令,awk,监控,linux,print,使用率 From: https://www.cnblogs.com/leecoder5/p/18420830