Vous avez besoin de connaitre l’état de votre serveur Apache à un instant t ? Server-status est là pour ça !
Mais qu’est-ce que le Server-status ?
Il s’agit d’une page générée par le serveur Apache qui vous indique en temps réel son état. Vous pouvez y voir les "slots" Apache en mémoire, les requêtes effectuées, le temps d’exécution, l’occupation CPU...
Un outil pratique pour suivre des problèmes liés à Apache (surconsommation ressources ou autre).
Comment configurer Server-status ?
C’est très simple !
- éditez votre fichier de configuration Apache (/etc/httpd/conf/httpd.conf ou autre suivant la distribution utilisée)
- Ajoutez ensuite un bloc pour le "Handler", à la fin de votre fichier par exemple :
Set Handler server-status
Order deny,allow
Deny from all
Allow from 81.64.169.XX
Allow from 127.0.0.1
Remarque : l’adresse ip indiquée (celle qui finie par xx dans notre exemple) doit être celle de la machine depuis laquelle vous allez consulter le server-status, en général votre pc.
- Puis redémarrer Apache ( /etc/rc.d/init.d/httpd restart )
Voilà, c’est tout, le server-status est maintenant consultable à l’adresse http://ip_de_la_machine/server-status
Informations du Server-status :
Cette page va vous renvoyer plusieurs informations :
- la signature de votre serveur. Exemple : Server Version : Apache/1.3.20 Sun Cobalt (Unix) mod_ssl/2.8.4 OpenSSL/0.9.6 PHP/4.0.6 mod_perl/1.26 Server Built : May 28 2004 19:48:25
- L’état général du serveur :
__Current Time: Monday, 08-Nov-2008 17:39:29 CEST
Restart Time: Monday, 08-Nov-2008 17:10:18 CEST
Parent Server Generation: 0
Server uptime: 29 minutes 11 seconds
Total accesses: 1453 - Total Traffic: 8.0 MB
CPU Usage: u.64 s.41 cu.14 cs.14 - .113% CPU load
.962 requests/sec - 4395 B/second - 4.5 kB/request
5 requests currently being processed, 20 idle servers__
Ici on apprend plusieurs choses :
- le serveur a un Uptime de 29minutes (il a donc été redémarré récemment),
- le CPU est très peu utilisé (moins de 1%),
- en moyenne, il y a 0.962 requêtes par seconde,
- le trafic généré est de 4395 octets par seconde (faible)
- en moyenne les requêtes font 4.5Ko,
- actuellement, il y a 5 requêtes en cours de traitement et 20 slots libres pour les futures connexions.
Vient ensuite un tableau de caractères représentant chacun l’état d’un slot. Dans ce tableau chaque symbole représente un état du slot Apache :
- . : Aucune activité.
- _ : le Slot est en attente de connexion.
- S : le Slot est en cours de démarrage.
- R : le Slot lit la requête du client.
- W : le Slot envoie le contenu/résultat demandé au client (cet état peut-être long et donc "charger" le serveur si vous mettez des fichiers à télécharger en http au lieu de FTP).
- K : le Slot a terminé son travail, mais reste actif en cas de requête du même client pour répondre rapidement (KeepAlive).
- D : le Slot fait un requête DNS pour trouver le host du client (peut être gênant en cas de serveur DNS lent... peut-être désactivé avec : Hostname Lookups off dans la configuration apache).
- L : le Slot est en train d’écrire dans le fichier de log. Si cette opération dure trop longtemps ou qu’il y a beaucoup de Slot dans cet état, il y a peut-être un problème avec les logs (un logs excédant les 2Go par exemple).
- G : état rarement visible, c’est uniquement quand le Slot meurt car devenu inutile.
Quelles sont les taches effectuées par les Slots
La page se termine avec un tableau plus ou moins grand suivant le nombre de Slots actifs qui indique les taches effectuées par ceux ci.
Les colonnes les plus importantes sont :
- PID : le PID système du slot en question (que l’on peut retrouver avec un top par exemple, ou ps auxww.
- M : status (Mode) du Slot (la signification est celle décrite précédemment).
- CPU : nombre de secondes réel d’utilisation du CPU pour traiter la requête.
- SS : nombre de secondes depuis la dernière action du Slot (Temps d’inactivité).
- Req : nombre de millisecondes pour traiter la dernière requête.
- Slot : nombre de Ko transféré par ce slot... intéressant pour voir un script tournant en boucle et envoyant des Mo inutilement... ou pour détecter l’utilisation du serveur Web pour faire des téléchargements qui auraient plus leur place sur un FTP anonyme.
- Host : l’ip ou le host du visiteur.
- VHost : le Site demandé par le visiteur.
- Request : la requête effectuée (généralement : GET /repertoire/fichier.php HTTP/1.1 par exemple).






