How can I fetch byte logs in nginx like "%{%s}t %I .\n%{%s}t %O ."


#1

In Apache I fetch byte logs using:

CustomLog /usr/local/apache/logs/DOMAIN.COM-bytes_log “%{%s}t %I
.\n%{%s}t %O .”

Can I achieve the similar effect this does in Apache, in nginx ?

If so, can anyone give me the proper syntax to do so in nginx config?

Joe


#2

to save us lazy people some time can you define what each of these is?


#3

basically the outcome of the byte-log files would be:

1226686775 238 .
1226686776 527 .
1226686776 5270 .
1226686776 448 .
1226686776 5455 .
1226686777 391 .
1226686777 5274 .
1226686777 549 .
1226686777 196 .
1226686777 456 .
1226686777 197 .
1226686777 154 .
1226686777 5455 .
1226686896 66 .
1226686896 251 .
1226686896 284 .
1226686896 1949 .


#4

Timestamp and bytes?

log_format byteslog ‘$time_local $bytes_sent’;

access_log /var/log/nginx/DOMAIN.COM-bytes_log byteslog;

$time_local is this syntax “14/Nov/2008:10:27:48 -0800”

I am not sure there is a timestamp variable. You could look at
$msec, the time with an accuracy to microseconds at the moment of the
log entry

This has some of the variables:
http://wiki.codemongers.com/NginxHttpLogModule

You can also use any of these:
$query_string
$request_method
$content_type
$content_length
$fastcgi_script_name
$request_uri
$document_uri
$document_root
$server_protocol
$remote_addr
$remote_port
$server_addr
$server_port
$http_host
$server_name

Not sure what other ones are out there too.


#5

On Friday, November 14, 2008 at 19:58:56, Joe S. wrote:

JS> In Apache I fetch byte logs using:
JS> CustomLog /usr/local/apache/logs/DOMAIN.COM-bytes_log “%{%s}t %I
.\n%{%s}t %O .”
JS> Can I achieve the similar effect this does in Apache, in nginx ?
JS> If so, can anyone give me the proper syntax to do so in nginx
config?

http://wiki.codemongers.com/NginxHttpLogModule


#6

I am trying to convert Apache to nginx in a box I have, but I want to
use the tools already this control panel uses, so I try to make sure
there is no interference , and smooth, if this is successful, this
would be very sweet.

There is no way to cut down the format so its in like 1226686777 form
? would there be future implementation for bytes received ?

Joe


#7

On Fri, Nov 14, 2008 at 12:22:31PM -0600, Joe S. wrote:

1226686777 196 .
1226686777 456 .
1226686777 197 .
1226686777 154 .
1226686777 5455 .
1226686896 66 .
1226686896 251 .
1226686896 284 .
1226686896 1949 .

The near approximation is

log_format bytes “$msec - .\n$msec $bytes_sent .”;

but time will be in 1226686777.123 form and there will be no “bytes
received”.

BTW, how do you distinguish input lines from output ones in the log ?


#8

On Fri, Nov 14, 2008 at 12:59 PM, Joe S. removed_email_address@domain.invalid wrote:

There is no way to cut down the format so its in like 1226686777 form
? would there be future implementation for bytes received ?

This is one thing I wanted too - a way to capture -all- traffic. Large
file uploads add up.