`

通过Nginx,Tomcat访问日志(access log)记录请求耗时

阅读更多

一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间


nginx.conf使用配置方式:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'$connection $upstream_addr '
'upstream_response_time $upstream_response_time request_time $request_time ';


$request_time和$upstream_response_time之间差别:

$request_time包含了用户数据接收时间,而真正程序的响应时间应该用$upstream_response_time
所以如果用户网络较差,或者传递数据较大时,$request_time会比$upstream_response_time大很多
详细参考:http://wuzhangshu927.blog.163.com/blog/static/114224687201310674652147/


二、Tomcat通过%D或%T统计请求响应时间

server.xml使用配置方式
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u [%{yyyy-MM-dd HH:mm:ss}t] %{X-Real_IP}i &quot;%r&quot; %s %b %D %F" />

%D - 官方解释:Time taken to process the request, in millis,处理请求的时间,以毫秒为单位
%T - 官方解释:Time taken to process the request, in seconds,处理请求的时间,以秒为单位
%F - 官方解释:Time taken to commit the response, in millis,提交响应的时间,以毫秒为单位
详细说明:http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Access_Logging

 

三、通过awk命令辅助统计access.log

1.简单统计nginx访问日志access log每分钟请求数

awk -F: '{count[$2":"$3]++} END {for (minute in count) print minute, count[minute]}' /usr/local/nginx/logs/access.log | sort > count.log

结果如下所示(count.log)
18:30 2086
18:31 2184
18:32 2176
18:33 2122
18:34 2128
18:35 2179
...

参考:http://huoding.com/2013/01/26/215

 

2.统计请求响应时间超过10s的记录

awk '($NF > 10){print $0}' /usr/local/tengine/logs/cut-log/access_2015-01-12.log >t10_0112.log

更多awk命令统计访问日志参考:http://www.ibm.com/developerworks/cn/linux/l-cn-awk-httplog/

分享到:
评论

相关推荐

    nginx日志测试使用 access.log.zip

    `access.log.zip`是一个压缩包,里面包含了Nginx服务器生成的访问日志记录,接下来我们将深入探讨Nginx日志的结构、用途及分析方法。 Nginx的默认日志格式(也称为`combined`格式)如下: ``` $remote_addr - $...

    nginx服务器中access_log日志分析与配置详解

    在Nginx服务器中,Access Log是记录客户端请求的重要日志,它包含了丰富的信息,可用于分析用户行为、优化网站性能和排查问题。了解和掌握Access Log的分析与配置对于任何Web服务的运维人员来说都至关重要。 1. **...

    nginx日志记录post请求的内容和cookies

    然而,当通过浏览器访问一个需要 Cookies 的页面时,Nginx 的 access.log 文件记录了 Cookies 信息,但没有记录 POST 内容: ```plaintext 192.168.1.97 --[09/Jul/2018:15:10:54+0800] "GET /okps ...

    Nginx日志管理介绍

    Nginx日志描述 通过访问日志,你可以得到用户地域来源、跳转来源、使用...用于记录访问时间和时区 $request 用于记录请求的url以及请求方法 $status 响应状态码,例如:200成功、404页面找不到等。 $body_byte

    nginx网站访问日志可视化

    "nginx网站访问日志可视化"是一个利用Python处理和展示Nginx服务器产生的访问日志的项目。这个项目的核心在于利用Python的强大功能,结合pyecharts库,将复杂的日志数据转化为直观的图表,以实现对网站访问行为的...

    Nginx的error_log和Access_log分析.docx

    access_log 指令用于记录访问日志,记录了每个请求的详细信息,包括客户端的 IP 地址、请求方法、请求 URL、响应状态码、响应时间等信息。access_log 指令可以在 Nginx 配置文件的多个级别中配置,包括主配置文件、...

    Nginx自定义访问日志的配置方式

    访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息。 日志的重要性不言而喻,一般来说我们开发过程中会为每个...

    [线上问题] Nginx与Tomcat、Client之间请求的长连接配置不一致问题分析解决

    通过上述知识点的整理,我们可以深入理解Nginx与Tomcat以及客户端之间请求的长连接配置不一致问题的分析解决方法,同时也能掌握netstat命令在网络连接管理中的作用及其用法。这些知识点对于IT专业人员来说是必备的,...

    多线程自定义规则 Nginx Access Log 分析器(比AWK快)

    Nginx作为一款高性能的HTTP和反向代理服务器,其Access Log记录了所有客户端请求的详细信息,是进行系统监控和问题排查的重要资源。在传统的日志分析中,AWK经常被用作工具来处理和解析这些日志,但当面对大量数据时...

    windows下配置nginx反向代理tomcat

    - 如果出现问题,可以检查 Nginx 的错误日志,通常位于 `C:\nginx\logs\error.log`。 通过以上步骤,你可以在 Windows 系统上成功配置 Nginx 作为 Tomcat 的反向代理,并实现基本的功能需求。此外,还可以根据具体...

    nginx_https+tomcat_http配置.docx

    &lt;logpath&gt;D:\work\nginx_13_Violet\logs&lt;/logpath&gt; &lt;log mode="roll-by-size"&gt; &lt;sizeThreshold&gt;10240 &lt;keepFiles&gt;8 &lt;/log&gt; &lt;executable&gt;D:\work\nginx_13_Violet\nginx_basic.exe &lt;startarguments&gt;-p D:\work...

    Nginx+tomcat+redis

    - **反向代理**:Nginx接收来自客户端的请求,然后将这些请求转发到后端的Tomcat服务器集群,隐藏了内部服务器的细节。 - **负载均衡**:Nginx可以基于多种策略(如轮询、最少连接、IP哈希等)分配请求到不同的...

    nginx tomcat memcached 集群 session共享

    通过配置Nginx的upstream模块,可以实现负载均衡策略,如轮询、权重分配等,确保请求均匀分布到各个Tomcat节点,提高系统的整体处理能力。 2. **Tomcat**:Apache Tomcat是一个开源的Java Servlet容器,常用于运行...

    Nginx+Tomcat搭建负载均衡,实现网站请求的分发

    Nginx+Tomcat搭建负载均衡,实现网站请求的分发 Nginx+Tomcat搭建负载均衡是实现网站请求的分发的常见解决方案。以下是该解决方案的详细知识点说明: 一、负载均衡的概念 负载均衡是指将网络请求分配到多个服务器...

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目.zip

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...

    Nginx+Tomcat 负载均衡 3分钟搞定

    "Nginx+Tomcat 负载均衡 3分钟搞定" 本文将从以下几个方面详细介绍 Nginx+Tomcat 实现负载均衡的...通过本文,我们可以看到 Nginx+Tomcat 实现负载均衡的整个过程。这种技术可以提高系统的可用性、可扩展性和性能。

    可自动按天分割日志的nginx (根据nginx源代码修改得来)

    将在 logs目录下生成类似 2014-01-21.access.log 的log文件,这个日期会根据服务器的时间变化) 配置可参照 nginx目录下的 conf/nginx.conf 文件进行log配置 源码留给有特殊需要的朋友自己编译。此源码就是修改后的...

    Nginx+tomcat配置集群负载均衡实例

    由于Tomcat处理动态内容的能力较强,但在处理静态资源时效率较低,因此通常与Nginx配合使用,让Nginx负责静态资源,Tomcat处理动态请求。 配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多...

    Nginx日志分析工具2.1.0.zip

    Nginx日志主要分为两种类型:访问日志(access.log)和错误日志(error.log)。访问日志记录了客户端对服务器的所有请求,包括请求时间、客户端IP、请求方法、请求URL、HTTP状态码、返回字节数等信息,这对于理解...

    nginx-log-analysis:用于分析 nginx 日志文件的很棒的 linux shell 命令的精选列表

    默认情况下,Nginx的主要访问日志文件通常位于`/var/log/nginx/access.log`,采用combined日志格式,内容包括客户端IP、时间戳、请求方法、请求URL、HTTP状态码、请求大小、用户代理等信息。例如: ``` 127.0.0.1 -...

Global site tag (gtag.js) - Google Analytics