How to log the number of bytes sent over a websocket?

Fabrice Triboix ftriboix at
Fri Jun 22 13:38:28 UTC 2018

Hi All,

I am using nginx as a websocket reverse-proxy (this is working fine 
BTW). I would like to log the number of bytes sent (and ideally also 
received) over a websocket. If I use `$body_bytes_sent` in `log_format`, 
the entry in the access_log is always 0. As far as I can tell, a lot of 
data went through the websocket, so clearly `$body_bytes_sent` does not 
include data sent over a websocket.

I tried to use `$bytes_sent`, but it's just one or two hundred bytes (no 
matter how much data is sent over the websocket), so that's clearly just 
the HTTP headers. I went through the list of available nginx variables, 
but I couldn't find anything for me...

Any idea?

Thanks a lot for any help!


More information about the nginx mailing list