blob: f671ad78367bf2d55850ee54d3eac6e2a621155f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>Apache module mod_status</title>
</head><!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#000080"
ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<h1 ALIGN="CENTER">Module mod_status</h1>
The Status Module is only available in Apache 1.1 and later.<p>
<h2>Function</h2>
The Status module allows a server administrator to find out how well
their server is performing. A HTML page is presented that gives
the current server statistics in an easily readable form. If required
this page can be made to automatically refresh (given a compatible
browser). Another page gives a simple machine-readable list of the current
server state.
<p>
The details given are:
<ul>
<li>The number of children serving requests
<li>The number of idle children
<li>The status of each child, the number of requests that child has
performed and the total number of bytes served by the child (*)
<li>A total number of accesses and byte count served (*)
<li>The time the server was started/restarted and the
time it has been running for
<li>Averages giving the number of requests per second,
the number of bytes served per second and the average number
of bytes per request (*)
<li>The current percentage CPU used by each child and in total by
Apache (*)
<li>The current hosts and requests being processed (*)
</ul>
A compile-time option must be used to display the details marked "(*)" as
the instrumentation required for obtaining these statistics does not
exist within standard Apache.
<h2>Enabling Status Support</h2>
To enable status reports only for browsers from the foo.com
domain add this code to your <code>access.conf</code> configuration file
<pre>
&lt;Location /server-status&gt;
SetHandler server-status
order deny,allow
deny from all
allow from .foo.com
&lt;/Location&gt;
</pre>
<p>
You can now access server statistics by using a Web browser to access the
page <code>http://your.server.name/server-status</code>
<p>
Note that mod_status will only work when you are running Apache in
<A HREF="core.html#servertype">standalone</A> mode and not
<A HREF="core.html#servertype">inetd</A> mode.
<h3>Automatic Updates</h3>
You can get the status page to update itself automatically if you have
a browser that supports "refresh". Access the page
<code>http://your.server.name/server-status?refresh=N</code> to refresh the page
every N seconds.
<h3>Machine Readable Status File</h3>
A machine-readable version of the status file is available by accessing the
page <code>http://your.server.name/server-status?auto</code>. This is useful
when automatically run, see the Perl program in the <code>/support</code>
directory of Apache, <code>log_server_status</code>.
<h2>Full Instrumentation</h2>
To obtain full statistics you must compile Apache with a special
directive. On some machines there may be a small performance loss
if you do this. Try full statistics and see if you notice any
difference. If you do please contact <a href="mailto:mark@ukweb.com">
mark@ukweb.com</a> and tell me your configuration.
<p>
Do this by adding the following to the AUX_CFLAGS line in the
"Configuration" file and then recompiling as usual.
<pre>
AUX_CFLAGS= (something) -DSTATUS
</pre>
<BLOCKQUOTE>
<STRONG>
It should be noted that if <SAMP>mod_status</SAMP> is compiled into
the server, its handler capability is available in <EM>all</EM>
configuration files, including <EM>per</EM>-directory files
(<EM>e.g.</EM>, <SAMP>.htaccess</SAMP>). This may have
security-related ramifications for your site.
</STRONG>
</BLOCKQUOTE>
<!--#include virtual="footer.html" -->
</BODY>
</HTML>