I wanted to write a module which asynchronously send all the traffic to
another IP or PORT where my analytics server will be running. I dont
want to create any lag in serving HTTP requests.
Is there any existing module which I can use as a base and modify to
meet my requirements.
Any help would be greatly appreciated.
Thanks
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,222196,222196#msg-222196
_______________________________________________
nginx mailing list
ng...@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Try post_action
Just one problem. Nothing is getting logged access_log if i use
post_action ! whats the co-relation ?
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,222196,222200#msg-222200
After a lot of testing. I found an issue.
The processing time of post_action is added to the response time. hence
delaying the response.
Here is how i have used post_action to log.
http {
server {
location / {
proxy_pass http://upstream123;
post_action @loglua;
}
location @loglua {
set $log '';
rewrite_by_lua_file /nginx/mylua.lua;
logformat format1 '$log';
access_log /var/log/nginx/newlog.log format1;
}
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,222196,224021#msg-224021
That logging issue was a mistake. All the access_log directive need to
be in a single location/server block.
After a lot of testing. I found another issue.
The processing time of post_action is added to the response time. hence
delaying the response.
Here is how i have used post_action to log.
http {
server {
location / {
proxy_pass http://upstream123;
post_action @loglua;
}
location @loglua {
set $log '';
rewrite_by_lua_file /nginx/mylua.lua;
logformat format1 '$log';
access_log /var/log/nginx/newlog.log format1;
}
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,222196,224022#msg-224022
It doesn't delay response, but block the connection, and that's why we don't
recommend to use it. The best way to gather statistics is parsing access log
files.
wbr, Valentin V. Bartenev