Apache HTTP Server Version 1.3
Module mod_status
Le module d'état est disponible à partir de la version 1.1 d'Apache.
Fonction
Le module d'état mod_status permet à un administrateur d'un serveur de savoir comment le serveur fonctionne. Une page HTML est présentée, donnant les statistiques courantes sur l'état du serveur sous une forme lisible et claire. Il est possible de faire rafraîchir cette page automatiquement (avec un navigateur compatible). Une autre page fournira les mêmes informations sous un format facilement lisible par un automate.
Ces pages donnent les informations suivantes :
- Le nombre de processus fils actuellement activés pour servir des requêtes
- Le nombre de processus fils en attente
- L'état de chaque processus fils, le nombre de requêtes que ce processus a traitées et le nombre total d'octets que ce processus a transférés (*).
- Le nombre total des accès et le volume total servi en octets (*)
- L'heure à laquelle le serveur a été démarré/redémarré et le temps pendant lequel il a tourné
- Des ratios donnant le nombre moyen de requêtes par seconde,
le nombre moyen d'octets servis par seconde et le nombre moyen d'octets par requête (*)
- Le pourcentage de temps CPU utilisé par chaque processus fils, et le total de temps CPU pour Apache
dans son ensemble (*)
- Les requêtes et hôtes servis au moment de la consultation de l'état (*)
Une option de compilation doit être activée pour afficher les informations notées "(*)" dans la mesure ou l'instrumentation nécessaire pour compiler ces statistiques n'est pas partie intégrante de la construction standard d'Apache.
Activation du rapport d'état
Pour activer la génération des rapports d'état à destination des seuls navigateurs du domaine foo.com, ajoutez ce code dans votre fichier de configuration access.conf
<Location /server-status>
SetHandler server-status
order deny,allow
deny from all
allow from .foo.com
</Location>
Vous pouvez alors accéder aux statistiques du serveur par l'intermédiaire d'un navigateur Web en pointant la page http://votre.serveur.fr/server-status
Notez que le module mod_status ne fonctionne que si vous exécutez Apache dans son mode standalone et pas dans son mode inetd.
Mises à jour automatisées
Si vous disposez d'un navigateur qui supporte la fonctionnalité "refresh", vous pourrez faire rafraîchir automatiquement le rapport d'état. Accédez à l'URL http://votre.serveur.fr/server-status?refresh=N
pour rafraîchir votre rapport toutes les N secondes.
Rapport d'état à destination d'automates
Une version "machine" du rapport d'état est disponible en accédant à l'URL http://votre.serveur.fr/server-status?auto
. Ceci est utile lorsqu'un programme est implémenté pour récupérer automatiquement ces données. Voir le programme Perl log_server_status
, fourni dans le répertoire /support
de la distribution Apache.
Instrumentation
Pour obtenir des statistiques complètes, vous devez compiler Apache avec une directive spéciale. Sur certaines machines, cela entraînera une légère dégradation des performances du serveur. Activez l'option générant les statistiques complètes, et observez si vous pouvez sentir une légère différence. Si vous en sentez une, contactez
mark@ukweb.com en lui précisant la configuration utilisée.
Vous activerez l'instrumentation permettant une compilation statistique complète en ajoutant le code suivant à la ligne AUX_CFLAGS dans le fichier de configuration de compilation, puis en recompilant comme d'habitude.
AUX_CFLAGS= (qqchose) -DSTATUS
Il doit être précisé que si mod_status est compilé dans le serveur, son traitement concerne tous les fichiers de configuration, y compris les fichier écrits sur une base de répertoire (ex., .htaccess). Ceci peut avoir quelques conséquences en termes de sécurité.
Apache HTTP Server Version 1.3