nginx日志格式分析和修改


Posted in Servers onApril 28, 2022

修改nginx日志打印格式

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

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

nginx日志格式分析和修改

二. 切换到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配置文件

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日志格式分析和修改

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

:wq

重启nginx使nginx配置生效

nginx -s reload

重启之后再进去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日志格式分析以及修改的文章就介绍到这了!


Tags in this post...

Servers 相关文章推荐
Nginx搭建rtmp直播服务器实现代码
Mar 31 Servers
fastdfs+nginx集群搭建的实现
Mar 31 Servers
nginx限制并发连接请求数的方法
Apr 01 Servers
使用goaccess分析nginx日志的详细方法
Jul 09 Servers
使用Nginx搭载rtmp直播服务器的方法
Oct 16 Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
Apr 07 Servers
Windows Server 2008 修改远程登录端口以及配置防火墙
Apr 28 Servers
Win2008系统搭建DHCP服务器
Jun 25 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
windows10 家庭版下FTP服务器搭建教程
Aug 05 Servers
Win10系统搭建ftp文件服务器详细教程
Aug 05 Servers
Window server 2012 R2 AD域的组策略相关设置
Apache Hudi 加速传统的批处理模式
Windows和Linux上部署Golang并运行程序
Apr 22 #Servers
阿里云ECS云服务器快照的概念以及如何使用
openstack云计算keystone组件工作介绍
Tomcat项目启动失败的原因和解决办法
Apr 20 #Servers
Tomcat执行startup.bat出现闪退的原因及解决办法
You might like
php unset全局变量运用问题的深入解析
2013/06/17 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
js的三种继承方式详解
2017/01/21 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python批量下载图片的三种方法
2013/04/22 Python
python基础教程之元组操作使用详解
2014/03/25 Python
python多进程共享变量
2016/04/06 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
python 解决函数返回return的问题
2020/12/05 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
企业业务员岗位职责
2014/03/14 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
中秋节随笔
2015/08/15 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
总结几个非常实用的Python库
2021/06/26 Python
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery