• Teilen
  • Bookmark "Munin" auf del.icio.us
  • Bookmark "Munin" auf Digg
  • Bookmark "Munin" auf Reddit
  • Bookmark "Munin" auf StumbleUpon
  • Bookmark "Munin" auf Facebook
  • Bookmark "Munin" auf Twitter
  • Bookmark "Munin" auf Slashdot

Munin

Munin ist ein Monitoring-Tool, mit dem man mehrere Server und Rechner überwachen kann. Die Einsatzszenarien sind vielseitig: von der Rechnerparküberwachung bis zur Überwachung eines einzelnen Rechners. Munin ist als Server-/Client Anwendung aufgebaut und generiert unter anderem solche Graphen (siehe rechts), die bequem über den Webserver des Servers zu erreichen sind. Dieser Wikibeitrag beschäftigt sich mit der Einrichtung und Konfiguration von Munin. Außerdem wird auf Plugins und eine vernünftige Anbindung an Apache eingegangen.

Softwarevoraussetzungen: Paketverwaltung | Texteditor | Apache
Schwierigkeitsgrad: Mittel
Ausgetestet mit folgenden Betriebssystemen: Ubuntu (Jaunty, Karmic, Lucid, Lucid++) | Debian (Lenny, Squeeze) | teilweise auch andere Distributionen

Achtung! sudo: In dieser Anleitung verdeutlicht der Befehl sudo, dass die folgende Codezeile mit Root-Rechten ausgeführt werden muss. In normalen Ubuntu Installationen (Root-/VServer siehe Debian) kann dies durch den Befehl sudo erreicht werden.
Bei Debian wird bei der Installation ein Passwort für den Root-Benutzer festgelegt, so kann man sich entweder direkt als Root oder als „normaler“ Benutzer mit Eingabe von su als Root einloggen (Root-Passwort benötigt) → sudo bleibt dann überflüssig!

Installation

Es werden je nach Einsatzgebiet wird nur die Pakete munin/munin-node oder beide benötigt. Munin bereitet die Daten von den Munin-Nodes auf. Vereinfacht stellt Munin-Node nur die Daten über den zu überwachenden Rechner zusammen. Diese werden in einem bestimmten Zeitintervall von Munin abgeholt. Es wird immer ein Munin im Netzwerk benötigt, dieser kann dann aber von beliebig viele Munin-Nodes Daten abholen.
Hier wird davon ausgegangen, dass Munin und Munin-Node auf dem gleichen Rechner liegen, also benötigen wir beide Pakete:

user@server:~$ sudo apt-get install munin munin-node

Konfiguration

Munin

Munin stellt den Server dar und ruft die einzelnen Daten der Nodes (Clients) ab. Konfiguriert wird Munin über die /etc/munin/munin.conf, also öffnen wir diese und konfigurieren den Server:

user@server:~$ sudo nano /etc/munin/munin.conf

Verzeichnisse

Verzeichnisse können in diesem Abschnitt geändert werden, können aber auf den Standarteinstellungen belassen werden:

# The next three variables specifies where the location of the RRD
# databases, the HTML output, and the logs, severally.  They all
# must be writable by the user running munin-cron.
# dbdir /var/lib/munin
# htmldir /var/cache/munin/www
# logdir /var/log/munin
# rundir  /var/run/munin

Clients (Nodes)

Clients (Nodes), die abgefragt werden sollen, werden in dieser Syntax angegeben:

# a simple host tree
[Name]
address IP_des_Nodes
use_node_name yes
Beispiel

Also wenn Munin und -Node auf dem selben Rechner liegen:

[Rechenername]
address 127.0.0.1
use_node_name yes  

Munin-Node

Die Nodes stellen die Daten für den Server (Munin) bereit und werden über die /etc/munin/munin-node.conf konfiguriert, also öffnen wir diese wieder mittels:

user@server:~$ sudo nano /etc/munin/munin-node.conf

Munin (Server) erlauben

Hier erlaubt man bestimmten Munins die Daten abzurufen:

# A list of addresses that are allowed to connect.  This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation.  You may repeat
# the allow line as many times as you'd like

allow ^127\.0\.0\.1$

in den Standarteinstellungen (allow ^127\.0\.0\.1$) wird nur dem localhost (wenn auf dem selben Rechner Munin Server und Node liegen) erlaubt die Daten abzurufen, wenn wir also zum Beispiel dem Munin-Server mit der IP 192.168.4.10 das Abrufen der Daten erlauben wollen sieht das dann so aus:

allow ^192\.168\.4\.10$

Plugins

Die Munin-Nodes können noch weitere Daten zur Verfügung stellen, das Ganze wird durch Plugins ermöglicht. Dazu muss man Links von /usr/share/munin/plugins/ nach /etc/munin/plugins setzen.

sudo ln -s /usr/share/munin/plugins/PLUGIN /etc/munin/plugins/  #PLUGIN durch den Namen des Plugins ersetzen


Einiges Beispiele:

user@server:~$ sudo ln -s /usr/share/munin/plugins/nfsd /etc/munin/plugins/             #NFS Server überwachen
user@server:~$ sudo ln -s /usr/share/munin/plugins/nfs_client /etc/munin/plugins/       #NFS Client überwachen
user@server:~$ sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins/         #Fail2ban Bans anschauen
user@server:~$ sudo ln -s /usr/share/munin/plugins/tcp /etc/munin/plugins/              #Verbindungen über tcp betrachten
user@server:~$ sudo ln -s /usr/share/munin/plugins/netstat /etc/munin/plugins/          #angenommen, geschlossene,... Verbindungen


Wildcard Plugins:
Wildcards Plugins enden immer mit _ , diese verlinkt man ganz normal, nur das man dem Link hinter dem _ noch einen Wert mit gibt.
Beispiel mit Netzwerkkarten:

user@server:~$ sudo ln -s /usr/share/munin/plugins/if_  /etc/munin/plugins/if_eth0        #Netzwerkschnittstelle eth0 wird überwacht
user@server:~$ sudo ln -s /usr/share/munin/plugins/if_  /etc/munin/plugins/if_eth1        #Netzwerkschnittstelle eth1 wird überwacht


Weitere Plugins:
Natürlich gibt es noch weiter Plugins, diese liegen in /usr/share/munin/plugins/, um Infos über Plugins zu bekommen geht man so vor:

user@server:~$ ls /usr/share/munin/plugins/              #Übersicht über alle Plugins
user@server:~$ cat /usr/share/munin/plugins/PLUGIN       #"Bedienungsanleitung" des Plugins durchlesen; PLUGIN durch den Namen des Plugins ersetzen


Plugins selber schreiben:
→ siehe Munin Plugins: Links & Kurzanleitung

Munin/-Node neustarten

Es müssen nach Änderung nur die Node Software neu gestartet werden:

user@server:~$ sudo /etc/init.d/munin-node restart

Zugriff auf die Graphen

Munin lässt standardmäßig nur Verbindungen von loacalhost (127.0.0.1) auf die Graphen zu, die über Apache oder andere Webserver angezeigt werden. Zu erreichen sind diese über http://ip_des_servers/munin, aber um andere Rechner darauf zurückgreifen zu lassen, muss noch die Munin Konfig für Apache verändert werden.

Konfiguration

Dazu öffnen wir die Datei /etc/apache2/conf.d/munin:

user@server:~$ sudo nano /etc/apache2/conf.d/munin


Nun hat man folgende Möglichkeiten:

Standard

Diese sieht normalerweise etwa so aus (Teile weggelassen):

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Order allow,deny
        Allow from localhost 127.0.0.0/8 ::1
        Options None

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>

Dieses lässt nur Zugriff von localhost (selber Rechner wie Munin-Software) zu und muss geändert werden

jeder hat Zugriff

Um nun jedem, der eine Verbindung zum Server aufbauen kann, Zugriff zu den Graphen zu gewähren muss die Datei so aussehen:

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        #Order allow,deny
        #Allow from localhost 127.0.0.0/8 ::1
        Options None

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>

nur bestimmte IP-Adressen

Um nur bestimmten IP-Adressen Zugang zu gewähren, muss das Ganze so aussehen (Kommentar beachten):

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Order allow,deny
        Allow from localhost 127.0.0.0/8 ::1    #lokaler Rechner darf zrückgreifen
        Allow from 192.168.1.4                  #192.168.1.4 darf zurückgreifen
        Allow from 102.168.1.0/255.255.255.0    #ganzes Subnet darf zurückgreifen
        Options None

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>

Authentifizierung über Passwort

Um eine Authentifizierung über Passwort zu erzwingen, muss die Datei so verändert werden:

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Options None
        
         AuthUserFile /etc/munin/munin-htpasswd
         AuthName "Munin"
         AuthType Basic
         require valid-user


    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>

Dazu muss noch die Passwortdatei erstellt werden:

user@server:~$ sudo htpasswd -c /etc/munin/munin-htpasswd munin
user@server:~$ sudo chown root:www-data /etc/apache2/passwords
user@server:~$ sudo chmod 640 /etc/apache2/passwords
 
#weitere Benutzer hinzufügen:
user@server:~$ sudo htpasswd /etc/munin/munin-htpasswd user2    #hier wird user2 hinzugefügt

Anschließend wird nach einem Passwort gefragt.
→Nun kann man sich, wenn nach einem Passwort gefragt wird mit dem eingegebenen Passwort und dem Benutzer munin einloggen

Zugriff

Der Zugriff geschieht nun, nach einem Neustart von Apache:

user@server:~$ sudo /etc/init.d/apache2 restart

wie bereits erwähnt über:

http://server/munin    #server durch die Server IP-Adresse ersetzten



chrisge 2011/07/28 19:04

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
 
  • Teilen
  • Bookmark "Munin" auf del.icio.us
  • Bookmark "Munin" auf Digg
  • Bookmark "Munin" auf Reddit
  • Bookmark "Munin" auf StumbleUpon
  • Bookmark "Munin" auf Facebook
  • Bookmark "Munin" auf Twitter
  • Bookmark "Munin" auf Slashdot
Sonstiges
Drucken/exportieren
Archiv

Archivierter Inhalt der alten Seite