Munin – Apache Prozesse Aufzeichnen

Leider ist es mit dem aktivieren vom Apache Plugin unter Munin meist noch nicht getan das munin-node entsprechende Daten vom Apache Webserver sammeln kann. Der Befehl munin-node-configure --suggest offenbart die benötigten Abhängigkeiten für das Apache Plugin um unter Munin korrekt zu laufen. Führen wir den Befehl daher mal aus und schauen was passiert:

$ munin-node-configure --suggest
Plugin                     | Used | Suggestions
------                     | ---- | -----------
apache_accesses            | yes  | [LWP::UserAgent not found]
apache_processes           | yes  | [LWP::UserAgent not found]
apache_volume              | yes  | [LWP::UserAgent not found]
...

Als Vorschlag wird uns [LWP::UserAgent not found] genannt. Da Munin in Perl geschrieben wurde liegt es nahe das LWP ebenfalls ein Perl Modul ist welches noch installiert werden muss, genauer gesagt müssen wir libwww-perl installieren. Hier mal ein Auszug aus der offiziellen Beschreibung dazu:

libwww-perl (also known as LWP) is a collection of Perl modules that provide a simple and consistent programming interface (API) to the World-Wide Web. The main focus of the library is to provide classes and functions that allow you to write WWW clients. It also contains general purpose modules, as well as a simple HTTP/1.1-compatible server implementation.

Mittels aptitude install libwww-perl ist das ganze schnell installiert und wir führen $ munin-node-configure --suggest erneut aus:

$ munin-node-configure --suggest
Plugin                     | Used | Suggestions
------                     | ---- | -----------
apache_accesses            | yes  | [ExtendedStatus option for apache mod_status is missing on port 80]
apache_processes           | yes  | [ExtendedStatus option for apache mod_status is missing on port 80]
apache_volume              | yes  | [ExtendedStatus option for apache mod_status is missing on port 80]
...

Hier wird uns vorgeschlagen im geladenen Apache Modul mod_status den ExtendedStatus Parameter zu setzen.

Eine Ausgabe der Modul Konfiguration offenbart uns das wir hier lediglich den Parameter ExtendedStatus Off auf ExtendedStatus On setzen müssen was wir auch direkt mal machen.

$ cat /etc/apache2/mods-enabled/status.conf
<ifmodule mod_status.c>
 <location /server-status>
      SetHandler server-status
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1 ::1
  </location><location></location>
  ExtendedStatus On
  </ifmodule><ifmodule mod_proxy.c>
      ProxyStatus On
  </ifmodule>

Jetzt nur noch die Konfigurationsdateien im Apache Webserver mittels service apache2 reload neu einlesen und $ munin-node-configure --suggest erneut ausführen:

$ munin-node-configure --suggest
Plugin                     | Used | Suggestions
------                     | ---- | -----------
apache_accesses            | yes  | yes
apache_processes           | yes  | yes
apache_volume              | yes  | yes
...

Geschafft, munin-node ist nun in der Lage Daten vom Apache Webserver zu sammeln und an den Master weiterzugeben. Das ganze schaut dann ungefähr so aus:

Munin – Apache Prozesse (Graphen)

Neben den vorgestellten Vorschlägen gibt es auch noch [Port 80 Forbidden] und [apache server-status not found. check if mod_status is enabled]. Ersteres kommt daher weil Munin nicht die nötigen Rechte besitzt die Status-URL http://127.0.0.1/server-status?auto aufzurufen. Zweiteres deutet daraufhin, dass das Apache Modul mod_status erst einmal aktiviert werden muss.

Das ganze fand unter Debian squeeze statt!

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
Tags:
apache