mod_qos, qslog

 

qslog is a support utility of mod_qos. It may be used to gather request statistics from Apache's access log data.

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



Nevis © 2007-2011, Pascal Buchbinder