微服务系列文章 之 nginx日志格式分析以及修改

这篇具有很好参考价值的文章主要介绍了微服务系列文章 之 nginx日志格式分析以及修改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如何自定义日志格式,就需要修改nginx日志打印格式

一. 打开终端,登录服务器并输入服务器密码

//ssh 用户名@服务器ip
ssh root@192.168.0.132

微服务系列文章 之 nginx日志格式分析以及修改,nginx,运维

 文章来源地址https://www.toymoban.com/news/detail-569607.html

二. 切换到nginx目录

cd /var/log/nginx/

三. 查看nginx日志

tail -f access.log

日志说明:

//默认的nginx标准日志格式
192.168.10.251 - - [24/Apr/2022:15:07:52 +0800] "POST /web-api/api/tableTemp/getAllDataCount HTTP/1.1"  200 173 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" "127.0.0.1"
//默认的nginx标准日志格式说明
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
  • $remote_addr 客户端IP地址
  • $remote_user 客户端用户名称,一般为空
  • [$time_local] 访问时间
  • “$request” 记录请求HTTP的方式以及URL
  • $status 状态码
  • $body_bytes_sent 发送给客户端的文件大小
  • “$http_referer” 记录从哪个页面访问过来的
  • “$http_user_agent” 记录客户端相关信息

可以看到,默认的nginx标准日志是不包括接口响应时间的,如果想要看nginx接口响应时间,需要修改nginx配置

四. 修改nginx日志格式

在终端查看nginx状态及nginx配置文件位置

nginx -t

微服务系列文章 之 nginx日志格式分析以及修改,nginx,运维

打开nginx配置文件

vi /etc/nginx/nginx.conf

编辑nginx配置文件

//进入编辑状态

i

添加" r e q u e s t t i m e " , request_time", requestt​ime",request_time 单位秒,处理完请求需要花的时间

微服务系列文章 之 nginx日志格式分析以及修改,nginx,运维

 

输入完成之后按esc键退出编辑模式,在终端输入:wq保存并退出

:wq

重启nginx使nginx配置生效

nginx -s reload

重启之后再进去nginx目录下查看日志就带时间啦

微服务系列文章 之 nginx日志格式分析以及修改,nginx,运维

 

五. 其他日志参数说明

$http_x_forwarded_for  #客户端的真实ip通常web服务器放在反向代理的后面这样就不能获取到客户的IP地址了通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中可以增加x_forwarded_for信息用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。$remote_addr   # 远程客户端的IP地址
$remote_user  #远程客户端用户名称用于记录浏览者进行身份验证时提供的名字如果没有登录就是空白。
$time_local  #访问的时间与时区比如18/Jul/2012:17:00:01 +0800时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时。
$request_method #HTTP请求方法,通常为"GET"或"POST"
$scheme #请求使用的Web协议,"http" 或 "https"
$host #HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名.请求中的主机头字段,如果请求中的主机头不可用,则为服务器处理请求的服务器名称
$request_uri #这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写
$uri  #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"
$query_string #请求中的参数值
$server_protocol #服务器的HTTP版本,通常为 "HTTP/1.0" 或 "HTTP/1.1"
$status #HTTP响应代码
$body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容
$http_referer #url跳转来源,用来记录从那个页面链接访问过来的
$http_user_agent #用户终端浏览器等信息
$request_time #处理客户端请求使用的时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$upstream_addr #真正提供服务的主机地址
$request_id  #生产唯一ID方便查询问题
$upstream_response_time #请求过程中upstream的响应时间

到了这里,关于微服务系列文章 之 nginx日志格式分析以及修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务系列文章 之 Nginx服务状态监控的方法

    在Nginx的插件模块中有一个模块stub_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编译的时候加一下即可。 1. 模块安装 先使用命令查看是否已经安装这个模块: [root@ihxb123Z nginx]# ./nginx -V (V大写会显示版本号和模块等信息、v小写仅显示版本信息。 如果

    2024年02月16日
    浏览(38)
  • 【jvm系列-13】jvm性能调优篇---参数设置以及日志分析

    JVM系列整体栏目 内容 链接地址 【一】初识虚拟机与java虚拟机 https://blog.csdn.net/zhenghuishengq/article/details/129544460 【二】jvm的类加载子系统以及jclasslib的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/129610963 【三】运行时私有区域之虚拟机栈、程序计数器、本地方法栈 https

    2024年02月06日
    浏览(74)
  • nginx 日志改为json格式

    正常使用nginx时,使用默认的日志输出格式,对于后续日志接入其他第三方日志收集、清洗环节,因分隔符问题可能不是很友好。 nginx同时支持将日志输出为json格式,修改较小,下面为效果。 旧样式 nginx一般默认会打开日志格式化格式,我这里为默认的格式,可能有的同学使

    2024年02月19日
    浏览(25)
  • Nginx自定义日志中时间格式

    工作需要对接内部的日志中台,对日志打印有固定的格式要求,为了使Nginx的access日志也能被采集,需要对日志格式进行自定义,要求日志格式为: yyyy-MM-dd HH:mm:ss.SSS LOG_LEVEL LOG_MSG --- 时间格式+打印级别+业务日志 如: 23-11-18 17:34:23.738 DEBUG monitor-7 org.apache.ibatis.logging.jdbc.BaseJd

    2024年02月05日
    浏览(41)
  • nginx 日志,格式化,存储,按日切割

    nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的支持,日志格式通过 log_format 命令来定义,日志对于统计和排错是非常有利的,下面总结了 nginx 日志相关的配置 包括 access_log 、 rewrite_log 、 error_log 。 可以应用

    2024年02月09日
    浏览(39)
  • 一文详细介绍查看和启用nginx日志(access.log和error.log),nginx错误日志的安全级别,自定义访问日志中的格式

    我们在实际工作中,经常使用到日志。 日志在一个系统中是非常重要的,它可以监控一个应用程序的活动,因为它们为你提供有用的调试信息,并使你能够分析一个 Web服务器 的所有方面。 像其他软件应用程序一样, Nginx 也会将诸如网站访问者、遇到的问题等事件保

    2024年02月09日
    浏览(63)
  • nginx脚本,Nginx变量截取字符串,拼接字符串,nginx打印日志,添加修改HTTP请求头,添加修改HTTP响应头

    nginx变量命名,以$开头。 打印日志的目的,是想知道某个变量的值是多少,通过add_header设置响应头,间接地打印日志。 通过设置响应头,然后在浏览器上请求nginx地址,然后得到的响应头,就知道变量值是多少了。 这个需要注意一下,特别是正则 ~   ,后面截取字符串需要

    2024年02月12日
    浏览(72)
  • nginx访问日志分析

    1、根据访问IP统计UV awk \\\'{print $1}\\\' paycenteraccess.log | sort -n | uniq | wc -l 2、查询访问最频繁的IP(前10) awk \\\'{print $1}\\\' /www/server/nginx/logs/access.txt | sort -n |uniq -c | sort -rn | head -n 10 3、查看某一时间段的IP访问量(1-8点) awk \\\'$2 =\\\"[2023-01-29T11:00:00+08:00]\\\" $2 =\\\"[2023-01-29T11:30:00+08:00]\\\"\\\' /www/server/nginx

    2024年02月10日
    浏览(52)
  • Nginx 日志采集与分析

    观测云拥有全面的日志采集能力,包括系统日志、应用日志、安全日志等多种日志类型,通过观测云提供的自定义日志采集器可采集任意日志汇总到观测云进行统一存储和分析;通过观测云提供的文本处理器(Pipeline)可对采集的日志进行自定义切割,并把切割出来的字段作

    2024年02月13日
    浏览(44)
  • shell脚本-Nginx访问日志分析

    可以通过/usr/local/nginx/logs/access.log 文件-查看nginx的日志 /usr/local/nginx/conf/nginx.conf 文件-定义了日志输出的格式 可以通过awk命令来取出所需要的数据 Nginx访问日志分析脚本

    2024年02月16日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包