Nginx配置-日志格式配置方式

 更新时间:2023年03月16日 09:31:41   作者:冰之杍  
这篇文章主要介绍了Nginx配置-日志格式配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

上线了一个小的预约程序,配置通过Nginx进行访问入口,默认的日志是没有请求时间的,因此需要配置一下,将每一次的请求的访问响应时间记录出来,备查与优化使用.

一、默认的日志格式

默认的日志格式如下(默认是注解掉的,系统也自动会使用):

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

二、我使用的日志格式

我仅仅在默认的基础上加上响应时间的两个我较关心的参数:request_time与upstream_response_time

将以下的配置开放并修改(我后面用了格式2,时间在前面,容易查看):

带时间数据参数的日志格式1

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

    access_log  logs/access.log  main;

调整了下时间参数的显示顺序的格式2:

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

    access_log  logs/access.log  main;

注意的是:log_format与access_log的注释都要放开,仅放开log_format也是不生效的.

#设置成格式2后,可以用相应的正则表达式,查看大于1秒的日志,分两步如下:

##1.高亮时间数据的正则表达式
tail -f access.log |grep "\[[0-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"

##2.大于1秒的日志的正则表达式,即将第一个数字改成[1-9]即可
tail -f access.log |grep "\[[1-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"

三、参数

说明

  • $remote_addr:客户端地址
  • $remote_user:客户端用户名称 
  • $time_local:访问时间和时区
  • $request:请求的URI和HTTP协议
  • $status:HTTP请求状态
  • $body_bytes_sent:发送给客户端文件内容大小
  • $http_referer:url跳转来源
  • $http_user_agent:用户终端浏览器等信息
  • $http_host:请求地址,即浏览器中你输入的地址(IP或域名)
  • $request_time:处理请求的总时间,包含了用户数据接收时间
  • $upstream_response_time:建立连接和从上游服务器接收响应主体的最后一个字节之间的时间
  • $upstream_connect_time:花费在与上游服务器建立连接上的时间
  • $upstream_header_time:建立连接和从上游服务器接收响应头的第一个字节之间的时间

四、测试效果

修改前默认日志

127.0.0.1 - - [03/May/2022:12:02:51 +0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
127.0.0.1 - - [03/May/2022:12:02:51 +0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/getVerifyCode HTTP/1.1" 200 2553 "http://localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"

修改后日志

127.0.0.1 - - [03/May/2022:12:00:47 +0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.025" "0.025"
127.0.0.1 - - [03/May/2022:12:00:47 +0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/getVerifyCode HTTP/1.1" 200 2178 "http://localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36" "-" "0.037" "0.037"

可以看到修改后的最后多了两个关于时间的参数数据,可以用于响应时间快慢分析.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用nginx模拟进行金丝雀发布的方式

    使用nginx模拟进行金丝雀发布的方式

    今天小编就为大家分享一篇关于使用nginx进行金丝雀发布,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • nginx配置域名转发到其他域名的几种方法小结

    nginx配置域名转发到其他域名的几种方法小结

    本文主要介绍了nginx配置域名转发到其他域名的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Nginx基础入门之gzip配置指南

    Nginx基础入门之gzip配置指南

    众所周知随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,所以下面这篇文章主要给大家介绍了关于Nginx基础入门之gzip配置的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • nginx经过多层代理后获取真实来源ip过程详解

    nginx经过多层代理后获取真实来源ip过程详解

    这篇文章主要介绍了nginx经过多层代理后获取真实来源ip过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Ubuntu上安装Nginx服务器程序及简单的环境配置小结

    Ubuntu上安装Nginx服务器程序及简单的环境配置小结

    Nginx是一款高性能的异步非阻塞服务器应用程序,人气相当高,这里我们就来看一下在Ubuntu上安装Nginx服务器程序及简单的环境配置小结:
    2016-07-07
  • 基于Nginx实现一个灰度上线系统的示例代码

    基于Nginx实现一个灰度上线系统的示例代码

    本文主要介绍了基于Nginx实现一个灰度上线系统的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • nginx cookie有效期讨论小结

    nginx cookie有效期讨论小结

    这篇文章主要介绍了nginx cookie有效期讨论小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Nginx部署项目上传文件报错413的解决方法

    Nginx部署项目上传文件报错413的解决方法

    本文主要介绍了Nginx部署项目上传文件报错413的解决方法,报错413是因为Nginx对上传大小做了限制,所以我们需要配置文件,下面就来解决这个问题,感兴趣的可以了解一下
    2024-03-03
  • nginx禁止某个IP访问站点的设置方法

    nginx禁止某个IP访问站点的设置方法

    近期发现博客遭到某些人的恶意灌水,频繁地利用发帖机器人发表评论,给博客的管理带来诸多不便,搜索了一下资料,可以利用nginx的ngx_http_access_module 模块设置允许/禁止哪些ip或ip段访问站点。
    2010-12-12
  • Nginx带宽控制(限速模块使用)

    Nginx带宽控制(限速模块使用)

    这篇文章主要介绍了Nginx带宽控制(限速模块使用),本文讲解了使用limit_rate和limit_rate_aft以及limit_conn实现带宽控制的例子,需要的朋友可以参考下
    2015-03-03

最新评论