2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00

Merge pull request #763 from sumpfralle/transmission-ratios-assembling

[tr_ratios] documentation and configuration
This commit is contained in:
sumpfralle 2016-10-26 02:30:58 +02:00 committed by GitHub
commit 22f9fa51a7
3 changed files with 81 additions and 24 deletions

View File

@ -1,16 +1,91 @@
#!/bin/bash
#!/bin/sh
# -*- sh -*-
user=''
pass=''
: <<=cut
=head1 NAME
tr_ratios - monitor transfer ratios of the "transmission" bittorent program
=head1 APPLICABLE SYSTEMS
Any system with "transmission" installed and a transmission daemon running.
=head1 CONFIGURATION
Maybe you need to configure access credentials and connection settings:
[tr_ratios]
env.host localhost
env.port 9091
env.username alice
env.password secret
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=head1 AUTHOR
unspecified
=head1 LICENSE
unspecified
=cut
CONNECTION_ARG="${host:-localhost}:${port:-9091}"
USERNAME="${username:-}"
PASSWORD="${password:-}"
# return a space separated list of transmissions with the following columns:
# * fieldname
# * ratio (in percent)
# * name of the transmissions
request_transmission_stats() {
if [ -n "$USERNAME$PASSWORD" ]; then
transmission-remote "$CONNECTION_ARG" --auth "$USERNAME:$PASSWORD" --list
else
transmission-remote "$CONNECTION_ARG" --list
fi | awk '
BEGIN { FIELDWIDTHS = "7 4 13 10 7 9 7 13 40" }
NR > 1 {
split($1,torrentid," ")
# remove "*" from the ID of stopped transmissions
sub(/\*/, "", torrentid[1])
if (torrentid[1] != "Sum:") {
split($7,ratio," ")
ratio[1] = ratio[1] * 100
print "ID" torrentid[1], ratio[1], $9
}
}'
}
if [ "$1" = "autoconf" ]; then
if [ -n "$(request_transmission_stats 2>/dev/null)" ]; then
echo "yes"
else
if which transmission-remote >/dev/null; then
echo "no (failed to connect to daemon)"
else
echo "no (missing 'transmission-remote' program)"
fi
fi
exit 0
fi
if [ "$1" = "config" ]; then
echo "graph_title Transmission seed ratios"
echo "graph_vlabel Seed ratio %"
echo "graph_category torrent"
echo "graph_info This plugin shows your transmission ratios per torrent"
transmission-remote -n $user:$pass -l | gawk -f /usr/share/munin/plugins/tr_ratios_labels | iconv -f utf-8 -t ascii//translit
request_transmission_stats | awk '{print $1 ".label " $3 }' | iconv -f utf-8 -t ascii//translit
exit 0
fi
transmission-remote -n $user:$pass -l | gawk -f /usr/share/munin/plugins/tr_ratios_data
request_transmission_stats | awk '{print $1 ".value " $2 }'

View File

@ -1,10 +0,0 @@
BEGIN { FIELDWIDTHS = "7 4 13 10 7 9 7 13 40" }
NR > 1 {
split($1,torrentid," ")
if(torrentid[1] != "Sum:") {
split($7,ratio," ")
ratio[1] = ratio[1] * 100
print "ID" torrentid[1] ".value " ratio[1]
}
}

View File

@ -1,8 +0,0 @@
BEGIN { FIELDWIDTHS = "7 4 13 10 7 9 7 13 40" }
NR > 1 {
split($1,torrentid," ")
if(torrentid[1] != "Sum:") {
print "ID" torrentid[1] ".label " $9
}
}