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 比 Apache 更牛逼
Mar 31 Servers
Nginx中break与last的区别详析
Mar 31 Servers
Nginx location 和 proxy_pass路径配置问题小结
Sep 04 Servers
使用 Apache 反向代理的设置技巧
Jan 18 Servers
nginx.conf配置文件结构小结
Apr 08 Servers
CentOS安装Nginx并部署vue
Apr 12 Servers
使用Nginx+Tomcat实现负载均衡的全过程
May 30 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
Nginx代理Redis哨兵主从配置的实现
Jul 15 Servers
Apache Kafka 分区重分配的实现原理解析
Jul 15 Servers
Nginx报404错误的详细解决方法
Jul 23 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
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
python开发之for循环操作实例详解
2015/11/12 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python对象转换为json的方法步骤
2019/04/25 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
python名片管理系统开发
2020/06/18 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
八年级音乐教学反思
2014/01/09 职场文书
闭幕式主持词
2014/04/02 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
人事任命书格式
2014/06/05 职场文书
护士求职简历自我评价
2015/03/10 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书