summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_status.html.en
blob: cb28b881fcb910d04d788f159e57463866b2ac81 (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_status - Apache HTTP Server Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_status</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_status.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Provides information on server activity and
performance</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>status_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_status.c</td></tr></table>
<h3>Summary</h3>

    <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 workers serving requests</li>

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

      <li>The status of each worker, the number of requests that
      worker has performed and the total number of bytes served by
      the worker (*)</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 worker and in
      total by all workers combined (*)</li>

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

    <p>The lines marked "(*)" are only available if
    <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code>
    is <code>On</code>.  In version 2.3.6, loading mod_status will
    toggle <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> On
    by default.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Topics</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling Status Support</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">Automatic Updates</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Machine Readable Status File</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Using server-status to troubleshoot</a></li>
</ul><h3 class="directives">Directives</h3>
<p>This module provides no
            directives.</p>
<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_status">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_status">Report a bug</a></li></ul><h3>See also</h3>
<ul class="seealso">
<li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="enable" id="enable">Enabling Status Support</a></h2>
    

    <p>To enable status reports only for browsers from the example.com
    domain add this code to your <code>httpd.conf</code>
    configuration file</p>
<pre class="prettyprint lang-config">&lt;Location "/server-status"&gt;
    SetHandler server-status
    Require host example.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>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="autoupdate" id="autoupdate">Automatic Updates</a></h2>

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

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="machinereadable" id="machinereadable">Machine Readable Status File</a></h2>

    
    <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
    <code>log_server_status</code>, which you will find in the
    <code>/support</code> directory of your Apache HTTP Server installation.</p>

    <div class="note">
      <strong>It should be noted that if <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> is
      loaded 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>
    </div>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="troubleshoot" id="troubleshoot">Using server-status to troubleshoot</a></h2>
    

    <p>The <code>server-status</code> page may be used as a starting
    place for troubleshooting a situation where your server is consuming
    all available resources (CPU or memory), and you wish to identify
    which requests or clients are causing the problem.</p>

    <p>First, ensure that you have <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> set on, so that you can see
    the full request and client information for each child or
    thread.</p>

    <p>Now look in your process list (using <code>top</code>, or similar
    process viewing utility) to identify the specific processes that are
    the main culprits. Order the output of <code>top</code> by CPU
    usage, or memory usage, depending on what problem you're trying to
    address.</p>

    <p>Reload the <code>server-status</code> page, and look for those process
    ids, and you'll be able to see what request is being served by that
    process, for what client. Requests are transient, so you may need to
    try several times before you catch it in the act, so to speak.</p>

    <p>This process <em>should</em> give you some idea what client, or
    what type of requests, are primarily responsible for your load
    problems. Often you will identify a particular web application that
    is misbehaving, or a particular client that is attacking your
    site.</p>

</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_status.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_status.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>