Munin System & Netzwerkmonitoring
Munin ist ein freies Werkzeug unter (GPL) Lizenz zur Überwachung von Rechnerleistung und Netzwerke, System übergreifend in Perl geschrieben. Die Ausgabe wird mit Hilfe des RRDtools über einen Webserver graphisch dargestellt.
Munin ist als Master / Node Anwendung aufgebaut, in dem der Master die Daten der Nodes (dies können verschiedene Hosts in einem Netzwerk sein) einsammelt. Dabei können Grenzwerte definiert und Warnungen via Email oder Skripte ausgeführt werden.
Munin kann von der Projektseite heruntergeladen werden, ist jedoch auch in den Quellen von vielen Linux Distibutionen entalten.
Munin installieren
Vor der Installation von Munin muss ein Webserver und der cron Daemon installiert sein. In diesem Beispiel wird Munin auf ein Debian System aus den Quellen installiert.
Programmpakete:
- munin (Basispaket)
- munin-node (Munin Nodes)
Plugins:
- munin-plugins-core (Offizielle Plugins für Munin Node)
- munin-plugins-extra (Nichtunterstützte Plugins für Munin)
- groonga-munin-plugins (Munin Node Plugins für Groonga)
- munin-plugins-c (in C umgeschriebene Plugins für Munin)
- munin-plugins-java (Munin Java Plugins)
- munin-plugins-openstack (Plugins für OpenStack basierende Systeme)
root@home:~# apt-get install munin munin-node munin-plugins-core munin-plugins-extra
Syntax:
- /etc/init.d/munin-node [start|stop|restart|force-reload|try-restart]
- service munin-node [start|stop|restart|force-reload|try-restart]
Nach der Installation und Dienststart kann die Ausgabe von Munin unter der Adresse „http://<servername-ip>/munin/“ aufgerufen werden. Es werden dann Graphen der Konfigurierten Nodes in (Tag, Woche, Monat, Jahr) dargestellt.
Beispielgraph: eth0
Munin einrichten
Die Programmdateien und Plugins befinden sich bei einer Installation aus den Debian Quellen im Verzeichnis „/usr/share/munin“, die Konfigurationsdateien im Verzeichnis „/etc/munin“.
Dateiübersicht:
root@home:/usr/share/munin# ls munin-datafile2storable munin-graph munin-html munin-limits munin-storable2datafile munin-update plugins
root@home:/etc/munin# ls apache.conf munin.conf munin-conf.d munin-node.conf plugin-conf.d plugins static templates
In der Konfigurationsdatei „/etc/munin/munin.conf“ sollten folgende Einstellungen vorgenommen werden.
dbdir /var/lib/munin htmldir /srv/www/munin/ logdir /var/log/munin rundir /var/run/munin
In diesen Variablen wird definiert wo sich die Munin Datenbank, HTML Ausgabe und Lock/Pid Dateien befinden.
In folgenden Zeilen werden die zu überwachenden Hosts (Nodes) eingetragen.
# a simple host tree [hostname.example.com] address 127.0.0.1 use_node_name yes # [fii.foo.com] # address foo # # [fay.foo.com] # address fay
In der Datei „/etc/munin/munin.conf“ können eine Menge weiterer Einstellungen, wie die Maximale Größe der Graphen oder Ausgabe Templates u.v.m. eingestellt werden.
Um die Hosts / Nodes einzurichten, muss die Datei „/etc/munin/munin-node.conf“ auf allen zu überwachenden Hosts eingerichtet werden, wie z.B. Loglevel, Ports und an welchen Host der Dienst „munin-node“ gebunden werden soll.
... log_level 4 log_file /var/log/munin/munin-node.log pid_file /var/run/munin/munin-node.pid ... user root group root ... host 127.0.0.1 ... port 4949 ...
Die Datei „/etc/munin/apache.conf“ ist die VirtualHost Datei für die Webserverausgabe und über einen symbolischen Link in der Datei „/etc/apache2/conf.d“ (,nur bis Server Version: Apache/2.2.x) verknüpft.
root@host:/etc/apache2/conf.d# l munin -> ../../munin/apache.conf
In der Datei „/etc/munin/apache.conf“ wird dann das Webverzeichnis von Munin und CGI basierende Templates oder Plugins konfiguriert. Siehe auch Apache Webserver.
Möchte man die Munin Ausgabe im Webserver nur im lokalen Netzwerk ausgeben, kann die Datei „/etc/munin/apache.conf“ wie folgt angepasst werden.
Alias /munin /srv/www/munin ... <Directory /srv/www/munin> Order deny,allow Deny from ALL Allow from localhost 127.0.0.0/8 ::1 Allow from 192.168.178 Options None ... ... </Directory>
In Allow from 192.168.178 muss die eigene Lokale Netzwerkadresse eingetragen und der Webserver neu gestartet werden.
Munin Plugins
Installiert man unter Debian die Pakete „munin-plugins-core“ und / oder „munin-plugins-extra“, gibt Munin schon eine Anzahl von Graphen über das System aus. Weitere Plugins von Munin oder Drittanbieter kann man auf der Munin Seite Munin-Plugins herunterladen oder auch selbst schreiben. Bei einer Debian Installation sind die Plugins im Verzeichnis „/usr/share/munin/plugins“ abgelegt.
Aktiviert werden die gewünschten Plugins über Symbolische Links im Verzeichnis „/etc/munin/plugins“. Das heist, im Verzeichnis „/usr/share/munin/plugins“ befinden sich die Plugins, wie z.B. „netstat“, „fail2ban“, „diskstats“ und Plugins wie „if_“, „df_“, „port_“.
Die Plugins, die mit *_ enden, benötigen bei der Aktivierung noch einen Parameter, wie z.B. if_eth0 oder port_80.
Beispiele:
root@host:/etc/munin/plugins# ln -s /usr/share/munin/plugins/netstat netstat
root@host:/etc/munin/plugins# ln -s /usr/share/munin/plugins/port_ port_80
Die Konfigurationsdateien für die Plugins werden im Verzeichnis „/etc/munin/plugin-conf.d“ erstellt. Eine Beschreibung für die Konfiguration befindet sich meist in der Quelldatei des Plugins im Verzeichnis „/usr/share/munin/plugins“.
Bei einer Debian Installation ist in „/etc/munin/plugin-conf.d“ schon die Konfigurationsdatei „munin-node“ enthalten und kann angepasst werden.
... [munin_stats] user munin group munin [fail2ban] user root [df*] env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs env.warning 92 env.critical 98 [if_*] user root ...
Beispielauszüge aus der Datei „/etc/munin/plugin-conf.d/munin-node“
Nach dem aktivieren der Plugins noch den Munin Dienst neustarten oder neuladen. Beim Aufruf im Webbrowser werden die Graphen dann Standardmäßig alle 5 - 10 min. aktualisiert.
Cloud