1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-22 02:51:03 +00:00

Remove old "transmission" plugin

It doesn't work (looks like calling outdated python lib) and had the same
    funcionality than the newer transmission_ plugin. It is quite confusing now
    they are in the same directory, but the documentation (README) mentions
    only the other one.
This commit is contained in:
Robert Kulyassa 2023-01-31 14:54:07 +01:00 committed by Kenyon Ralph
parent 4f22f27347
commit 2a12025ee5

View file

@ -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)