<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>

<!--
 Copyright 2002-2004 The Apache Software Foundation

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mod_status.xml.meta">

<name>mod_status</name>
<description>Provides information on server activity and
performance</description>
<status>Base</status>
<sourcefile>mod_status.c</sourcefile>
<identifier>status_module</identifier>


<summary>

<note>
  <strong>Warning:</strong> This document has not been updated
  to take into account changes made in the 2.0 version of the
  Apache HTTP Server. Some of the information may still be
  relevant, but please use it with care.
</note>

    <p>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>

    <p>The details given are:</p>

    <ul>
      <li>The number of children serving requests</li>

      <li>The number of idle children</li>

      <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>

      <li>A total number of accesses and byte count served (*)</li>

      <li>The time the server was started/restarted and the time it
      has been running for</li>

      <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>

      <li>The current percentage CPU used by each child and in
      total by Apache (*)</li>

      <li>The current hosts and requests being processed (*)</li>
    </ul>

    <p>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.</p>
</summary>

<section id="enable">
    <title>Enabling Status Support</title>

    <p>To enable status reports only for browsers from the foo.com
    domain add this code to your <code>httpd.conf</code>
    configuration file</p>
<example>
    &lt;Location /server-status&gt;<br />
    SetHandler server-status<br />
<br />
    Order Deny,Allow<br />
    Deny from all<br />
    Allow from .foo.com<br />
    &lt;/Location&gt;
</example>

    <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><p>Note that <module>mod_status</module> 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.</p></note>
</section>

<section id="autoupdate">

    <title>Automatic Updates</title>
    <p>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.</p>

</section>

<section id="machinereadable">

    <title>Machine Readable Status File</title>
    <p>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>.</p>

    <note>
      <strong>It should be noted that if <module>mod_status</module> 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>,
      <code>.htaccess</code>). This may have security-related
      ramifications for your site.</strong>
    </note>

</section>

<directivesynopsis>

<name>ExtendedStatus</name>
<description>Keep track of extended status information for each 
request</description>
<syntax>ExtendedStatus On|Off</syntax>
<default>ExtendedStatus Off</default>
<contextlist><context>server config</context></contextlist>
<compatibility>ExtendedStatus is only available in Apache 1.3.2 and 
later.</compatibility>

<usage>
    <p>This setting applies to the entire server, and cannot be
    enabled or disabled on a virtualhost-by-virtualhost basis.
    The collection of extended status information can slow down
    the server.</p>
</usage>

</directivesynopsis>
</modulesynopsis>

