J'ai activé les apache_
plugins sur un nœud munin:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
Après avoir redémarré le nœud avec service munin-node restart
voici les erreurs que je reçois:
$ munin-node-configure --suggest 2>/dev/null | grep "apache\|Plugin\|------"
Plugin | Used | Suggestions
------ | ---- | -----------
apache_accesses | yes | no [apache server-status not found. check if mod_status is enabled]
apache_processes | yes | no [apache server-status not found. check if mod_status is enabled]
apache_volume | yes | no [apache server-status not found. check if mod_status is enabled]
Cependant mod_status
est déjà activé:
$ a2enmod status
Module status already enabled
Et redémarrer apache ne fait aucune différence.
Si j'essaie d'exécuter les plugins manuellement, voici ce que j'obtiens (j'ai lu que l'obtention d'un U est une mauvaise nouvelle, donc au moins c'est cohérent).
$ munin-run apache_accesses --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_accesses'
accesses80.value U
$ munin-run apache_processes --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_processes'
busy80.value U
idle80.value U
free80.value U
$ munin-run apache_volume --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_volume'
volume80.value U
Est-ce que quelqu'un sait pourquoi je reçois toujours le server-status not found
message et comment je peux m'en débarrasser?
Réponse mise à jour 1
La suggestion de Shane était correcte sur la définition d'un gestionnaire de requêtes à l'aide de Location
et SetHandler
dans le site apache. Pour plus d'informations sur mod_status
s'il vous plaît se référer à cette page
Je pouvais vérifier que je munin
faisais effectivement les demandes appropriées en regardant /var/log/apache2/access.log
où j'obtenais ceci:
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
Dans mon cas, le réglage Location
n'était pas suffisant car je gère un Drupal
site et les .htaccess
combinés avec mod_rewrite
réécrivaient les demandes. Pour le réparer, j'ai dû ajouter la ligne suivante à mon.htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} !=/server-status # <= added this line
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Veuillez noter que cela ne représente pas un problème de sécurité car l'accès à /server-status
est limité au 127.0.0.1
site apache.
Réponse mise à jour 2
Il semble que l'ajout Location
de au site apache n'était pas nécessaire après tout, car cela est déjà défini dans /etc/apache2/mods-enabled/status.conf
. Btw, si vous voulez ajouter la ExtendedStatus On
directive, c'est dans ce fichier que vous devez le faire.
mod_rewrite
travail (voir question mise à jour avec réponse)J'ai découvert que je pouvais courir
mais non
Le premier frappe le serveur par défaut, le second un serveur virtuel.
J'ai donc explicitement ajouté une section apache à
/etc/munin/plugin-conf.d/munin-node
et obtenu mes graphiques munin apache.
la source
J'ai trouvé la solution de Many Ayromlou sur ce site :
la source
mod_status intégré au serveur Web Apache pour obtenir l'état du serveur à partir d'un navigateur Web. Avec ce module, nous pouvons facilement découvrir la performance du serveur. Tous les rapports sont générés au format html.
Étape 1. Vérifiez si le module d'état est activé ou non apache2ctl -M ou ls / etc / apache2 / sites-enabled
Étape 2. S'il n'est pas activé, activez-le par la commande,
statut sudo a2enmod
étape 3. Configurer l'accès,
Ouvrez /etc/apache2/mods-enabled/status.conf et commentez les lignes,
Et ajoutez la ligne suivante,
Nous pouvons restreindre l'accès à l'état du serveur pour des adresses IP particulières dans cette configuration en modifiant, Autoriser de our_public_ipaddress au lieu de Autoriser de tous
Enregistrez le fichier status.conf.
Étape 4. Redémarrez apache par la commande,
/etc/init.d/apache2 redémarrer
Étape 5. Vérifiez la page d'état du serveur dans le navigateur
http: // server-ip / server-status
J'espère que ce serait utile.
la source
J'avais le même problème. Voici quelques étapes de diagnostic supplémentaires. Essayez de faire
C'est un moyen plus direct de voir la même erreur " non (pas de statut de serveur apache sur les ports 80) "
Maintenant, essayez de faire
Pour moi, cela donne 403 Interdit .
Je voyais également «client refusé par la configuration du serveur: / var / www / server-status» dans mon journal des erreurs Apache principal
Obtenez-vous la même chose?
Pour moi, en fait, la réponse de Shane Madden l'a résolu.
la source
Si / server-status est interdit uniquement à partir de 127.0.0.1, vous pouvez créer une configuration VirtualHost pour 127.0.0.1 avec le contenu suivant:
Voici une explication plus détaillée
la source