diff --git a/plugins/network/transmission/transmission b/plugins/network/transmission/transmission deleted file mode 100755 index 2f53d276..00000000 --- a/plugins/network/transmission/transmission +++ /dev/null @@ -1,199 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -: << =cut - -=head1 NAME - -transmission - Munin plugin to monitor Transmission bittorrent daemon - -=head1 DESCRIPTION - -This plugin implements the multigraph protocol and provides the following graphs - transmission_throughput - monitor traffic volumes of Transmission torrents - transmission_activity - plugin to monitor traffic speed of Transmission torrents - -This plugin requires python and the transmissionrpc python module. -See http://pypi.python.org/pypi/transmissionrpc/ - -=head1 CONFIGURATION - - [transmission] - env.host 10.0.0.1 - env.port 9093 - env.user transmission - env.pass secret - - [transmission_*] - env.host 10.0.0.1 - env.port 9093 - env.user transmission - env.pass secret - - -=head1 AUTHOR - -Thomas Léveil - -=head1 LICENSE - -Permission to use, copy, and modify this software with or without fee -is hereby granted, provided that this entire notice is included in -all source code copies of any software which is or includes a copy or -modification of this software. - -THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR -IMPLIED WARRANTY. IN PARTICULAR, NONE OF THE AUTHORS MAKES ANY -REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE -MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR -PURPOSE. - -=head1 CONTRIBUTE - -find this plugin on github at http://github.com/VolatileMesh/munin-plugins - -=head1 MAGIC MARKERS - - #%# family=auto contrib - #%# capabilities=autoconf - -=head1 VERSION - - 1.1 - -=head1 CHANGELOG - -=head2 1.0 - 2010/11/12 - - first release - -=head2 1.1 - 2011/05/29 - - fix transmission error handling - -=cut -""" -__version__ = '1.1' - - -import os -import sys -from string import Template - -plugin_name = list(os.path.split(sys.argv[0]))[1] -host = os.getenv('host', 'localhost') -port = os.getenv('port', 9091) -user = os.getenv('user') -passwd = os.getenv('pass') -title_host = '' if host in ['localhost', '127.0.0.1', '::1'] else ' on ' + host - - -def config(): - conf = Template("""multigraph ${plugin_name}_throughput -graph_title Transmission throughput${title_host} -graph_vlabel bytes/${graph_period} in (-) / out (+) -graph_args --base 1000 -graph_category network -graph_info This graph shows the throughput for Transmission torrents on ${host} -down.label throughput -down.type COUNTER -down.draw AREA -down.min 0 -down.graph no -up.label Bps -up.negative down -up.type COUNTER -up.draw AREA -up.min 0 - -multigraph ${plugin_name}_activity -graph_title Transmission activity${title_host} -graph_vlabel torrents -graph_args --base 1000 -graph_category network -graph_info This graph shows the number of Transmission torrents on ${host} -active.label active -active.draw AREA -active.min 0 -active.colour COLOUR0 -paused.label paused -paused.draw STACK -paused.min 0 -paused.colour COLOUR8 -""") - print(conf.safe_substitute(plugin_name=plugin_name, host=host, title_host=title_host)) - sys.exit(0) - - -def autoconf(): - try: - import transmissionrpc - print('yes') - except ImportError: - print('no python module \'transmissionrpc\' missing') - - -def fetch(): - import transmissionrpc - - try: - client = transmissionrpc.Client(host, port=port, user=user, password=passwd) - except transmissionrpc.TransmissionError as err: - print(err) - sys.exit(1) - - stats = client.session_stats(10) - print_values_throughput(stats) - print_values_activity(stats) - - -def print_values_activity(stats): - print("multigraph {plugin_name}_activity".format(plugin_name=plugin_name)) - try: - print("active.value %s" % stats.activeTorrentCount) - except: - print("active.value U") - - try: - print("paused.value %s" % stats.pausedTorrentCount) - except: - print("paused.value U") - - -def print_values_throughput(stats): - print("multigraph {plugin_name}_throughput".format(plugin_name=plugin_name)) - try: - print("down.value %s" % stats.cumulative_stats['downloadedBytes']) - except: - print("down.value U") - - try: - print("up.value %s" % stats.cumulative_stats['uploadedBytes']) - except: - print("up.value U") - - -def dumpstats(): - import transmissionrpc - try: - client = transmissionrpc.Client(host, port=port, user=user, password=passwd) - except transmissionrpc.transmission.TransmissionError as err: - print(err) - sys.exit(1) - stats = client.session_stats(10) - print(stats) - - -if __name__ == '__main__': - if len(sys.argv) > 1 : - if sys.argv[1] == "dumpstats" : - dumpstats() - elif sys.argv[1] == "config" : - config() - elif sys.argv[1] == "autoconf" : - autoconf() - elif sys.argv[1] != "": - raise ValueError("unknown parameter '%s'" % sys.argv[1]) - -fetch() -sys.exit(0)