Usage: qslog -f <format_string> -o <out_file> [-p [-v]] [-x] [-u <name>] [-m]
Summary
qslog is a real time access log analyzer. It collects data from stdin. The
output is written to the specified file every minute. The output includes
the following entries:
- requests per second (r/s)
- bytes sent to the client per second (b/s)
- bytes received from the client per second (ib/s)
- response status codes within the last minute (1xx,2xx,3xx,4xx,5xx)
- average response duration (av)
- distribution of response durations within the last minute
(<1s,1s,2s,3s,4s,5s,>5)
- average system load (sl)
- free memory (m) (not available for all platforms)
- number of client ip addresses seen within the last 600 seconds (ip)
- number of different users seen within the last 600 seconds (usr)
- number of mod_qos events within the last minute (qv=create session,
qs=session pass, qd=access denied, qk=connection closed, qt=dynamic
keep-alive, ql=request/response slow down)
Options
-f <format_string>
Defines the log data format and the positions of data
elements processed by this utility.
See the 'LogFormat' directive of the httpd.conf file
to see the format defintions of the server's access log
data. qslog knows the following elements:
T defines the request duration (%T)
B defines the transferred bytes (%b or %O)
i defines the received bytes (%I)
S defines HTTP response status code (%s)
R defines the request line (%r)
I defines the client ip address (%h)
U defines the user tracking id (%{mod_qos_user_id}e)
Q defines the mod_qos_ev event message (%{mod_qos_ev}o)
. defines an element to ignore (unknown string)
-o <out_file>
Specifies the file to store the output to.
-p
Used when reading the log data from a file (cat/pipe). qslog is
started using its offline mode in order to process existing log
files (post processing).
-v
Verbose mode.
-x
Rotates the output file once a day (move).
-u <name>
Become another user, e.g. nobody.
-m
Calculates free system memory every minute.
Example configuration using piped logging:
LogFormat "%t %h \"%r\" %>s %b \"%{User-Agent}i\" %T"
TransferLog "|./bin/qslog -f ..IRSB.T -o ./logs/stat_log"
Example configuration using piped logging:
CustomLog "|./bin/qslog -f ISBT -m -u apache -x -o ./logs/stat_log" "%h %>s %b %T"
Example for post processing (option -p):
cat access_log | ./bin/qslog -f ..IRSB.T -o ./logs/stat_log -p
|