Zum Inhalt

Munin: Eigene Plugins entwickeln

Munin ist eine Monitoring-Lösung, mit der diverse Dienste und Informationen eines Server ausgelesen werden können. Es gibt aber auch Fälle, für die es keine Plugins im Netz gibt. Dann muss man sich die Plugins selbst schreiben. ### Ein Komplettbeispiel

Folgendes PHP-Skript liest eine Datei aus, in der die durchschnittliche Bewertung für den Distrochooser enthalten ist. Man kann ein Plugin prinzipiell in allen Sprachen schreiben, solange die Ausgaben für die Konfiguration (Parameter config) und die eigentliche Werte (ohne Parameter) erfolgen.

!/usr/bin/php

if(count($argv) == 2 && $argv == 'config') {
     echo "graph_title Distrochooser: Bewertung (Durchschnitt)\n";
     echo "graph_vlabel Bewertung\n";
     echo "graph_category Projekte\n";
     echo "rating.label Bewertung\n";
     echo "rating.type GAUGE\n";
     exit();
}
$hits = file_get_contents("/tmp/ldc_rating");
echo "rating.value $hits\n";

Der Parameter „config“

Munin muss wissen, wie die Graphen gezeichnet werden müssen. Hierfür wird das Plugin mit dem Parameter „config“ aufgerufen. Das eigene Plugin muss somit auch den Parameter config bearbeiten können. Fehlt dieser Parameter, wird das Plugin nicht dargestellt. Es müssen folgende Ausgaben erfolgen, die das Plugin für Munin beschreiben. Ganz wichtig: Pro Ausgabe eine Zeile.

AusgabeBeschreibung
graph_titleBeschreibung des Diagramms
graph_vlabelVertikaler Text am Rand (Beschreibung Y-Achse)
graph_categoryKategorie des Plugins
datenreihe.labelBeschreibung des Graphs „datenreihe“ (Name beliebig)
datenreihe.typeEntweder GAUGE oder COUNTER. In den meisten Fällen ist Gauge ausreichend

Pro Datenreihe (wenn man z. b. mehrere Graphen erstellen will) muss man sowohl datenreihe.label als auch datenreihe.type angeben, damit Munin weiß, wie das Plugin bzw. deren Datenreihen darzustellen sind. Wird das Plugin nun mit dem Parameter config ausgeführt, so sollte die Ausgabe wie folgt aussehen:
user@machine $ php /usr/share/munin/plugins/distrochooser_rating config
graph_title Distrochooser: Bewertung (Durchschnitt)
graph_vlabel Bewertung
graph_category Projekte
rating.label Bewertung
rating.type GAUGE

Wird das Plugin ohne den Parameter config ausgeführt, so wird nur der Wert der Datenreihe(n) ausgegeben, z. B. also
rating.Value 3,96

Das Plugin aktivieren

In /usr/share/munin/plugins liegen alle verfügbaren Plugins. Um ein Plugin zu aktivieren, muss ein Link nach /etc/munin/plugins erstellt werden. Es ist zu empfehlen, die selbst geschriebenen Plugins auch dort abzulegen.

sudo ln -s /usr/share/munin/plugins/pluginname /etc/munin/plugins/pluginname

Anschließend muss man Munin-node neu starten. Das geht je nach Distribution z. B. über `systemctl restart munin-Node` oder `service munin-node restart`. ### Funktioniert immer noch nicht?

In den Munin-HIlfeseiten gibt es [ein weiterführendes Tutorial](http://munin-monitoring.org/wiki/HowToWritePlugins) zum Schreiben von Plugins. Ebenfalls sollte man die Zugriffsrechte überprüfen und in den Munin-Logfiles nach Fehlermeldungen suchen, falls das Plugin nicht angezeigt wird. Gewöhnlich wird das Plugin erst nach der nächsten Generierung angezeigt! – – – – – –

_Bild: https://stocksnap.io/photo/DUAHA1V312_

Published inLinuxProgrammierenServer

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.