Apache 2
Accédez aux statuts d'un serveur Apache 2 via une interface Web intégrée dans un espace dédié à l'état en temps réel de votre serveur.
Ce guide est testé sur:
- Debian 6.0 Squeeze
- Debian 7.0 Wheezy
Prérequis
Ce guide nécessite:
- L'accès aux statuts du serveur, comme décrit par Afficher les statuts d'un serveur.
Paramètres
Renseignez le domaine d'accès aux statuts du serveur:
DOMAIN="status.domain.com"
Installation
Activez le module status:
command a2enmod status
Détectez le fichier de configuration du site de statut:
STATUS_VHOST="$(command grep -rl \
"STATUS PAGES CONFIGURATION END" \
'/etc/apache2/sites-available')"
Détectez le chemin d'installation utilisé:
if [ -n "${STATUS_VHOST}" ]; then
INSTALL_PATH=$(command grep "DocumentRoot" "${STATUS_VHOST}" \
| command sed -e 's/^[ \t]*//;s/[ \t]*$//' -e 's/[ \t]*[ \t]/ /g' \
| command cut --delimiter=" " --field=2)
fi
Détectez le sous-dossier utilisé:
SUB_FOLDER=""
if [ -n "${STATUS_VHOST}" -a -n "$(command grep '^[ ]*Alias ' "${STATUS_VHOST}")" ]; then
SUB_FOLDER="$(command grep '^[ ]*Alias ' "${STATUS_VHOST}" \
| command grep "${INSTALL_PATH}" \
| command sed -e 's/^[ \t]*//;s/[ \t]*$//' -e 's/[ \t]*[ \t]/ /g' \
| command cut --delimiter=" " --field=2)"
fi
Ajoutez la configuration nécessaire à l'hôte virtuel:
if [ -n "${STATUS_VHOST}" ]; then
command sed -i -e "/STATUS PAGES CONFIGURATION END/i\\
# Apache 2 status page.\\
<Location ${SUB_FOLDER}/apache2>\\
SetHandler server-status\\
</Location>\\
" "${STATUS_VHOST}"
fi
Ajoutez le lien vers les statuts d'Apache 2 à la page d'accueil du domaine:
if [ -e "${INSTALL_PATH}/index.html" ]; then
command sed -i -e '/<\/ul>/i\
<li><a href="./apache2">Apache 2 status</a> (<a href="./apache2?refresh=5">with 5s auto-refresh rate</a>)</li>' \
"${INSTALL_PATH}/index.html"
fi
Vérifiez que la configuration d'Apache 2 ne contient pas d'erreurs:
command apache2ctl -t
Rechargez la configuration d'Apache 2:
/etc/init.d/apache2 reload
Vous pouvez maintenant accéder aux statuts en temps réel d'Apache 2 sur le domaine dédié aux statuts du serveur. Voici quelques éléments pour interpréter les informations fournies:
- Une forte utilisation du CPU peut indiquer un problème avec un script exécuté par un module tel que mod_php.
- Il est normal d'avoir plusieurs tâches en "keep-alive" (indiquées par un "K"). Si, toutefois, elles constituent la majorité des tâches listées, envisagez de réduire la valeur de la directive KeepAliveTimeout.
- Si vous disposez de peu de tâches inactives (indiquées par un "."), envisagez d'augmentez la valeur "MaxClients". Disposer de tâches inactives pour gérer les nouvelles requêtes peut améliorer les temps de réponse du serveur. Assurez-vous toutefois qu'il y ait suffisament de mémoire disponible pour mettre en place ce réglage.
Remerciements
- Merci à Deimos.fr (fr) pour Monitorer en temps réel votre Apache (fr).
- Merci à Slicehost (en) pour Enabling and using apache's mod_status on Debian (en).