Munin
Fehlendes Makro
Das Makro „InArbeit“ konnte nicht gefunden werden.
Fehlendes Makro
Das Makro „Getestet“ konnte nicht gefunden werden.
* [1]: [:Pakete installieren: Installation von Programmen] * [2]: [:Paketquellen freischalten: Bearbeiten von Paketquellen] * [3]: [:Terminal: Ein Terminal öffnen] * [4]: [:Editor: Einen Editor öffnen]
Munin 🇬🇧 ist eine umfassende und sehr einfach zu bedienende Rechner-Überwachungssoftware. Verschiedene Informationen wie die Prozessorauslastung, Festplattenbelegung oder auch Zugriffe auf Serverdienste eines oder mehrerer Rechner werden permanent gesammelt und können über eine Weboberfläche betrachtet werden.
Munin selber ist als Master/Client-Anwendung aufgebaut. Der Master-Rechner kann den "Munin-Node" auf weiteren Rechnern im Netzwerk abfragen und so diese Informationen mit anzeigen. Munin eignet sich daher für die Überwachung eines einzigen Rechners wie auch für die Überwachung eines ganzen Rechnerparks.
Ein Beispiel einer Munin-Installation zur Überwachung eines ganzen Rechnerfuhrparks findet man hier 🇬🇧 .
Installation¶
Munin kann aus den Paketquellen installiert werden. Dazu müssen je nach Bedarf die Pakete
munin (universe, [2])
munin-node (universe)
installiert [1] werden. Je nach Einsatz sollte man nur munin bzw. munin-node installiern. munin-node sammelt nur die Daten, die dann von munin abgerufen und über einen Webserver dargestellt werden.
Bei der Installation von munin ist zu beachten, dass ein Webserver auf dem Rechner bereits eingerichtet sein sollte, damit die Informationen auch abgerufen werden können. Anschließend kann man Munin über die URL
in einem Webbrowser aufrufen.
Munin steuern¶
Wie alle anderen Dienste bringt Munin Start/Stop-Skripte mit. Diese Skripte lassen sich natürlich auch zum Kontrollieren des Dienstes gebrauchen.
# Allgemein sudo /etc/init.d/munin-node {start|stop|restart|force-reload|try-restart} # Beispiel sudo /etc/init.d/munin-node restart
"start" - Startet den Dienst
"stop" - Stoppt den Dienst
"restart" - Startet den Dienst neu, bestehende Verbindungen auf den Server werden gekappt
"force-reload" - Lädt die Konfigurationsdateien neu und beendet laufende Verbindungen
"try-restart" - Startet den Dienst nur neu, wenn er vorher nicht beendet wurde
Mehr dazu im Wiki unter Dienste.
Konfiguration¶
Munin und Munin-Node können nun getrennt voneinander eingerichtet werden. Die Konfiguration erfolgt jeweils über eine Textdatei, die mit einem beliebigen Texteditor sowie Root-Rechten bearbeitet werden kann [4].
Munin¶
Munin ruft die Informationen der einzelnen Nodes ab und stellt die gewonnen Informationen über einen Webserver dar. Die Konfiguration erfolgt über die Datei /etc/munin/munin.conf.
Hosts¶
In der Standardeinstellung wird nur der "localhost", also der eigene Rechner, von munin abgefragt.
# a simple host tree [localhost.localdomain] address 127.0.0.1 use_node_name yes
Hier kann man jedoch problemlos weiter Munin-Nodes hinzufügen. Also beispielsweise einfach
[webserver.beispiel] address 192.168.0.10 [sqlserver.beispiel] address 192.168.0.11
in die Konfigurationsdatei einfügen. Diese Rechner würden nun automatisch von Munin abgefragt werden und in die Übersichtsseite aufgenommen werden.
Munin-Node¶
Der Munin-Node sammelt Daten über das System. In der Konfigurationsdatei /etc/munin/munin-node.conf des Munin-Nodes wiederum gibt es auch nicht viel einzustellen. Die wichtigste Option ist sicherlich die Möglichkeit, dass der Node von einem anderen Munin-Client abgefragt wird. Die Standardeinstellung limitiert die Abfrage auf den "localhost". Weitere Nodes müssen so wie beispielsweise hier
# 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$ allow ^192.\.168\.0\.5$
hinzugefügt werden.
Weitere Plugins¶
Von Haus aus sind zahlreiche Plugins aktiviert. Im Verzeichnis /usr/share/munin/plugins findet man nach weitere Module, die man bei Bedarf hinzufügen kann. Prinzipiell geschieht dies durch das Setzen eines Links in das Verzeichnis /etc/munin/plugins/. Alle Plugins, die dort verlinkt sind, werden vom Munin-Node beachtet.
Autoconf-Plugins¶
Die meisten Plugins konfigurieren sich selber. Über den Befehl [3]
./<plugin> autoconf
kann man überprüfen, ob das Modul "autoconf" beherscht, also nicht konfiguriert werden muss. Ist die Antwort "yes", so kann das Modul ohne weitere Probleme aktivieren. Dazu später mehr.
Wildcard-Plugins¶
Wildcard Plugins erkennt man daran, dass sie einen Unterstrich "_" am Ende des Dateinames wie beispielsweise if_ oder sensors_tragen. Diese Plugins können mehrere Geräte überwachen und benutzen die Angabe nach dem Unterstrich als Variable. Über die Option "suggest" bekommt man Informationen zu den Möglichkeiten.
# Allgemein ./<plugin>_ suggest # Beispiel ./sensors_ suggest
fan volt temp
Plugin aktivieren¶
Wie schon gesagt müssen die Plugins aus /usr/share/munin/plugins nur in /etc/munin/plugins/ verlinkt werden, um aktiv zu sein. Dies geschieht in einem Terminal mittels den Befehl [3]
# Normales Plugin sudo ln -s /usr/share/munin/plugins/<plugin> /etc/munin/plugins/ # Wildcard-Plugin sudo ln -s /usr/share/munin/plugins/<plugin>_ /etc/munin/plugins/<plugin>_<option>
Nachdem man ein Plugin aktiviert hat, muss man den Munin-Node neu starten damit das Plugin auch berücksichtigt wird.
Beispiel 1: Hardwaredaten¶
Munin kann die Daten, die die Programme Lm sensors sowie hddtemp liefern, einbinden. Sind die Programme bei der Installation von Munin-Node bereits installiert, so wird dies meist erkannt und das Plugin aktiviert. Möchte man dies nachholen, so müssen die entsprechenden Programme installiert und dann die Plugins mittels
sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_fan sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_volt sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
aktiviert werden.
Beispiel 2: Weitere Netzwerkschnittstelle¶
In den Standardeinstellungen werden nur die Netzwerkschnittstellen "eth0" und "eth1" abgefragt. Besitzt der Rechner eine Anbindung über WLAN oder nutzt er eine Einwahlleitung in das Internet, so kann man diese über
# Allgemein sudo ln -s /usr/share/munin/plugins/if_ /etc/munin/plugins/if_<schnittstelle> sudo ln -s /usr/share/munin/plugins/if_err_ /etc/munin/plugins/if_err_<schnittstelle> # Beispiel sudo ln -s /usr/share/munin/plugins/if_ /etc/munin/plugins/if_ppp0 sudo ln -s /usr/share/munin/plugins/if_err_ /etc/munin/plugins/if_err_ppp0
überwachen lassen [3].
Beispiel 3: Statistiken des Apache Webservers¶
Auch verschiedene Serverdienste lassen sich abfragen. So z.b. auch der Webserver Apache. Dieser muss jedoch noch so konfiguriert werden, dass er Informationen über seinen Zustand bereitstellt.
Dies geschieht in der Konfigurationsdatei /etc/apache/apache2.conf. Hier müssen die Kommentare beim Modul "mod_status" entfernt und noch "ExtendedStatus On" eingetragen [4] werden, so dass diese der Abschnitt am Ende so
<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.01 </Location> </IfModule>
aussieht. Anschließend muss Apache neu gestartet werden. Nun kann man die Munin-Plugins für Apache aktivieren
sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/ sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/ sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/
und Munin zeigt die Zugriffszahlen des Apache Servers an.