Activation et explication de server-status
Permet d'avoir le statut du serveur et de ses modules
Utile aussi pour plugins munin apache_*
Le status est accessible via http://127.0.0.1/server-status, ou server-status?auto. Le localhost est suffisant pour l'accès local du plugin munin, pas besoin de l'ouvrir au monde.
Debian
Activer le module status (activé par défaut dur Debian 6 Squeeze)
a2enmod status
Munin-node a besoin de libwww-perl pour accéder au server-status:
apt-get install libwww-perl
Autoriser l'accès : modifier /etc/apache2/apache2.conf, décommenter :
<IfModule mod_status.c> # # Allow server status reports generated by mod_status, # with the URL of http://servername/server-status # Change the ".example.com" to match your domain to enable. # <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 ::1 # Allow from 192.0.2.0/24 </Location>
Et :
# Keep track of extended status information for each request ExtendedStatus On
Recharger Apache
/etc/init.d/apache2 reload
CentOS
Le module mod_status est chargé par défaut.
Modifier /etc/httpd/conf/httpd.conf comme ci-dessus. Ajouter l'option
Allow from 127.0.0.1
à la place de "Allow from .example.com".
Un paquet est requis par mod_status :
yum install links
Recharger Apache.
/etc/init.d/httpd reload
Tester
Test local avec lynx :
lynx localhost/server-status
Explication server-status Apache
Informations affichées sur la page server-status d'Apache
État général du serveur
__Current Time: Monday, 06-Oct-2003 15:40:29 CEST
Restart Time: Monday, 06-Oct-2003 15:20:48 CEST
Parent Server Generation: 0
Server uptime: 19 minutes 41 seconds
Total accesses: 758 - Total Traffic: 4.0 MB
CPU Usage: u.79 s.41 cu.14 cs.14 - .125% CPU load
.642 requests/sec - 3595 B/second - 5.5 kB/request
5 requests currently being processed, 20 idle servers__
Ici, on peut savoir que le serveur Apache est lancé depuis 19 minutes (donc il a été redemarré récemment), que le CPU est très peu utilisé (moins de 1%), qu'en moyenne, il y a 0.642 web requêtes par seconde, que le trafic généré est de 3595 octets par seconde (faible) et qu'en moyenne les requêtes font 5.5Ko, et qu'actuellement, il y a 5 requêtes en cours de traitement et 20 slots libres pour les futures connexions.
Les slots :
Apparaît ensuite un tableau de caractères représentant chacun un slot (ou plutôt son état). Un "slot" Apache représente un des processus serveur dont la tâche est de répondre aux requêtes des navigateurs :
_KWK__K_K.......................................
................................................................
................................................................
................................................................
................................................................
Chaque symbole represente un état du slot Apache :
. : Aucune activité (n'occupe rien en mémoire).
_: 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 gêner le serveur si vous mettez des fichiers à télécharger par le web 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 config 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.
Tache effectué par les Slots
Le serveur-status se termine avec un tableau plus ou moins grand suivant le nombre de Slots actifs.
Vous pouvez y voir ces colonnes (pour les plus importantes) :
PID : le PID système du slot en question (qui correspond au numéro de processus Apache).
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'adresse IP ou le nom de machine 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).