服务器负载监控以及文字处理脚本
2013-10-09 14:36
155 查看
运维监控总少不了一些脚本来监控自己的机器,博主自己写了个监控,并通过sleep来控制输出的间隔时间。如果想要获取其他的相关信息,可以采用类似的方式,添加即可。
首先是服务器的负载监控脚本,主要输出了 内存,CPU,网络连接等信息
然后是单独列出 日期时间以及CPU负载的 文本处理脚本,主要进行了自动的筛减数据,及分列处理
最后是脚本输出的最后处理,过滤掉CPU获取失败的行,并把CPU空闲转化为CPU的利用率。最后的脚本效率极差,可以进行优化。
首先是服务器的负载监控脚本,主要输出了 内存,CPU,网络连接等信息
#!/bin/sh while true do TOP=`top -b -n 2 | grep Cpu |tail -2` FREE=`free -m` SWAP=`echo $FREE | grep Swap | cut -d":" -f 4` MEM=`echo $FREE | grep Mem | cut -d: -f 2` #cpu status########################################################## IDLE=`echo $TOP | awk '{print $14}'| sed s/id,//` #swap status######################################################### swap_total=`echo $SWAP | awk '{print $1}'` swap_free=`echo $SWAP| awk '{print $3}'` #mem status########################################################## mem_total=`echo $MEM| awk '{print $1}'` mem_used=`echo $MEM | awk '{print $2}'` mem_free=`echo $MEM| awk '{print $3}'` caches=`echo $MEM| awk '{print $6}'` #tcp status########################################################## closed_wait=`netstat -an| awk '/^tcp.*CLOSED_WAIT/' | wc | awk '{print $1}'` established=`netstat -an| awk '/^tcp.*ESTABLISHED/' | wc | awk '{print $1}'` #date infomation#################################################### DATE=`date +"%F %T"` #echo all the infomation############################################ echo $DATE" "$IDLE" "$mem_total" "$mem_used" "$mem_free" "$caches" "$swap_total" "$swap_free" "$closed_wait" "$established >> Load.log sleep 1 done
然后是单独列出 日期时间以及CPU负载的 文本处理脚本,主要进行了自动的筛减数据,及分列处理
#!/bin/bash count=1 num=10 while read line;do ((count++)) { if [ $count -eq $num ];then count=1 && echo $line >> odb.txt fi } done < db.txt
最后是脚本输出的最后处理,过滤掉CPU获取失败的行,并把CPU空闲转化为CPU的利用率。最后的脚本效率极差,可以进行优化。
#!/bin/bash while read line;do { READ=`echo $line | awk '{print $3}'` WE="0.0%wa," NUM=`echo $READ | tr -cd '0-9'` NUM1=`echo $NUM | sed 's/\(.\)$/.\1/g'` RESULT=`echo "scale=3;1000-$NUM1"|bc` RERE=`echo $RESULT | sed 's/.*\(...\)$/\1/'` HAHA=`echo $line | awk '{print $1,$2}'` if [ $READ != $WE ];then echo $HAHA $RERE% >> idb.txt fi } done < odb.txt
相关文章推荐
- 开源软件SkyEye外设建模架构探索---关键字
- 关于升级linux下apache
- js框架开发之旅--架构
- centos Linux 系统下安装mysql时,执行scripts/mysql_install_db --user=mysql 报错
- 批处理设置Java及Tomcat的环境变量
- 编写Linux下Input设备的检测程序 .
- Hadoop 配置问题
- How to find per-process I/O statistics on Linux
- ARM Linux启动代码分析
- shell下简单脚本
- 浅谈BitmapFactory.Options的使用
- 高端智能阿里手机 黑色 ZOPO C2 出售1499
- 数学公式做图网站
- shell 下的字符串比较
- Linux文件权限
- Apache中怎么修改默认站点目录
- Linux串口编程 【转】
- Tomcat7.0启动报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
- Command line option syntax error错误解决办法
- linux下ubuntu 软件源码下载地址