Recherche


imprimer pdf
Configurer et utiliser le Server-status Apache

Qu'est-ce que le Server-status
C'est une page auto-générée par le serveur Apache pour vous indiquer son état a l'instant 't'. Vous pourrez ainsi voir les "slots" Apache en mémoire, la requête effectuée sur celui-ci, le temps d'exécution, son occupation CPU, l'hôte de la requête etc. Ceci est très pratique pour tracker par exemple des aspirations ou encore detecter un script utilisant trop de ressources sur la machine.

Comment le configurer

2 cas sont possibles :

  • vous avez un serveur dédié OVH et Apache est deja préconfiguré pour le serveur-status (renommé ovh-status pour l'occasion),
  • vous avez un cobalt ou un systeme non installé par le système OVH (Debian, FreeBSD, ...).

Machine OVH
Le server-status est deja configuré et nommé ovh-status dans /usr/local/apache/conf/httpd.conf
Il est par contre restreint à notre reseau : proxy.ovh.net
La configuration en question ressemble a ceci :


Set Handler server-status
Order deny,allow
Deny from all
Allow from proxy.ovh.net


Il suffit alors d'ajouter une ligne Allow from votre_IP ou sinon, si vous n'avez pas d'IP fixe : Allow from all ainsi :


Set Handler server-status
Order deny,allow
Deny from all
Allow from 81.52.48.XX
Allow from 127.0.0.1


dans cet exemple, 81.52.48.XX et la machine elle-meme pourront se connecter au server-status

Redemarrer ensuite Apache ainsi :
/etc/init.d/httpd restart



Vous pouvez ainsi a présent accéder à l'URL : http://ip_de_la_machine/ovh-status

Serveur Cobalt et autre machine installée non-OVH
Vérifier que le paramètre Extended Status est bien à 'On' dans votre fichier de configuration Apache (/etc/httpd/conf/httpd.conf sur Colbat) : Extended Status On. Si cette ligne n'existe pas, ajoutez-la... à la ligne 173 par exemple.

Ajoutez ensuite le bloc pour le "Handler" ... par exemple à la ligne 339 :

Set Handler server-status
Order deny,allow
Deny from all
Allow from 81.52.48.XX
Allow from 127.0.0.1


Une fois ceci fait, il vous suffit de redemarrer Apache ainsi :
/etc/rc.d/init.d/httpd restart


Et vous pouvez ainsi à présent consulter les informations ici : http://ip_de_la_machine/ovh-status

Quelles informations puis-je en resortir ?
  • Signature serveur :

sous le titre de la page, vous avez la signature du serveur du genre :

Server Version: Apache/1.3.20 Sun Cobalt (Unix) mod_ssl/2.8.4 OpenSSL/0.9.6 PHP/4.0.6 FrontPage/5.0.2.2510 mod_perl/1.26 Server Built: Feb 13 2003 09:35:05


  • État général du serveur :

puis des informations générales sur le serveur, par exemple :

__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 a un Uptime de 19minutes (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 :

puis apparaît un tableau de caractères representant chacun un slot (ou plutot son état) :

_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/resultat 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 meme client pour repondre rapidement (KeepAlive).
D : le Slot fait un requête DNS pour trouver le host du client (peut etre 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'ecrire 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 (nous ne commenterons que les plus importantes) :
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édement).
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 derniere 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).

Forum

Améliorer l'affichage de server-status .