在Nginx日志中记录请求的header和请求body

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 在Nginx日志中记录请求的header和请求body

记录请求header:

通过http_xx 的方式实现header输出;

即在header的属性名称上添加

$http_

如输出appkey和timestamp,需配置:

  '"request_header_appkey": "$http_appkey","timestamp":"$http_timestamp"'

记录请求body:

使用关键字request_body

完整配置

json_log和escape=json是解决日志输出十六进制的问题;

默认值为main

配置如下:

log_format josn_log escape=json '{'
  '"host": "$host",'
  '"request": "$request",'
  '"request_header_appkey": "$http_appkey","timestamp":"$http_timestamp"'
  '"request_body": "$request_body"'
'}';

access_log /var/log/nginx/access.log main;
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx入门 -- 理解 Nginx 的请求处理流程
Nginx入门 -- 理解 Nginx 的请求处理流程
92 1
|
1月前
|
JSON 网络协议 应用服务中间件
Nginx入门 -- 理解Nginx基础概念:请求处理(Request)
Nginx入门 -- 理解Nginx基础概念:请求处理(Request)
42 0
|
3月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
272 6
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
3月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
131 1
|
3月前
|
NoSQL Java 应用服务中间件
使用Redis和Nginx分别实现限制接口请求频率
这篇文章介绍了如何使用Redis和Nginx分别实现限制接口请求频率的方法,包括具体的命令使用、代码实现和配置步骤。
65 0
|
应用服务中间件 Apache nginx
nginx自己写日志切割脚本
转自本人的博客:http://blog.teier.cn
1492 0
|
监控 应用服务中间件 nginx
|
应用服务中间件 nginx Perl
|
应用服务中间件 nginx Shell