发表于: 2018-02-08 23:35:49
1 703
完成
1.学习用awk写脚本(http://blog.csdn.net/exceptional_derek/article/details/48470717)
AWK 简介
AWK 是一种“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表。它的名称取自于它的创始人 Alfred Aho、 Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。
本文论述的 awk 命令主要指 Linux 操作系统中广泛包含的内置程序 /bin/gawk,它是 Unix awk 程序的 GNU 版本。此命令主要负责读入并运行 AWK 语言编写的程序。在 Windows 平台上可以使用 Cygwin 在模拟环境下运行 awk 命令。
基本上来说,awk 可以从输入( 标准输入,或一个或多个文件 )中是否存在指定模式的记录( 即文本行 )。每次发现匹配时,就执行相关联的动作( 例如写入到标准输出或外部文件 )。
2.接下来做统计响应延时
之前的日志里没有响应时间,要在在Nginx.conf取消注释,重启即可
输入cat access.log这回有了
把access.log里项目相关的日志复制到a.txt上,这里a.txt会自动创建,接着可以grep看看a.txt里有多少行日志
将a.txt中响应时间部分复制到waitTime.txt上,效果如下
同样的,访问DB时间昨天已经在本地跑通,今天放到服务器上
我把项目日志文件lol.log(可以在log4j.rootLogger设置路径)的“数据库响应时间”放入DB-time.txt下
访问DB时间,响应延时两者整合的脚本如下:
#!/bin/bash
cd /usr/local/nginx/logs
echo "数据库响应时间统计:" > count-nginx.txt
echo "响应时间在在10ms以内的为:" >> count-nginx.txt
cat DB-time.txt | awk 'BEGIN{sum=0}{if($12<10) sum++;} END{print sum}' >> count-nginx.txt
echo "响应时间在在10-20ms以内的为:" >> count-nginx.txt
cat DB-time.txt | awk 'BEGIN{sum=0}{if(($12>=10)&&($12<20)) sum++;} END{print sum}' >> count-nginx.txt
echo "响应时间在在20-100s以内的为:" >> count-nginx.txt
cat DB-time.txt | awk 'BEGIN{sum=0}{if(($12>=20)&&($12<100)) sum++;} END{print sum}' >> count-nginx.txt
echo "响应时间在在100ms以上的为:" >> count-nginx.txt
cat DB-time.txt | awk 'BEGIN{sum=0}{if($12>=100) sum++;} END{print sum}' >> count-nginx.txt
#统计nginx的响应时间
echo "Nginx响应时间(划分时间段):" >> count-nginx.txt
echo "响应时间在在0.005s以内的为:" >> count-nginx.txt
cat waitTime.txt | awk 'BEGIN{sum=0}{if($0<0.005) sum++;} END{print sum}' >> count-nginx.txt
echo "响应时间在在0.005--0.010s以内的为:" >> count-nginx.txt
cat waitTime.txt | awk 'BEGIN{sum=0}{if(($0>=0.005)&&($0<0.01)) sum++;} END{print sum}' >> count-nginx.txt
echo "响应时间在在0.01--0.02s以内的为:" >> count-nginx.txt
cat waitTime.txt | awk 'BEGIN{sum=0}{if(($0>=0.01)&&($0<0.02)) sum++;} END{print sum}' >> count-nginx.txt
echo "响应时间在在0.02s以外的为:" >> count-nginx.txt
cat waitTime.txt | awk 'BEGIN{sum=0}{if($0>=0.02) sum++;} END{print sum}' >> count-nginx.txt
这是执行效果(打开count-nginx.txt)
问题
编写启动,停止服务脚本,今天还没跑通
服务器卡了一下午,速度极慢,晚上重启了才好转
收获
进一步熟悉脚本的写法,awk语句等
计划
编写出启动,停止,重新部署脚本,能够通过Nginx配置域名访问(可以本地配置Host解决备案问题)
提交任务3,开始任务4
评论