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.