发表于: 2017-07-18 23:18:34

2 1108


今天:

写了一条shell命令,统计nginx中响应时间超过x秒的条数。


awk  -F- '$2>x' access.log | sort -n | uniq | wc -l


nginx日志的格式:

 log_format main '$remote_addr - $request_time - $remote_user [$time_local] '

                  '"$request" $status $body_bytes_sent'

                  '"$http_referer" "$http_user_agent"';

输出实际效果:

111.132.118.142 - 0.015 - - [18/Jul/2017:17:07:35 +0800] "GET /task2/a/student/9 HTTP/1.1" 200 144"-" "PostmanRuntime/6.1.6"

参考:

使用-分割 输出日志第二项

awk  -F- '{print $2}' access.log ---输出的是0.0015


输出大于0.001 的

awk  -F- '$2>0.001' access.log 


参考统计ip访问量的语句:

统计ip访问量:

awk '{print $1}' access.log | sort -n | uniq | wc -l


统计行数

awk  -F- '$2>0.001' access.log | sort -n | uniq | wc -l


最终shell脚本如下:

#!/bin/bash

log_path=/var/log/nginx/access.log

export.GB2312;

ip_pv=`awk '{ip[$1]++}END{for (k in ip){print ip[k],k}}' ${log_path} | sort -rn | head -20`

total_visit=`wc -l ${log_path} | awk '{print $1}'`

d=`awk -F- '$2>0.007' access.log | sort -n | uniq | wc -l`

echo -e "总访问量-${total_visit}\nip-${ip_pv}\时间超过0.007毫秒的有${d}条"



遇到问题:

1.将项目打成war包部署到服务器resin上后,通过配置什么把项目里log4j日志输出出来?

2.No qualifying bean of type 'com.dj.service.StudentService' available: expected single matching bean but found 2: StudentServiceImpl,studentServiceImpl

注释掉下句


明天要做:

log4j中有如下路径,看了下ubuntu上 有/home/ubuntu/logs,但没有app.log,自己建了一个app.log,postman访问后app.log中没日志记录。到底是配置错误还是方法错误?


暂跳过此处,完成任务三深度思考,梳理下任务三目的和学到的内容。


返回列表 返回列表
评论

    分享到