NAME

ata - Apache Transfer-log Analyzer.

DESCRIPTION

ata is the report generator of traffic size and request count.

SYNOPSIS

ata <OPTIONS>

OPTIONS

-file < file_name >

log file name.

-format < regexp >

regular expression for parsing log file.

-f < field_name >

names of the fields a log file. Number of the `()` into regexp must correspond with number of the parameters `-f`. Multiple parameter.

-gb < field_name >

group by... Fields names for groupping report file records... Any names from parameter `-f`. For example `... -gb req_user -gb method` group by req_user ( /~user_name ) and method ( GET || POST | HEAD ... etc ). Multiple parameter. See examples for more info.

-order_by < field_name >

order by... Ordering output report records. Any names from parameter `-gb` and two reserved words: 'count' - request count, 'size' - traffic size. Multiple parameter.

-txt

output report into plain-text format.

-help

help.

-unit < unit_name >

unit of traffic ( B, K, M, G - Byte, Kilobyte, Megabyte, Gigabyte ).

-tr_size_fld < field_name >

field name ( from parameters `-f` ) for traffic size determination...

-desc

reverse sorting.

-show

visible work.

-dump < log_file_name >

dump incorrect log strings to `log_file_name`

EXAMPLES

log file ( logs ):

cs4-mts-18.dialup.mts-nn.ru - - [09/Jun/2002:02:22:18 +0400] "GET /~gosha/path/nidex.html?param HTTP/1.0" 200 1160
217.77.106.6 - - [09/Jun/2002:12:30:17 +0400] "GET /~gosha/hidden_index.html HTTP/1.0" 200 1704
66.28.250.171 - - [09/Jun/2002:20:18:28 +0400] "GET /~gosha/info.html HTTP/1.0" 200 2087
gorka.gcom.ru - - [13/Jun/2002:10:29:47 +0400] "GET /~gosha/ HTTP/1.0" 200 1160
66.28.210.71 - - [15/Jun/2002:10:18:21 +0400] "GET /~alex/cgi-bin/view.cgi?id=1 HTTP/1.0" 200 122087
66.28.210.71 - - [15/Jun/2002:10:19:21 +0400] "GET /~alex/cgi-bin/view.cgi?id=12 HTTP/1.0" 200 3087

command line:

ata -file logs -gb req_user -gb date_day -gb lstatus -txt

result:

Req_user, Date_day, Lstatus                             Count   Size
--------------------------------------------------      ------- ----------
gosha,09,200                                                  3 0,004722 M
alex,15,200                                                   2 0,119375 M
gosha,13,200                                                  1 0,001106 M
                                                        ------- ----------
                                                              6 0,125203 M

command line:

ata -file logs -gb req_user -gb req_name -txt

result:

Req_user, Req_name                                      Count   Size
--------------------------------------------------      ------- ----------
alex,view.cgi                                                 2 0,119375 M
gosha,nidex.html                                              1 0,001106 M
gosha,-                                                       1 0,001106 M
gosha,hidden_index.html                                       1 0,001625 M
gosha,info.html                                               1 0,001990 M
                                                        ------- ----------
                                                              6 0,125203 M

command line:

ata -txt -file logs -gb req_user -gb req_ext -order_by req_user -order_by count

result:

Req_user, Req_ext                                       Count   Size
--------------------------------------------------      ------- ----------
alex,cgi                                                      2 0.119375 M
gosha,-                                                       1 0.001106 M
gosha,html                                                    3 0.004722 M
                                                        ------- ----------
                                                              6 0,125203 M

NOTES

'Count' and 'Size' - reserved words, do not use this with parameter `-f`.

Percent calculating only for html report format.

regexp ( `-format` ) matching next log file format ( by default ):

66.28.210.71 gosha - [15/Jun/2002:10:19:21 +0400] "GET /~alex/cgi-bin/view.cgi?id=12 HTTP/1.0" 200 3087

`-f` contain names of the fields ( for ^^^ this string, by default ):

host		= 66.28.210.71
login		= gosha
user		= -
datetime	= 15/Jun/2002:10:19:21 +0400
date		= 15/Jun/2002
date_day	= 15
date_mon	= Jun
date_year	= 2002
time		= 10:19:21
time_hour	= 10
time_min	= 19
time_sec	= 21
method		= GET
request	= /~alex/cgi-bin/view.cgi?id=12
req_user	= alex
req_path	= /cgi-bin
req_name	= view.cgi
req_ext	= cgi
req_qstring= id=12
proto		= HTTP/1.0
lstatus	= 200
byte		= 3087

any names from first column may be used with parameter `-gb`.

AUTHOR

Okunev Igor V.  mailto:igor@prv.mts-nn.ru
                http://www.mts-nn.ru/~gosha
                ICQ 106183300

OFFICIAL SITE

http://www.mts-nn.ru/~gosha/perl-scripts/ata/

COPYRIGHT

Copyright (c) 2004 Okunev Igor

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.