发表于: 2018-02-08 23:35:49

1 704


完成

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



返回列表 返回列表
评论

    分享到