zoukankan      html  css  js  c++  java
  • Ngnix日志分析

    Ngnix日志分析

    • cat用来读取日志内容
    • grep进行匹配的文本搜索
    • wc则进行最终的统计
    • grep与命令格式: grep -E “a.*b” file,ab条件同时成立
    • grep或命令的格式为:grep -E “a|b” file ,ab两个条件有一个成立即可

    Nginx日志格式:

    $remote_addr$remote_user [$time_local] $request $status $apache_bytes_sent $http_referer $http_user_agent
    127.0.0.1 - - [24/Mar/2011:12:45:07 +0800] "GET /fcgi_bin/xxx.fcgi?id=xxx HTTP/1.0" 200 160 "-" "Mozilla/4.0"

    grep打印匹配的前后几行

    $grep -C 5 ‘parttern’ inputfile //打印匹配行的前后5行
    $grep -A 5 ‘parttern’ inputfile //打印匹配行的后5行
    $grep -B 5 ‘parttern’ inputfile //打印匹配行的前5行

    统计某接口调用的次数

    $cat access.log | grep 'GET /task/showContent' | wc -l
    $grep 'GET /task/showContent' access.log -c

    统计所有接口的调用次数并显示出现次数最多的前二十的URL

    $cat access.log|awk '{split($7,b,"?");COUNT[b[1]]++;}END{for(a in COUNT) print COUNT[a], a}'|sort -k1 -nr|head -n20

    统计nginx日志中报错较多的接口

    $cat nginx-ad-access.log|awk'{if($9==500) print $0}'|awk '{split($7,b,"?");COUNT[b[1]]++;}END{for(a in COUNT) print COUNT[a], a}'|sort -k 1 -nr|head -n10

    通过日志查看当天访问页面排前10的url

    $cat access.log | grep "24/Mar/2011" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10

    通过日志查看当天访问次数最多的10个IP ,只需要在上一个命令后加上head命令

    $cat access.log | grep "24/Mar/2011" |awk '{print $3}'|sort |uniq -c|sort -nr|head –n 10

    通过日志查看当天访问次数最多的10个IP

    $awk '{print $1}' access.log |sort |uniq -c|sort -nr|head

    通过日志查看当天指定ip访问次数过的url和访问次数

    $cat access.log | grep "10.0.21.17" | awk '{print $7}' | sort | uniq -c | sort –nr

    通过日志查看当天访问次数最多的时间段

    $awk '{print $4}' access.log | grep "24/Mar/2011" |cut -c 14-18|sort|uniq -c|sort -nr|head
  • 相关阅读:
    zoj 3697(模拟+dp)
    hdu 2444(二分图最大匹配)
    基础建设者的悲歌
    ANDROID 常用音乐软件 歌曲存放位置
    Winform 类似于WINDOWS的选择文件夹对话框
    我听到过的一个精彩的软件纠错故事
    cs类文件中输出脚本的方法
    NeatUpload的安装使用
    asp.net获取系统已安装字体的方法
    (转载)你真的了解分层架构吗?——写给被PetShop"毒害"的朋友们
  • 原文地址:https://www.cnblogs.com/syfwhu/p/5705374.html
Copyright © 2011-2022 走看看