【前言】
我们项目的短信功能是接第三方,原来对接第三方给我们回执确认请求是get请求我们在排查问题的时候可以通过nginx的日志拿到对方给我们请求的参数;最近我们换了另外一家第三方,新的第三方给我们的确认请求是post,遇到问题排查,发现nginx没有打印具体参数,于是查阅一些资料和运维一起做了实验和线上调整,调整后我们可以拿到请求参数,更方便我们排查问题;
【Nginx设置打印post请求参数】
一、Nginx配置文件(nginx.conf)设置打印post请求参数:在http模块的log_format中增加 "dm":$request_body 防止中文乱码,增加 escape=json
log_format main escape=json '{ "@timestamp": "$time_iso8601", ' '"remote_addr": "$remote_addr",' '"costime": "$request_time",' '"realtime": "$upstream_response_time",' '"status": $status,' '"x_forwarded": "$http_x_forwarded_for",' '"referer": "$http_referer",' '"request": "$request",' '"upstr_addr": "$upstream_addr",' '"bytes":$body_bytes_sent,' '"dm":$request_body,' '"agent": "$http_user_agent" }'; access_log /var/log/nginx/access.log main;
二、设置前后的效果对比
1、发送请求的json格式
{ "results":[ { "price":{ "pricePerMessage":0.01, "currency":"aaa" }, "messageId":"ff4804ef-6ab6-4abd-984d-ab3b1387e852", "to":"385981178", "sentAt":"2015-02-12T09:58:20.323+0100", "doneAt":"2015-02-12T09:58:20.337+0100", "smsCount":1, "status":{ "id":5, "groupId":3, "groupName":"DELIVERED", "name":"DELIVERED_TO_HANDSET", "description":"Message delivered to handset" }, "error":{ "groupId":0, "groupName":"OK", "id":0, "name":"NO_ERROR", "description":"No Error", "permanent":false } } ] }
2、设置前post请求,nginx打印的结果,很显然没有将参数打印出来
3、设置后post请求,nginx打印参数,发现参数虽然打印出来但是有乱码情况
4、解决乱码
(1)需要在log_format main后加 escape=json
(2)nginx的版本需要是1.15.1及以上
(3)满足以上最终打印出的结果
三、看nginx日志必要性
1、更加全面:它可以记录访问者的ip浏览器以及请求参数等信息比java的请求日志更加全面;
2、请求大时,java程序处理不过来,这时java日志没有多余访问请求,而nginx中有,有利于排查问题,优化系统性能。
【总结】
1、通过日志可以快速定位问题;
2、排查问题时考虑要全面,从多过维度去思考。
更新日志
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE