nginx日志添加请求以及响应body

u0.jpg

请求body添加:

 在nginx配置文件log_format添加request_body:"$request_body" 

响应body添加:

需要借助lua模块

1.下载安装LuaJIT

cd /usr/local/src
wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
tar -xzvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make
make install

出现如下内容,表示安装成功
==== Successfully installed LuaJIT 2.0.2 to /usr/local ====

2.下载nginx lua模块

cd /usr/local/src
wget https://github.com/chaoslawful/lua-nginx-module/archive/v0.10.15.tar.gz
tar -xzvf v0.10.15.tar.gz

3.nginx添加lua模块

  • a.查看原来的编译参数
[root@iZwz9b8dyz1jpybdicn3lcZ nginx]# ./sbin/nginx -V
nginx version: nginx/1.15.8
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/wdlinux/nginx-1.15.8 --with-http_stub_status_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_ssl_module
  • b.从新编译,添加模块
cd /usr/local/src/nginx
./configure --user=www --group=www --prefix=/www/wdlinux/nginx-1.15.8 \
--with-http_stub_status_module --with-ipv6 --with-http_gzip_static_module \
--with-http_realip_module --with-http_ssl_module --add-module=/usr/local/src/lua-nginx-module-0.10.15
make
  • c.make编译完后不要执行make install 在objs下面有一个nginx执行文件
  • d.备份原来nginx可执行文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
  • e.吧新的nginx文件copy到原来nginx运行sbin目录下
cp objs/nginx /usr/local/nginx/sbin/nginx
  • f.测试查看编译参数
 /usr/local/nginx/sbin/nginx -t 
  • g.执行make upgrade替换老的nginx进程
make  upgrade
  • h.再次执行nginx -V将会显示新的nginx的版本及编译的参数

4.测试lua是否安装成功

  • vi nginx.conf在server 中添加一个localtion
location /hello {
   default_type 'text/plain';
   content_by_lua 'ngx.say("hello, lua")';
  }
  • 重启nginx
/usr/local/nginx/sbin/nginx -s reload

访问url会返回hello, lua则表示成功

5.修改nginx.conf文件增加返回响应body

  • a.修改log_format添加resp_body
log_format  api  '$remote_addr - requesttime:"$request_time"  $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"  "user_token": "$http_authorization"'
                  'request_body:"$request_body"  resp_body:"$resp_body" ' ;
  • b.server添加响应内容,然后重启nginx
server {
  access_log /var/log/nginx/access.log api;
  #记录nginx请求返回值
  lua_need_request_body on;
  set $resp_body "";
  body_filter_by_lua '
   local resp_body = string.sub(ngx.arg[1], 1, 1000)
   ngx.ctx.buffered = (ngx.ctx.buffered or "") .. resp_body
   if ngx.arg[2] then
    ngx.var.resp_body = ngx.ctx.buffered
   end
  ';
  location / {
   proxy_pass http://127.0.0.1:5000;
   }
 }

日志响应内容如下

222.209.88.67 - requesttime:"0.008"  - [11/Jun/2019:10:08:20 +0800] "GET /User/Seneschal/Get?userId=1137965292712820737 HTTP/1.1" 200 474 "https://servicewechat.com/wxc88116904036wced89/devtools/page-frame.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/1.02.1904091 MicroMessenger/6.7.3 Language/zh_CN webview/" "-"  "user_token": "Bearer E955ED0FD1EC43AD87A9134F06A9068D"request_body:"-"  resp_body:"{\x22data\x22:{\x22workUrl\x22:\x22http://testimg.xxxx.com/Seneschal/1137965292712820737/WorkCode/1137965293488037888.jpg\x22,\x22storeName\x22:\x22\xE6\x98\x93\xE8\xB4\xA4\xE9\x9C\x96test1\x22,\x22createDate\x22:1560147042813,\x22memberQuantity\x22:1,\x22brokerage\x22:0.00,\x22consume\x22:0.00,\x22channelBrokerage\x22:0.00,\x22serviceBrokerage\x22:0.00,\x22cashAmount\x22:0.00,\x22state\x22:1,\x22id\x22:\x221137965292712820737\x22,\x22userName\x22:\x22\xE5\x8D\x8E\xE7\x9D\x80\xE7\x82\xB9\x22,\x22avatar\x22:\x22\x22,\x22account\x22:\x2216666666668\x22,\x22channelCommission\x22:0.010,\x22serviceCommission\x22:0.010},\x22errorCode\x22:0,\x22message\x22:\x22\xE6\x89\xA7\xE8\xA1\x8C\xE6\x88\x90\xE5\x8A\x9F\x22}"

使用python解码对应的req body或者resp body

str1='''
{\x22data\x22:{\x22workUrl\x22:\x22http://testimg.xxxx.com/Seneschal/1137965292712820737/WorkCode/1137965293488037888.jpg\x22,\x22storeName\x22:\x22\xE6\x98\x93\xE8\xB4\xA4\xE9\x9C\x96test1\x22,\x22createDate\x22:1560147042813,\x22memberQuantity\x22:1,\x22brokerage\x22:0.00,\x22consume\x22:0.00,\x22channelBrokerage\x22:0.00,\x22serviceBrokerage\x22:0.00,\x22cashAmount\x22:0.00,\x22state\x22:1,\x22id\x22:\x221137965292712820737\x22,\x22userName\x22:\x22\xE5\x8D\x8E\xE7\x9D\x80\xE7\x82\xB9\x22,\x22avatar\x22:\x22\x22,\x22account\x22:\x2216666666668\x22,\x22channelCommission\x22:0.010,\x22serviceCommission\x22:0.010},\x22errorCode\x22:0,\x22message\x22:\x22\xE6\x89\xA7\xE8\xA1\x8C\xE6\x88\x90\xE5\x8A\x9F\x22}
'''
print(str1.encode('raw_unicode_escape').decode('utf-8'))

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容