zoukankan      html  css  js  c++  java
  • nginx筛选字段+excel统计

    nginx筛选字段+excel统计

      今天临下班的时候,领导叫我统计下即将举行的xx活动中,所有接口url在整天测试过程中,平均访问时间分别是多少,然后降序排序列出来,好让分析性能瓶颈。

      第一次遇到这样的需求,以为要搞很久,领导也比较体贴,知道我没弄过之后,竟然帮我问开发是否了解,linux是否有现成的统计函数,我都猜只能从nginx日志去分析的了~~~果不其然。

      幸好领导帮我化繁为简:叫我先筛选nginx中两列数据:url ,upstream_response_time,然后再导出来放到excel ,作进一步统计分析。

    一、nginx筛选字段

    1、先查看nginx中对日志格式定义

       log_format json '{"@timestamp":"$time_iso8601",'
      '"host":"$server_addr",'
      '"clientip":"$remote_addr",'
      '"size":$body_bytes_sent,'
      '"responsetime":$request_time,'
      '"upstreamtime":$upstream_response_time,'
      '"upstreamhost":"$upstream_addr",'
      '"http_host":"$host",'
      '"url":"$uri",'
      '"xff":"$http_x_forwarded_for",'
      '"referer":"$http_referer",'
      '"agent":"$http_user_agent",'
      '"status":"$status"}';  

    2、顺带观察日志输出 ——》非必须

    摘录一条具体日志,如下(为了保密,一些字段信息我改了下)

    {"@timestamp":"2021-05-31T09:10:02+08:00","host":"123.14.16.8","clientip":"119.129.123.213","size":8097,"responsetime":0.007,"upstreamtime":0.007,"upstreamhost":"172.12.11.14:8291","http_host":"act.ljysai.cn","url":"/gyp/gyp/images/logo_defaultHead.png","xff":"-","referer":"https://act.ljysai.cn/gyp/gyp/manage/index.html","agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36","status":"200"}

    3、最终核心处理命令:

     cat  活动.access.log | awk -F '"' '{print $30"	"$19}' | tr -d ':'  | tr -d ',' > /tmp/活动_20210531.log

    为啥要用 tr 命令呢,因为响应时间筛选完之后,实际上长这种样子

    然后我导出完之后,就不知道怎么进行excel处理了,还是我们的领导厉害呀,简直是excel小能力,请收下我的膝盖。。。。

    二、excel统计

    1、原始数据长这样:

    2、最终成品

    具体过程,我都是凭记忆敲的,可能有误导成分。。。为了不影响我领导伟大的杰作,俺自己复制一个玩

    (1)选中“数据透视表”

    重头戏来嘞。。。登登登~~~~!!!

    (2)两列数据全部选中,“确定”。然后第一列拖去“行”的空白框上,第二列拖去“值”的空白框

     (3)计算平均值

    参考:http://www.360doc.com/content/18/0114/16/30583536_721860402.shtml

    鼠标单击,选中“值”,“值字段设置”

     选择求平均值

     

     然后再把这个行的玩意再拉多一次下去,跟值放一起,最终成品如下图:

     (4)降序显示请求时间

     至此,大功告成~~~~

     

  • 相关阅读:
    Good Bye 2014 B. New Year Permutation(floyd )
    hdu 5147 Sequence II (树状数组 求逆序数)
    POJ 1696 Space Ant (极角排序)
    POJ 2398 Toy Storage (叉积判断点和线段的关系)
    hdu 2897 邂逅明下 (简单巴什博弈)
    poj 1410 Intersection (判断线段与矩形相交 判线段相交)
    HDU 3400 Line belt (三分嵌套)
    Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)
    Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings (容斥原理)
    hdu 1576 A/B (求逆元)
  • 原文地址:https://www.cnblogs.com/windysai/p/14833625.html
Copyright © 2011-2022 走看看