mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 14:16:00 +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:
parent
4f22f27347
commit
2a12025ee5
1 changed files with 0 additions and 199 deletions
|
@ -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)
|
|
Loading…
Add table
Add a link
Reference in a new issue