For
this exercise, which includes info
as previously,
the httpd.conf in ...
/site.status file should look like this:
User webuser Group webgroup ServerName www.butterthlies.com DocumentRoot /usr/www/APACHE3/site.status/htdocs ExtendedStatus on <Location /status> order deny,allow allow from 192.168.123.1 deny from all SetHandler server-status </Location> <Location /info> order deny,allow allow from 192.168.123.1 deny from all SetHandler server-status SetHandler server-info </Location>
The allow
from
directive
keeps our laundry private.
Remember the way order
works: the last entry has
the last word. Notice also the use of
SetHandler
, which sets a handler for all
requests to a directory, instead of AddHandler
,
which specifies a handler for particular file extensions. If you then
access www.butterthlies.com/status, you get this
response:
Apache Server Status for www.butterthlies.com Server Version: Apache/1.3.14 (Unix) Server Built: Feb 13 2001 15:20:23 Current Time: Tuesday, 13-Feb-2001 16:03:30 GMT Restart Time: Tuesday, 13-Feb-2001 16:01:49 GMT Parent Server Generation: 0 Server uptime: 1 minute 41 seconds Total accesses: 21 - Total Traffic: 49 kB CPU Usage: u.0703125 s.015625 cu0 cs0 - .0851% CPU load .208 requests/sec - 496 B/second - 2389 B/request 1 requests currently being processed, 5 idle servers _W___ _.......................................................... ................................................................ ................................................................ ................................................................ Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "L" Logging, "G" Gracefully finishing, "." Open slot with no current process Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request 0-0 2434 0/1/1 _ 0.01 93 5 0.0 0.00 0.00 192.168.123.1 www.butterthlies.com GET /status HTTP/1.1 1-0 2435 20/20/20 W 0.08 1 0 47.1 0.05 0.05 192.168.123.1 www.butterthlies.com GET /status?refresh=2 HTTP/1.1 Srv Child Server number - generation PID OS process ID Acc Number of accesses this connection / this child / this slot M Mode of operation CPU CPU usage, number of seconds SS Seconds since beginning of most recent request Req Milliseconds required to process most recent request Conn Kilobytes transferred this connection Child Megabytes transferred this child Slot Total megabytes transferred this slot
There are several useful variants on the basic status request made from the browser:
status?notable
Returns the status without using tables, for browsers with no table support
status?refresh
Updates the page once a second
status?refresh=<n>
Updates the page every <n>
seconds
status?auto
Returns the status in a format suitable for processing by a program
These can also be combined by putting a comma between them, i.e., http://www.butterthlies.com/status?notable,refresh=10.