RSS Feed
^__^

Server Monitoring mit Munin

,

Da ich ein Kontrollfreak bin ;) wollte ich mal meinen vServer monitoren.
Nach allem was ich so las, scheint wohl Munin das geeignete Tool zu sein.

Also aufgemacht und es installiert:
Munin ist Server-Client mäßig aufgebaut, ich installiere der Einfachkeit halber mal Server und Client (Node) auf der selben Maschine.
Für Debian Lenny geht das ganz einfach über apt-get:

apt-get install munin munin-node

So nun noch das Webinterface umlegen: ich mache dafür eine eigene Subdomain bei einem meiner vHosts über Plesk.
zB munin.nerdpress.org (nein, die url gibts in echt nicht)

jetzt muss noch das www Verzeichnis, welches Munin generiert umkopiert werden in das Subdomain Verzeichnis:

cp -r /var/www/munin/* /var/www/vhosts/nerdpress/subdomains/munin/httpdocs

Wichtig ist noch die Besitzer richtig zu setzen:

chown -R munin:munin /var/www/vhosts/nerdpress/subdomains/munin/httpdocs

Das Verzeichnis sollte man dann noch über .htaccess Passwort schützen.

Nun noch Munin beibringen das sein www Verzeichnis woanders ist, dafür muss man in die munin.conf

joe /etc/munin/munin.conf:

und folgendes ändern:

htmldir /var/www/vhosts/nerdpress.org/subdomains/munin/httpdocs

Und wenn man schonmal da ist, kann man auch direkt seinen Server registrieren:

[munin.nerdpress.org]
address 127.0.0.1
use_node_name yes

Weiter gehts mit dem Node, dieser will auch noch konfiguriert sein:

joe /etc/munin/munin-node.conf

Dort den host_name anpassen:

host_name munin.nerdpress.org

Soweit so gut. Nun sieht man aber noch nichts. Dafür muss man erstmal die Plugins, die man braucht aktivieren.
Dies geschieht durch einen symlink:

ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/memory /etc/munin/plugins/memory

Damit sind das Plugin, was den RAM monitored und das für die Apache Accesses “installiert”.

Jetzt noch den Node restarten

/etc/init.d/munin-node restart

und ein wenig warten, dann sollte man unter munin.nerdpress.org die ersten Graphen sehen.

Aber nichts funktioniert ja auf Anhieb ohne Probleme, so auch hier:
Die System Plugin Graphen für Memory, Plattenplatz und CPU funktionieren, die Apache Plugins produzieren jedoch einen leeren Graph.

Warum dies?
Mit Googles Hilfe dann ein paar Debug Schritte vorgenommen:

munin-run apache_accesses

Dies sagt: accesses80.value U

munin-node-configure --suggest | grep apache

sagt:
Got junk from apache_accesses:

Des Rätsels Lösung ist dem Apache “sprechen beibringen”, wie hier und hier beschrieben.

Also die /etc/apache2/apache2.conf editiert und folgenden Block so umgeschrieben, wichtig ist dabei das ExtendedStatus On:

<IfModule mod_status.c>
    #
    # Allow server status reports generated by mod_status,
    # with the URL of http://servername/server-status
    # Change the ".example.com" to match your domain to enable.
    #
    ExtendedStatus On
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
</IfModule>
 

Noch den Apache restarten

/etc/init.d/apache2 restart

und siehe da auch die Apache Graphen werden gefüllt.

Ich hoffe Plesk läßt die Apache Konfiguration so stehen, aber bisher siehts so aus.

Mal sehen was man damit noch alles anstellen kann.

5 Responses to “Server Monitoring mit Munin”

  1. Max Girkens says:

    yeah cool, hat direkt funktioniert :)

    bedankt!

    Hab halt nur die conf von der subdomain angepasst,
    statt den kram zu kopieren.

  2. Max Girkens says:

    nettes Theme noch dafür:
    http://munin-monitoring.org/wiki/Munin_Template_nodeview_javascript

    bei mir gings erst nach:

    mv some.2.js some.js
    mv style.css style.css
    

    dann alles nach

    /usr/share/munin/templates
    

    und die style.css und some.js auch nochmal nach

    /var/www/munin
    

    ich weiss nichts ob es nötig ist, aber ich hab auch nochmal munin-node neu gestartet

    /etc/init.d/munin-node restart
    
  3. Max Girkens says:

    auch nützliches plugin: port_
    kann die Connections von beliebigen Services zählen.

    zum Beispiel von www

    ln -s /usr/share/munin/plugins/port_ /etc/munin/plugins/port_www
    
  4. NSA says:

    Leider hat das mit dem Theme nicht funktioniert. Die Seite wird dann nicht mehr richtig aufgebaut. Kann es sein, dass das Theme zu alt ist, um noch mit neueren Munin Versionen zu funktionieren, oder iegt es ggf. daran, dass ich die Fast-CGI Methode verwende?

  5. NSA says:
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/munin-domainview.2.tmpl   /usr/local/etc/munin/templates/munin-domainview.tmpl
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/munin-nodeview.2.tmpl     /usr/local/etc/munin/templates/munin-nodeview.tmpl
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/munin-overview.tmpl       /usr/local/etc/munin/templates/munin-overview.tmpl
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/munin-serviceview.tmpl    /usr/local/etc/munin/templates/munin-serviceview.tmpl
    
    # style.css - copy to templates and www directory 
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/style.2.css     /usr/local/etc/munin/templates/style.css
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/style.2.css     ${vHost_DOC_ROOT}/sites/munin/static/style.css
    chmod 644                                                         ${vHost_DOC_ROOT}/sites/munin/static/style.css
    chown munin:munin                                                 ${vHost_DOC_ROOT}/sites/munin/static/style.css
    
    # some.js - copy to templates and www directory
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/some.2.js       /usr/local/etc/munin/templates/some.js
    cp $PREFIX/Components/*_Munin/Nodeview-JavaScript/some.2.js       ${vHost_DOC_ROOT}/sites/munin/static/some.js
    chmod 644                                                         ${vHost_DOC_ROOT}/sites/munin/static/some.js
    chown munin:munin                                                 ${vHost_DOC_ROOT}/sites/munin/static/some.js
    
    
    
    chmod -R 0755       /usr/local/etc/munin/templates
    chmod    0644       /usr/local/etc/munin/templates/*
    chmod    0755       /usr/local/etc/munin/templates/partial
    chmod    0644       /usr/local/etc/munin/templates/partial/*
    chown -R root:wheel /usr/local/etc/munin/templates
    

Leave a Reply