当前位置: 七九推 > IT编程>数据库>Mysql > Nginx配置-日志格式配置方式

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

2023年03月17日 Mysql 我要评论
上线了一个小的预约程序,配置通过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"

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持七九推。

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

  • Centos 7.9安装MySQL8.0.32的详细教程

    Centos 7.9安装MySQL8.0.32的详细教程

    第一步、下载压缩包下载社区版的 mysql,根据需求下载对应版本,其中有最小安装版本。具体各个版本的区别,可以上网查询,链接mysql :: download ... [阅读全文]
  • Mysql中二进制日志操作方法说明

    Mysql中二进制日志操作方法说明

    二进制日志二进制日志中以“事件”的形式记录了数据库中数据的变化情况,对于mysql数据库的灾难恢复起着重要的作用。开启二进制日志可以在 ... [阅读全文]
  • 深入了解MySQL中的慢查询日志

    深入了解MySQL中的慢查询日志

    慢查询日志慢查询日志主要用来记录执行时间超过设置的某个时长的sql语句,能够帮助数据库维护人员找出执行时间比较长、执行效率比较低的sql语句,并对这些sql语句... [阅读全文]
  • MySQL数据库改名的详细方法教程

    MySQL数据库改名的详细方法教程

    前戏有时候生产环境是以项目来命名,有时候会出现更名情况,其实如何安全的更改数据库名,是个非常棘手的问题,特别是针对 mysql 来数据库来说被取消的命令mysq... [阅读全文]
  • Mysql中使用时间查询的详细图文教程

    一、使用等号查询可以像普通查询使用等号进行查询,但必须查询时间必须和字段对应时间完全相等,比如我要查下面这个值sql如下:select id, start_time, end_ti…

    2023年03月15日 数据库
  • 一步步教你MySQL密码忘记了该如何操作

    连接mysql时出现:error 1045 (28000): access denied for user ‘root’@‘localhost&…

    2023年03月15日 数据库

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2023  七九推 保留所有权利. 粤ICP备17035492号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com