BitTorrent: Transmission mit Munin überwachen

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

Zu diesem Thema gibt es schon viele Blogeinträge, aber niemand beschreibt es von Grund auf. Deswegen hole ich das hier nach.

Vorbereitungen

Damit das Plugin für Munin logischerweise läuft muss erstmal Transmission installiert und angepasst werden. Hier ein Schnelldurchlauf.

Installation von Transmission

Man verwende den Paketmanager des Systems. In meinem Fall ist das ein Debian 7 System mit apt.

apt-get install transmission-daemon

Nachdem dieser Befehl durch ist muss man den Service konfigurieren. Da Transmission die Konfigurationsdatei beim Herunterfahren überschreibt muss Transmission erst heruntergefahren werden bevor wir Änderungen wirksam gespeichert werden.

service transmission-daemon stop

Nun kann man die Konfigurationsdatei wirksam ändern. Einfach die Datei (Platziert in: /etc/transmission-daemon/settings.json) mit seinem Lieblingseditor öffnen und folgende Änderungen vornehmen und merken:

Variable Wert
rpc-enabled true
rpc-password Das gewünschte Passwort
rpc-port Der gewünschte Port
rpc-username Änern falls gewünscht
rpc-whitelist false

Hinweise:

Nachdem die Einstellungen gespeichert sind muss man nur noch Transmission wieder starten.

service transmission-daemon start

Alles klar soweit. Die Kurzinstallation ist vorrüber. Nun kommt der eigentliche Inhalt um den es hier geht: Das Monitoring des Dienstes.

Abhängigkeiten des Plugins

Damit man später direkt loslegen kann kommt hier der Teil, der mich sehr lange frustriert hat. Damit das Plugin sich per RPC auch mit Transmission verbinden kann muss ein weiteres Paket heruntergeladen, dass in der Standardinstallation nicht installiert ist.

apt-get install libjson-rpc-perl

Ich traue mich wetten, dass es immer nur an diesem Paket liegt, wenn das Plugin „Bad exit“ zurückliefert.

Herunterladen des Plugins

Das Plugin kommt von Splitfeed.net und kann über GitHub heruntergeladen werden. Vor dem herunterladen wechselt man am besten in das Munin Pluginverzeichnis unter /usr/share/munin/plugins:

cd /usr/share/munin/plugins

Nun kann man sich die benötigte Version direkt auf den Server herunterladen.

wget https://github.com/splitfeed/munin-plugins/blob/master/transmission/transmission_

Damit Munin das Plugin auch noch einbindet, muss ein Link zu dieser Datei hergestellt werden. Bei Windows kann man es mit einer Verknüpfung vergleichen. Das Plugin ist ein sogenanntes Wildcard Plugin. Es besitzt insgesamt zwei Modi, die jeweils was anderes anzeigen.

Status Modus

In diesem Modus wird ein Graph generiert, der für jeden Torrent den Status anzeigt, also ob er gestoppt ist, gerade sender, wartet oder downloaded.

Traffic Modus

Hier wird angezeigt wie viel Traffic durch Transmission generiert wird. Dieser ist im Normalfall auch das Interessanteste.

Linken des Plugins

Das heruntergeladene Wildcard-Plugin kann also nun den Status- und den Traffic-Modus. Je nachem was angezeigt werden soll muss man das Plugin dementsprechend linken.

Status Modus:  ln -s /usr/share/munin/plugins/transmission_ /etc/munin/plugins/transmission_status
Traffic Modus: ln -s /usr/share/munin/plugins/transmission_ /etc/munin/plugins/transmission_traffic

Hierzu wieder ein Hinweis: Man kann ein uns das selbe Plugin mehrmals linken. Je nachdem was man nach dem „_“ anhängt wird der Modus definiert. So funktionieren alle Plugins. Ein weiteres gutes Beispiel wäre das Plugin „if_“, dass man mit dem Anhängsel mitteilt, welche Schnittstelle es überwachen soll. In meinem Fall ist das eth0 und somit _ifeth0 .

Das Plugin weiter konfigurieren

Dieser Abschnitt ist optional, wenn man in den Einstellungen von Transmission keinerlei Änderungen vorgenommen hat. Sollte man das getan haben muss man in der Datei /etc/munin/plugin-conf.d/munin-node eine Gruppe für das Plugin anlegen und die Variablen setzen:

<strong>[transmission_*]
env.username <dein Benutzerame>
env.password <dein Passwort>
env.host <dein Host, falls Transmission nicht auf localhost läuft>
env.port <dein Port></strong>

Speichern und dann kommt das wichtigste!

Munin-node neustarten

Damit alle Änderungen übernommen werden ist es nötig den Node neuzustarten.

service munin-node restart

Nun müsste alles laufen. Nach 10 Minuten sieht man das Ergebnis.


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