summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mod_status.html
blob: ccfabe1a833aedd65def147681d8551ec480b6d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!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><A NAME="extendedstatus">ExtendedStatus directive</A></H2>
<!--%plaintext &lt;?INDEX {\tt ExtendedStatus} directive&gt; -->
<A
 HREF="directive-dict.html#Syntax"
 REL="Help"
><STRONG>Syntax:</STRONG></A> ExtendedStatus <EM>On|Off</EM><BR>
<A
 HREF="directive-dict.html#Default"
 REL="Help"
><STRONG>Default:</STRONG></A> <CODE>ExtendedStatus Off</CODE><BR>
<A
 HREF="directive-dict.html#Context"
 REL="Help"
><STRONG>Context:</STRONG></A> server config <BR>
<A
 HREF="directive-dict.html#Status"
 REL="Help"
><STRONG>Status:</STRONG></A> Base<BR>
 <A
  HREF="directive-dict.html#Module"
  REL="Help"
  ><STRONG>Module:</STRONG></A> mod_status<BR>
<A
 HREF="directive-dict.html#Compatibility"
 REL="Help"
><STRONG>Compatibility:</STRONG></A> ExtendedStatus is only available
 in Apache 1.3.2 and later.

<P>
This directive controls whether the server keeps track of extended
status information for each request. This is only useful if the status module
is enabled on the server.
</P>
<P>
This setting applies to the entire server, and cannot be enabled or
disabled on a virtualhost-by-virtualhost basis.
</P>

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

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