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
|
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1873230 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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>Fournit des informations sur les performances et l'activité
du serveur</description>
<status>Base</status>
<sourcefile>mod_status.c</sourcefile>
<identifier>status_module</identifier>
<summary>
<p>Le module Status permet à un administrateur de déterminer le
niveau de performances de son serveur. Les statistiques instantanées
du serveur sont présentées dans une page HTML sous une forme
aisément lisible. Si nécessaire, cette page peut être configurée
pour être automatiquement actualisée (sous réserve de
compatibilité du navigateur). Une autre page fournit l'état
instantané du serveur sous la forme d'une simple liste lisible par
une machine.</p>
<p>Les détails fournis sont :</p>
<ul>
<li>Le nombre de processus servant les requêtes</li>
<li>Le nombre de processus inactifs</li>
<li>L'état de chaque processus, le nombre de requêtes qu'il a
traitées et le nombre total d'octets qu'il a servis (*)</li>
<li>Le nombre total d'accès effectués et d'octets servis (*)</li>
<li>Le moment où le serveur a été démarré/redémarré et le temps
écoulé depuis</li>
<li>Les valeurs moyennes du nombre de requêtes par seconde, du
nombre d'octets servis par seconde et du nombre d'octets par
requête (*)</li>
<li>Le pourcentage CPU instantané utilisé par chaque processus et
par l'ensemble des processus (*)</li>
<li>Les hôtes et requêtes actuellement en cours de traitement
(*)</li>
</ul>
<p>Les lignes se terminant par "(*)" ne sont disponibles que si la
directive <directive module="core">ExtendedStatus</directive>
est définie à <code>On</code>. Depuis la version
2.3.6, le chargement de mod_status définit automatiquement
<directive module="core">ExtendedStatus</directive> à On.</p>
<note>
<strong>Important : lorsque <module>mod_status</module> est chargé, son
gestionnaire sera disponible dans <em>tous</em> les fichiers de
configuration, y compris ceux concernant un répertoire (comme les fichiers
<code>.htaccess</code>). Ce comportement doit donc être pris en compte pour la
gestion de la sécurité de votre site.</strong>
</note>
</summary>
<section id="enable">
<title>Activation du rapport d'état</title>
<p>Pour n'activer les rapports d'état que pour les navigateurs
appartenant au domaine example.com, ajoutez ces lignes à votre
fichier de configuration <code>httpd.conf</code> :</p>
<highlight language="config">
<Location "/etat-serveur">
SetHandler server-status
Require host example.com
</Location>
</highlight>
<p>Il est alors possible d'obtenir les statistiques du serveur en
utilisant un navigateur web et en accédant à la page
<code>http://votre.serveur/etat-serveur</code>.</p>
</section>
<section id="autoupdate">
<title>Actualisation automatique</title>
<p>Vous pouvez faire en sorte que cette page d'état s'actualise
elle-même automatiquement si votre navigateur supporte "refresh".
Pour ce faire, accédez à la page
<code>http://votre.serveur/etat-serveur?refresh=N</code>, pour que
cette dernière soit actualisée toutes les N secondes.</p>
</section>
<section id="machinereadable">
<title>Fichier d'état lisible par une machine</title>
<p>La page <code>http://votre.serveur/etat-serveur?auto</code>
permet d'obtenir une version du fichier d'état lisible par une
machine. Ceci s'avère intéressant dans le cadre d'une exécution
automatique : voir le programme en Perl
<code>log_server_status</code> situé dans le répertoire
<code>/support</code> de votre distribution du serveur HTTP Apache.</p>
</section>
<section id="troubleshoot">
<title>Utilisation de server-status pour la recherche de défauts de
fonctionnement</title>
<p>La page <code>server-status</code> peut servir de point de départ
à la recherche de défauts de fonctionnement lorsque votre serveur
mobilise toutes les ressources disponibles (CPU ou mémoire), pour
identifier quels clients ou requêtes sont la cause du problème.</p>
<p>Tout d'abord, assurez-vous que la directive <directive
module="core">ExtendedStatus</directive> est bien définie à on, de
façon à ce que vous puissiez avoir accès à toutes les informations à
propos de la requête et du client pour chaque processus enfant ou
thread.</p>
<p>Consultez ensuite la liste des processus en cours (à l'aide de
<code>top</code>, ou d'un utilitaire de listage des processus
similaire), afin d'identifier les processus coupables. Triez
l'affichage de <code>top</code> par utilisation CPU ou mémoire, en
fonction du problème rencontré.</p>
<p>Rechargez la page <code>server-status</code> et recherchez
les identifiants des processus trouvés précédemment ; vous pourrez
alors déterminer quelle requête est traitée par ces processus, pour
quel client. Les requêtes peuvent apparaître de manière fugitive, et
il se peut que vous deviez effectuer plusieurs essais avant de
parvenir à les prendre en flagrant délit, pour ainsi dire.</p>
<p>Cette procédure <em>devrait</em> vous permettre de cerner quel
client, ou type de requête, sont à l'origine de vos problèmes de
charge. Il est probable que vous identifiiez une application web au
comportement anormal, ou un client en train d'attaquer votre site.</p>
</section>
</modulesynopsis>
|