Hello!
我觉得你可以在 log_by_lua 里面对这块共享内存字典做累计操作。执行到 log_by_lua 的时候,请求已经准备结束了。
共享内存字典的 key 可以使用端口号。相关 API 文档: https://github.com/openresty/lua-nginx-module#ngxshareddict。
不过,此时统计的是请求数,而不是连接数。
如果要精确统计出连接数的话,我觉得你可以使用 ngx.var.connection_requests 这个变量来判断,如果该值是 1,则表示这是连接上第一个请求,此时可以统计,否则表示是长连接了,可以不做统计。