Ich habe die apache_Plugins auf einem Munin-Knoten aktiviert:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
Nach dem Neustart des Knotens mit service munin-node restarthier sind die Fehler, die ich bekomme:
$ 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]
Ist mod_statusjedoch bereits aktiviert:
$ a2enmod status
Module status already enabled
Und ein Neustart von Apache macht keinen Unterschied.
Wenn ich versuche, die Plugins manuell auszuführen, bekomme ich Folgendes (ich habe gelesen, dass das Erhalten eines U eine schlechte Nachricht ist, also ist das zumindest konsistent).
$ 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
Weiß jemand, warum ich die server-status not foundNachricht immer noch bekomme und wie ich sie loswerden kann?
Aktualisierte Antwort 1
Der Vorschlag von Shane war richtig, einen Anforderungshandler mithilfe Locationund SetHandlerauf der Apache-Site festzulegen. Weitere Informationen zu finden mod_statusSie auf dieser Seite
Ich konnte überprüfen, ob munindie entsprechenden Anfragen tatsächlich gestellt wurden, indem ich mir ansah, /var/log/apache2/access.logwoher ich diese hatte:
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
In meinem Fall Locationreichte die Einstellung nicht aus, da ich eine DrupalSite betreibe und die Anforderungen .htaccesszusammen mit neu geschrieben mod_rewritewurden. Um das Problem zu beheben, musste ich die folgende Zeile zu meiner hinzufügen.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]
Bitte beachten Sie, dass dies stellt kein Sicherheitsproblem , da der Zugang zu /server-statusauf das beschränkt ist 127.0.0.1in der Apache - Website.
Aktualisierte Antwort 2
Es scheint, dass das Hinzufügen der Locationzur Apache-Site schließlich nicht erforderlich war, da dies bereits in definiert ist /etc/apache2/mods-enabled/status.conf. Übrigens, wenn Sie die ExtendedStatus OnDirektive hinzufügen möchten, sollten Sie dies in dieser Datei tun.
mod_rewritearbeiten musste (siehe aktualisierte Frage mit Antwort)