Munin zeigt Apache nicht mehr an

Unifex

New Member
Seit heute zeigt Munin leider keine Apache Statistiken mehr an.

Im Errorlog kann ich folgendes sehen.

Da wo es noch ging:

127.0.0.1 - - [10/Jul/2012:09:50:02 +0200] "GET /server-status?auto HTTP/1.1" 200 943 "-" "libwww-perl/6.03"
127.0.0.1 - - [10/Jul/2012:09:50:02 +0200] "GET /server-status?auto HTTP/1.1" 200 943 "-" "libwww-perl/6.03"
127.0.0.1 - - [10/Jul/2012:09:50:03 +0200] "GET / HTTP/1.1" 200 485 "-" "Wget/1.13.4 (linux-gnu)"

Jetzt, wo es nicht mehr geht:

127.0.0.1 - - [10/Jul/2012:09:55:01 +0200] "GET /server-status?auto HTTP/1.1" 301 513 "-" "libwww-perl/6.03"
127.0.0.1 - - [10/Jul/2012:09:55:03 +0200] "GET /server-status?auto HTTP/1.1" 301 513 "-" "libwww-perl/6.03"
localhost - - [10/Jul/2012:09:55:04 +0200] "GET / HTTP/1.1" 301 514 "-" "Wget/1.13.4 (linux-gnu)"

Man sieht also irgendwie versucht er einen 301 zu machen und der letzte Befehl kommt jetzt nicht mehr von einer IP sondern von localhost.

Hat jemand für mich einen Tipp, wie ich das Problem lösen kann?
 
Und welches Munin-Plugin verwendest du?
Hast du das mal mit munin-run aufgerufen, um zu sehen, was passiert?
 
Also es sind:

apache_accesses
apache_volume

An denen habe ich auch nichts geändert. Gut möglich allerdings, dass sich was an den Apache.conf Dateien geändert hat.

301 ist ja irgendeine Umleitung. Das Verzeichnis wo die Haup IP läuft hat nur ne Umleitung non www zu www.

Daran kann das ja eigentlich nicht liegen.

Wie funktioniert munin-run? einfach in die Befehlszeile und dann den Plugin Namen anhängen?
 
Weitere Info dazu:

# munin-run apache_accesses --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /113/65534/113 113 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_accesses'
accesses80.value U

# munin-run apache_volume --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /113/65534/113 113 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_volume'
volume80.value U
 
Und noch weitere Informationen.

Ich habe jetzt mal folgendes eingegeben:

Code:
wget http://127.0.0.1/server-status?auto

So müsste der Output richtig aussehen:

Code:
http://127.0.0.1/server-status?auto
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 987 [text/plain]
Saving to: `server-status?auto'

100%[======================================>] 987 --.-K/s in 0s

2012-07-10 15:50:07 (137 MB/s) - `server-status?auto' saved [987/987]


Nur auf dem Server, wo das jetzt nicht mehr funktioniert sieht das so aus:

Code:
http://127.0.0.1/server-status?auto
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.meine-domain.de/server-status?auto [following]
--2012-07-10 15:46:16-- http://www.meine-domain.de/server-status?auto
Resolving www.meine-domain.de (www.meine-domain.de.de)... xx.x.xxx.xxx
Connecting to www.meine-domain.de (www.meine-domain.de)|xx.x.xxx.xxx|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2012-07-10 15:46:16 ERROR 403: Forbidden.

Also, er kommt da irgendwie mit der Umleitung in Konflikt, dabei sollte er die überhaupt nicht nutzen.

Irgend einen Vorschlag, was man da machen kann?
 
Auf Grund der 403-Meldung würde ich im Apache-Error-Log nach sowas suchen:
Code:
[error] [client 127.0.0.1] client denied by server configuration: /var/www/server-status

Sind die Rechte in /etc/apache2/httpd.conf korrekt? Bei mir funktioniert es mit:
Code:
<IfModule mod_status.c>
	ExtendedStatus On
	<Location /server-status>
		SetHandler server-status
		Order Deny,Allow
		Deny from all
		Allow from 127.0.0.1
	</Location>
</IfModule>

Kann man noch zusätzlich absichern mit
Code:
AuthType Basic
AuthUserFile /var/www/[pfad]/.htpasswd
Require user [username]

Für munin-run gibt es übrigens auch eine Manpage :)
 
Funktioniert leider nicht. Ich glaube die Werte in der .htaccess überschreiben die Anweisungen einfach :(

Funktioniert nicht bedeutet was genau? Hat sich etwas an der Fehlermeldung geändert?

Welchen Inhalt hat die .htaccess?

Nur auf dem Server, wo das jetzt nicht mehr funktioniert sieht das so aus:
Code:
 [...] HTTP request sent, awaiting response... 403 Forbidden
2012-07-10 15:46:16 ERROR 403: Forbidden.

Was steht zu diesem 403er im Error-Log?
 
Das steht im Error Log der zuständigen .Conf

[Fri Jul 13 11:50:02 2012] [error] [client "Server IP"] client denied by server configuration: /var/www/verzeichnis/server-status

Die Htaccess sieht so aus:

Code:
RewriteEngine On
#RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.meine-domain\.de$
RewriteRule ^(.*)$ http://www.meine-Domain.de/$1 [L,R=301]

RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 [L]

RewriteCond %{REQUEST_URI} !(admincp/|modcp/|vbseo_sitemap/|cron)
RewriteRule ^((archive/)?(.*\.php(/.*)?))$ vbseo.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !^(admincp|modcp|clientscript|cpstyles|images)/
RewriteRule ^(.+)$ vbseo.php [L,QSA]


Im Error Log des httpd.conf steht weiterhin:

127.0.0.1 - - [13/Jul/2012:03:55:02 +0200] "GET /server-status?auto HTTP/1.1" 301 513 "-" "libwww-perl/6.03"
127.0.0.1 - - [13/Jul/2012:03:55:02 +0200] "GET /server-status?auto HTTP/1.1" 301 513 "-" "libwww-perl/6.03"
127.0.0.1 - - [13/Jul/2012:03:55:02 +0200] "OPTIONS * HTTP/1.0" 200 136 "-" "Apache (internal dummy connection)"
localhost - - [13/Jul/2012:03:55:03 +0200] "GET / HTTP/1.1" 301 514 "-" "Wget/1.13.4 (linux-gnu)"

Das Directory ist in der zuständigen Conf und in der httpd.conf gleich.
Es ist das Verzeichnis des Hauptprojetes.

Ich würde wetten, wenn ich in der httpd.conf ein anderes Verzeichnis angeben würde als Directory, das keine Umleitung hat sondern vielleicht nur eine gewöhnliche html Datei, dann würde es wohl gehen.
 
Back
Top