Munin: Alle/Einzelne Graphen löschen

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Wieder ein Thema, das man im Internet nirgendwo findet. Deshalb hier die Lösung:

Alle Graphen löschen

Das ist ein einzeiliger Befehl. Man muss einfach nur auf dem Server, der die Graphen generiert, den Ordner von Munin im lib-Verzeichnis löschen.

Hinweis: Es kann auch ein anderer Ordner sein. Es handelt sich hierbei um den Standardpfad, der normalerweise nicht geändert wird. Wieso auch. Den „richtigen“ Pfad kann man aus seiner Munin Konfiguration herauslesen. Diese ist zu finden unter /etc/munin/munin.conf. Es ist der Pfad hinter dbdir.

muninDBDir

Und der Befehl zum Löschen des Verzeichnises ist folgender:

rm -rf <dbdir>

Also in meinem Fall

rm -rf /var/lib/munin

Einzelne Graphen zu löschen ist schon etwas schwieriger!

Einzelne Graphen löschen

Ich habe mir ein Plugin für iptables geschrieben. Es generiert für jeden Chain einen Graphen, der die Anzahl hinterlegter Regeln anzeigt.

Während der Entwicklung musste ich was ändern, jedoch änderte sich das Bild (also die Namen der Graphen) nach einer Stunde immer noch nicht. Deswegen wollte ich alle gesammelte Daten löschen, damit die nächste Graphengenerierung quasi von vorne anfängt, ohne gleich alle anderen Graphen zu verlieren.

Da es hier von Server zu Server unterschiedlich ist poste ich hier keinen Befehl, sondern die Herangehensweise.

Löschen der Rohdaten

Zuerst löscht man alle Dateien, die Munin angelegt hat. Dazu wechselt man in das Speicherverzeichnis. Wie man das findet ist im obigen Bild beschrieben.

Dazu wechselt man in das DB Verzeichnis.

cd /var/lib/munin

In diesem Verzeichnis gibt es einen oder mehrere Ordner. Für jede Gruppe einen.

muninDatenverzeichnis

Hier bei mir heißt die Gruppe veloc1ty.de. Nun einfach hineinwechseln.

cd veloc1ty.de

Listet man das Verzeichnis aus findet man viele Dateien.

ls -1
[Beispielausgabe][1]
Beispielausgabe
Das Muster ist ziemlich einfach. Ich muss es also nicht erklären. Will ich nun nur nur die memory-Dateien löschen filtere ich diese mit _grep_ heraus.
ls -1 | grep "memory"

Überprüft man die Ausgabe und findet man nur die Dateien, die wirklich gelöscht werden sollen, kann man die Ausgabe in den rm Befehl pipen.

ls -1 | grep "memory" | xargs -i rm -f {}

Wie dieser Befehl funktioniert: xargs -i bewirkt, dass die gepipte Ausgabe (zeilenweise) in den Platzhalter {} eingefügt wird. Ein ziemlich nützlicher Befehl. Kann man an vielen Stellen brauchen.

Bilder löschen

Manchmal will man auch die Bilder löschen. Diese zu finde ist auch nicht sehr schwer. Allerdings gibt es auch hierzu kein einzeiligen Befehl. Hier wieder die Herangehensweise.

Auf der Munin Seite im Browser (nicht die offizielle Homepage) sucht man sich das Bild heraus, dass gelöscht werden soll. Über das Kontextmenü (vom Bild) wählt man Grafik anzeigen aus. Danach weise man, wie die Datei heißt. Zum Beispiel _ifeth0-day.png.

Nun wechselt man in das WWW-Verzeichnis von Munin (da wo die HTML und Bilddateien liegen). Es ist ziemlich wahrscheinlich, dass dieser Ordner geändert wurde. Diesen herauszufinden wird im ersten Teil dieses Posts beschrieben.

Es handelt sich dabei um htmldir. Nun wechselt man hinein.

Mit dem bekannten Befehl listet man alles auf.

ls -1
Beispielausgabe
Beispielausgabe
Hier findet man wieder einen Order, der der Gruppe entspricht. In das wechselt man hinein:
cd veloc1ty.de

Hier findet man wieder Ordner mit den Namen der einzelnen Nodes dieser Gruppe. Man wechselt in den entsprechenden Node.

cd svr1.veloc1ty.de

Jetzt ist am im Ziel angekommen. Bei der Auslistung findet man mehrere Bilddateien. Mit grep filtert man die nötigen Dateien aus.

ls -1 | grep "<pluginname>"

sollte dann durch das „fehlerhafte“ Plugin ersetzt werden. Stimmt die Ausgabe kann man diese in den rm Befehl pipen.

ls -1 | grep "if_eth0" | xargs -i rm -f {}

Beim nächste Lauf wird das Bild neu erzeugt. Alles andere sollte beim richtigen Vorgehen noch da sein.

Changelog

Datum Grund der Änderung
21.07.2013 Veröffentlicht

Du hast einen Kommentar, einen Wunsch oder eine Verbeserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück