请教 nginx log_by_lua 过滤请求方法

2018-11-29 15:18:13 +08:00
 yuedingwangji

RT,我们的日志时用 cloudflare 开源的一个工具来收集的, https://github.com/cloudflare/lua-resty-logger-socket/ 但最近看日志的时候发现收集了很多心跳检测的数据,感觉这些没什么用,浪费磁盘空间,所以想屏蔽掉这些数据的收集,看了一下, 这类健康检测的收集大部分请求方法都是 head, 所以想过滤一下,但是完全不懂 lua 脚本,只能来请教 v2 诸位大神了

lua 大概内容如下

if uri=='/api/global_visit_log_v2.php' then
  ngx.exit(200)
end
t['host']               = ngx.var.hostname or "-"
t['server_name']        = ngx.var.server_name or "-"
t['uri']                = uri or "-"
t['args']               = ngx.var.args or "-"
t['body_bytes_sent']    = ngx.var.body_bytes_sent or 0
t['status']             = ngx.var.status or ""
t['referer']            = ngx.var.http_referer or "-"
t['user_agent']         = ngx.var.http_user_agent or "-"
t['real_ip']            = real_ip
t['response_time']      = ngx.var.upstream_response_time or 0
t['logtime']            = ngx.time()

我可以直接这样写么 if request_method=='head' then ngx.exit(200)

还有,下面定义的这些变量是从 ngx 的请求体拿的么, ngx.var 是啥意思

2871 次点击
所在节点    NGINX
2 条回复
yuedingwangji
2018-12-05 19:40:53 +08:00
居然没人,伤心
0x557
2018-12-14 14:03:22 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/512736

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX