Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / router / dartybox @ d2161137

Historique | Voir | Annoter | Télécharger (3,4 ko)

1 efff944f Steve Schnepp
#! /bin/sh
2
# Parse box information
3 150f0188 Steve Schnepp
# (c) 2013 - GPLv2 - Steve Schnepp <steve.schnepp@pwkf.org>
4 efff944f Steve Schnepp
#
5 150f0188 Steve Schnepp
# Configuration is done via ENV vars, here is the default :
6 efff944f Steve Schnepp
#
7
# [dartybox]
8
# env.IP 192.168.1.254
9
10 6994dcd1 Steve Schnepp
11
. $MUNIN_LIBDIR/plugins/plugin.sh
12
13
is_multigraph
14
15 efff944f Steve Schnepp
# fail on error
16
set -e
17
18
IP=${IP:-"192.168.1.254"}
19
20
if [ "$1" = "config" ]
21
then
22
	echo multigraph dbox_adsl_bw
23 fba800ae Veres Lajos
	echo graph_title DartyBox Adsl Bandwidth
24 d2161137 dipohl
	echo graph_category network
25 efff944f Steve Schnepp
	echo up.label UpStream
26
	echo down.label DownStream
27
	echo multigraph dbox_adsl_att
28
	echo graph_title DartyBox Adsl Attenuation
29 d2161137 dipohl
	echo graph_category network
30 efff944f Steve Schnepp
	echo up.label UpStream
31 0cf1fbbe Steve Schnepp
	echo down.label DownStream
32 efff944f Steve Schnepp
	echo multigraph dbox_adsl_snr
33
	echo graph_title DartyBox Adsl SignalNoise Ratio
34 d2161137 dipohl
	echo graph_category network
35 25722e78 Steve Schnepp
	echo up.label UpStream
36
	echo down.label DownStream
37 efff944f Steve Schnepp
	echo multigraph dbox_adsl_pkt
38
	echo graph_title DartyBox Adsl Packets
39 d2161137 dipohl
	echo graph_category network
40 25722e78 Steve Schnepp
	echo up.label UpStream
41
	echo down.label DownStream
42
	echo up_c.label UpStream "(Correctable)"
43
	echo down_c.label DownStream "(Correctable)"
44
	echo up_u.label UpStream "(Uncorrectable)"
45
	echo down_u.label DownStream "(Uncorrectable)"
46 9eeaa526 Steve Schnepp
	echo up.type DERIVE
47
	echo down.type DERIVE
48
	echo up_c.type DERIVE
49
	echo down_c.type DERIVE
50
	echo up_u.type DERIVE
51
	echo down_u.type DERIVE
52
	echo up.min 0
53
	echo down.min 0
54
	echo up_c.min 0
55
	echo down_c.min 0
56
	echo up_u.min 0
57
	echo down_u.min 0
58 efff944f Steve Schnepp
	echo multigraph dbox_adsl_uptime
59
	echo graph_title DartyBox Adsl Uptime
60 d2161137 dipohl
	echo graph_category network
61 25722e78 Steve Schnepp
	echo graph_vlabel days
62
	echo uptime.label Uptime
63 efff944f Steve Schnepp
64
	exit 0
65
fi
66
67
TMPFILE=$(mktemp)
68
trap 'rm -f $TMPFILE' EXIT
69
70
wget -qO "$TMPFILE" http://$IP/adslstats.html
71
72 25722e78 Steve Schnepp
[ "$MUNIN_DEBUG" = 1 ] && cat "$TMPFILE"
73
74 efff944f Steve Schnepp
get() {
75
	PATTERN=$1
76 25722e78 Steve Schnepp
	gawk "match(\$0, /var $PATTERN\s+=\s+\"([^\"]+)\"/, a) { print a[1] }" $TMPFILE
77
}
78
79
getDays() {
80
	# Convert "20 jours 2 heures 2 mn" in a number of days
81
	echo "$@" | gawk "match(\$0, /([0-9.]+) jours ([0-9.]+) heures ([0-9.]+) mn/, a) { print a[1] + a[2]/24 + a[3]/1440 }"
82 efff944f Steve Schnepp
}
83
84
echo multigraph dbox_adsl_bw
85
echo up.value $(get UpStream)
86
echo down.value $(get DownStream)
87
echo multigraph dbox_adsl_att
88
echo up.value $(get AttNear)
89
echo down.value $(get AttFar)
90
echo multigraph dbox_adsl_snr
91
echo up.value $(get SNRNear)
92
echo down.value $(get SNRFar)
93
echo multigraph dbox_adsl_pkt
94
echo up.value $(get RSWORDSNear)
95
echo down.value $(get RSWORDSFar)
96
echo up_c.value $(get RSCORRERRORNear)
97
echo down_c.value $(get RSCORRERRORFar)
98
echo up_u.value $(get RSUNCORRERRORNear)
99
echo down_u.value $(get RSUNCORRERRORFar)
100
echo multigraph dbox_adsl_uptime
101 25722e78 Steve Schnepp
echo uptime.value $(getDays $(get AdslUpTime))
102 efff944f Steve Schnepp
103
exit 0
104
105
:<<'EOF'
106
var ADSLLineStatus = "Etabli";
107
var ADSLMode    = "G992_1_A  (G.DMT)   ";
108
var UpStream    = "704";
109
var DownStream  = "7616";
110
var AttNear     = "33.5";
111
var AttFar      = "16.5";
112
var SNRNear     = "11.0";
113
var SNRFar      = "15.0";
114
var HECCountNear= "4836";
115
var HECCountFar= "6";
116
var AdslVer1    = "0x81ef5379";
117
var AdslVer2    = "0x6397bde2";
118
var CmvVer1         = "0x6f249e71";
119
var CmvVer2         = "0xa703362e";
120
var ES15CntNear = "0";
121
var ES15CntFar  = "0";
122
var CRCErrorsNear = "641";
123
var CRCErrorsFar = "7";
124
var ES1CNTNear  = "8";
125
var ES1CNTFar   = "0";
126
127
var ESTOTCNTFar = "5";
128
var ESTOTCNTNear = "452";
129
var RSWORDSNear = "1802451823";
130
var RSWORDSFar  = "2881437753";
131
var RSCORRERRORNear  = "57293";
132
var RSCORRERRORFar  = "301";
133
var RSUNCORRERRORNear  = "641";
134
var RSUNCORRERRORFar  = "7";
135
var RSRatioNear  = "0";
136
var RSRatioFar  = "0";
137
var AdslUpTime = "20 jours 2 heures 2 mn";
138
EOF