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:
commit
22f9fa51a7
@ -1,16 +1,91 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
# -*- sh -*-
|
||||||
|
|
||||||
user=''
|
: <<=cut
|
||||||
pass=''
|
|
||||||
|
=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
|
if [ "$1" = "config" ]; then
|
||||||
echo "graph_title Transmission seed ratios"
|
echo "graph_title Transmission seed ratios"
|
||||||
echo "graph_vlabel Seed ratio %"
|
echo "graph_vlabel Seed ratio %"
|
||||||
echo "graph_category torrent"
|
echo "graph_category torrent"
|
||||||
echo "graph_info This plugin shows your transmission ratios per 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
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
transmission-remote -n $user:$pass -l | gawk -f /usr/share/munin/plugins/tr_ratios_data
|
request_transmission_stats | awk '{print $1 ".value " $2 }'
|
||||||
|
|
||||||
|
@ -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]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user