| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> |
| <!-- English Revision: 1673563 --> |
| <!-- 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> |
| </summary> |
| |
| <section id="enable"> |
| <title>Activation du rapport d'état</title> |
| |
| <p>Pour n'activer les rapports d'état que pour les navigateurs |
| appartenent 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> |
| |
| <note> |
| <strong>Veuillez noter que si <module>mod_status</module> a été |
| chargé dans le serveur, son gestionnaire sera disponible dans |
| <em>tous</em> les fichiers de configuration, y compris les |
| fichiers de configuration de <em>niveau répertoire</em> (par |
| exemple <code>.htaccess</code>), ce qui peut avoir des |
| répercutions quant à la sécurité de votre site.</strong> |
| </note> |
| |
| </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> |
| |