Apache module mod_status

# Module mod_status

The Status Module is only available in Apache 1.1 and later.

## Function

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.

The details given are:

- The number of children serving requests
- The number of idle children
- The status of each child, the number of requests that child has performed and the total number of bytes served by the child (*)
- A total number of accesses and byte count served (*)
- The time the server was started/restarted and the time it has been running for
- Averages giving the number of requests per second, the number of bytes served per second and the average number of bytes per request (*)
- The current percentage CPU used by each child and in total by Apache (*)
- The current hosts and requests being processed (*)

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.

## Enabling Status Support

To enable status reports only for browsers from the foo.com domain add this code to your `access.conf` configuration file

        <Location /server-status>
        SetHandler server-status

        order deny,allow
        deny from all
        allow from .foo.com
        </Location>

You can now access server statistics by using a Web browser to access the page `http://your.server.name/server-status`

Note that mod_status will only work when you are running Apache in standalone mode and not inetd mode.

### Automatic Updates

You can get the status page to update itself automatically if you have a browser that supports "refresh". Access the page `http://your.server.name/server-status?refresh=N` to refresh the page every N seconds.

### Machine Readable Status File

A machine-readable version of the status file is available by accessing the page `http://your.server.name/server-status?auto`. This is useful when automatically run, see the Perl program in the `/support` directory of Apache, `log_server_status`.

## Full Instrumentation

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 mark@ukweb.com and tell me your configuration.

Do this by adding the following to the AUX_CFLAGS line in the "Configuration" file and then recompiling as usual.

    	AUX_CFLAGS= (something) -DSTATUS

> It should be noted that if `mod_status` is compiled into the server, its handler capability is available in all configuration files, including per-directory files (e.g., `.htaccess`). This may have security-related ramifications for your site.