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 restart
hier 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_status
jedoch 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 found
Nachricht immer noch bekomme und wie ich sie loswerden kann?
Aktualisierte Antwort 1
Der Vorschlag von Shane war richtig, einen Anforderungshandler mithilfe Location
und SetHandler
auf der Apache-Site festzulegen. Weitere Informationen zu finden mod_status
Sie auf dieser Seite
Ich konnte überprüfen, ob munin
die entsprechenden Anfragen tatsächlich gestellt wurden, indem ich mir ansah, /var/log/apache2/access.log
woher 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 Location
reichte die Einstellung nicht aus, da ich eine Drupal
Site betreibe und die Anforderungen .htaccess
zusammen mit neu geschrieben mod_rewrite
wurden. 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-status
auf das beschränkt ist 127.0.0.1
in der Apache - Website.
Aktualisierte Antwort 2
Es scheint, dass das Hinzufügen der Location
zur Apache-Site schließlich nicht erforderlich war, da dies bereits in definiert ist /etc/apache2/mods-enabled/status.conf
. Übrigens, wenn Sie die ExtendedStatus On
Direktive hinzufügen möchten, sollten Sie dies in dieser Datei tun.
mod_rewrite
arbeiten musste (siehe aktualisierte Frage mit Antwort)Ich fand heraus, dass ich rennen konnte
aber nicht
Der erste trifft den Standardserver, der zweite einen virtuellen Server.
Also habe ich explizit einen Apache-Abschnitt hinzugefügt
/etc/munin/plugin-conf.d/munin-node
und bekam meine Munin Apache Graphen.
quelle
Ich habe auf dieser Seite eine Lösung von Many Ayromlou gefunden :
quelle
mod_status ist in den Apache-Webserver integriert, um den Serverstatus von einem Webbrowser abzurufen. Mit diesem Modul können wir leicht herausfinden, wie gut der Server arbeitet. Alle Berichte werden im HTML-Format erstellt.
Schritt 1. Überprüfen Sie, ob das Statusmodul aktiviert ist oder nicht apache2ctl -M oder ls / etc / apache2 / sites-enabled
Schritt 2. Wenn nicht aktiviert, aktivieren Sie es mit dem Befehl,
sudo a2enmod status
Schritt 3. Zugriff konfigurieren,
Öffnen Sie /etc/apache2/mods-enabled/status.conf und kommentieren Sie die Zeilen.
Und fügen Sie die folgende Zeile hinzu:
Wir können den Zugriff auf den Serverstatus für bestimmte IP-Adressen in dieser Konfiguration einschränken, indem wir die Option Von unserer_ öffentlichen_Adresse zulassen anstelle von Von allen zulassen bearbeiten
Speichern Sie die Datei status.conf.
Schritt 4. Starten Sie Apache mit dem Befehl neu.
/etc/init.d/apache2 Neustart
Schritt 5. Überprüfen Sie die Serverstatusseite im Browser
http: // server-ip / server-status
Hoffe das wäre hilfreich.
quelle
Ich hatte das gleiche Problem. Hier sind einige weitere Diagnoseschritte. Versuchen Sie es
Dies ist eine direktere Methode, um den gleichen Fehler " Nein (kein Apache-Server-Status an den Ports 80) " anzuzeigen.
Versuchen Sie es jetzt
Für mich bedeutet das 403 Verboten .
In meinem Haupt-Apache-Fehlerprotokoll wurde außerdem "Client durch Serverkonfiguration verweigert: / var / www / server-status" angezeigt
Bekommst du das gleiche?
Für mich hat Shane Maddens Antwort das Problem gelöst.
quelle
Wenn / server-status nur ab 127.0.0.1 verboten ist, können Sie eine VirtualHost-Konfiguration für 127.0.0.1 mit folgendem Inhalt erstellen:
Hier finden Sie eine ausführlichere Erklärung
quelle