Nginx访问日志格式配置和访问日志分析

WebServer 01/06 阅读 64 views次 人气 0
摘要:

Nginx访问日志格式配置和访问日志分析,Nginx访问日志格式配置和访问日志分析,Nginx访问日志格式配置和访问日志分析

Nginx访问日志中 按照ip请求次数统计命令:

http://www.what21.com/u/10007/7689734608240178000.htm


Nginx日志格式配置

# vim nginx.conf
##
        # Logging Settings
        ##
        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent $request_body "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';

        access_log /var/log/nginx/access.log access;

1、统计PV数

(1)统计所有的PV数

cat access.log | wc -l

(2)统计当天的PV数

cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l

(3)统计指定某一天的PV数

cat access.log | sed -n '/20\/Aug\/2017/p' | wc -l

如果要是获取某一天的则修改日期即可。

2、获取访问IP数

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

3、获取每分钟的请求数量

通过cat、awk等Linux脚本工具,输出成csv文件,然后用excel打开,生成柱状图。

cat access.log | awk '{print substr($4,14,5)}' | uniq -c | awk '{print $2","$1}' | sort -k1 | awk '{print $2","$1}' > access.csv

4、查看日志中访问次数最多的前10个IP

cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10

5、查看日志中访问次数超过1000次的前10个IP

cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{if($1>1000) print $0 }' | head -n 10


评论

表情

分享到: