利用SHELL三剑客怎样统计和分析nginx日志

1、在企业生产环境中,日志内容主要用来做什么呢?日志内容主要用于运维人员、开发人员、DBA排错软件服务的故障的,因为通过日志内容能够第一时间找到软件服务的异常或者故障原因,从而第一时间解决问题,降低企业的损失。

2、日志内容在企业中,除了用于排错、定位问题之外。运维人员、开发人员还可以对日志内容进行分析、统计、过滤,评估网站访问量、PV(Page Veiw)、UV(uniq visitor)、IP(独立IP)、用户访问行为等。

3、基于SHELL编程三剑客Awk、Sed、Grep来分析、统计线上Nginx日志,统计Nginx访问日志全天总的请求数,操作指令如下:

wc -l access_20200228.log|cut -d" " -f1

awk '{print $0}' access_20200228.log|wc -l

awk '{print NR}' access_20200228.log|tail -1

sed = access_20200228.log|tail -2|head -1

grep -aic "" access_20200228.log

4、基于SHELL编程三剑客Awk、Sed、Grep来分析、统计线上Nginx日志,统计Nginx访问日志全天(09:00-11:00)总的请求数,操作指令如下

grep "2020:09:00" access_20200228.log|wc -l

grep "2020:11:00" access_20200228.log|wc -l

sed -n '/2020:09:00/'p access_20200228.log

awk "/2020:09:00/,/2020:11:00/" access_20200228.log|wc -l

sed -n '/2020:09:00/,/2020:11:00/'p access_20200228.log|wc -l

5、基于SHELL编程三剑客Awk、Sed、Grep来分析、统计线上Nginx日志,统计Nginx访问日志全天(09:00-11:00)总的请求数,将访问的用户IP打印出来,将访问量排前20名IP打印,操作指令如下:

#将访问的用户IP打印出来;

sed -n '/2020:09:00/,/2020:11:00/'p access_20200228.log|cut -d" " -f1

sed -n '/2020:09:00/,/2020:11:00/'p access_20200228.log|awk '{print $1}'

sed -n '/2020:09:00/,/2020:11:00/'p access_20200228.log|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"

#将访问量排前20名IP打印出来;

sed -n '/2020:09:00/,/2020:11:00/'p access_20200228.log|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort -n|uniq -c

sed -n '/2020:09:00/,/2020:11:00/'p access_20200228.log|grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort -n|uniq -c|sort -nr|head -20

发表评论

登录... 后才能评论