zoukankan      html  css  js  c++  java
  • Nginx 访问日志分析

    0: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 
  • 相关阅读:
    CDH健康检查报DATA_NODE_BLOCK_COUNT告警
    log4net 日志不能输出
    beetsql 入门学习
    http headers详解
    python3 urllib学习
    python学习疑难1 -- 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character 'xXX' in position XX
    Filter的应用
    SQL简单存储过程
    脑残问题收集
    core 标签简单使用
  • 原文地址:https://www.cnblogs.com/yshyee/p/7401179.html
Copyright © 2011-2022 走看看