QSLOG

Section: qslog man page (1)
Updated: 07 December 2011
Index Return to Main Contents

 

NAME

qslog - collects request statistics from access log data.  

SYNOPSIS

qslog -f <format_string> -o <out_file> [-p [-v]] [-x] [-u <name>] [-m]  

DESCRIPTION

qslog is a real time access log analyzer. It collects the data from stdin. The output is written to the specified file every minute and 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)
  - repsonse 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)
  - number of established (new) connections within the last minutes (esco)
  - average system load (sl)
  - free memory (m) (not available for all platforms)
  - number of client ip addresses seen withn the last 600 seconds (ip)
  - number of different users seen withn 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, qs=serialized request)  

OPTIONS

-f <format_string>
Defines the log data format and the positions of data elements processed by this utility. See to the 'LogFormat' directive of the httpd.conf file to see the format defintions of the servers access log data.
     qslog knows the following elements:
     I defines the client ip address (%h)
     R defines the request line (%r)
     S defines HTTP response status code (%s)
     B defines the transferred bytes (%b or %O)
     i defines the received bytes (%I)
     T defines the request duration (%T)
     t defines the request duration in milliseconds (optionally used instead of T)
     D defines the request duration in microseconds (optionally used instead of T)
     k defines the number of keepalive requests on the connection (%k)
     U defines the user tracking id (%{mod_qos_user_id}e)
     Q defines the mod_qos_ev event message (%{mod_qos_ev}e)
     . 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 it's 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. www-data.
-m
Calculates free system memory every minute.
 

EXAMPLE

Configuration using pipped logging:


  LogFormat "%t %h \"%r\" %>s %b \"%{User-Agent}i\" %T"
  TransferLog "|./bin/qslog -f ..IRSB.T -x -o ./logs/stat_log"

Configuration using the CustomLog directive:


  CustomLog "|./bin/qslog -f ISBTQ -x -o ./logs/stat_log" "%h %>s %b %T %{mod_qos_ev}e"

Post processing:


  cat access_log | ./bin/qslog -f ..IRSB.T -o ./logs/stat_log -p

 

SEE ALSO

qsexec(1), qsfilter2(1), qsgrep(1), qspng(1), qsrotate(1), qssign(1), qstail(1)  

AUTHOR

Pascal Buchbinder, http://opensource.adnovum.ch/mod_qos/


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLE
SEE ALSO
AUTHOR