Projet

Général

Profil

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

root / plugins / router / bbox @ 3e83f451

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

1 0a7b1c81 Steve Schnepp
#! /bin/sh
2 55b983f3 Lars Kruse
3
: <<=cut
4
5
=head1 NAME
6
7
bbox - parse bbox information - https://fr.wikipedia.org/wiki/Bbox
8
9
=head1 CONFIGURATION
10
11
The following default configuration is used:
12
13
 [bbox]
14
 env.IP 192.168.1.254
15
16
=head1 AUTHORS
17
18
Copyright (C) 2018 Steve Schnepp <steve.schnepp@pwkf.org>
19
20
21
=head1 LICENSE
22
23
GNU Library General Public License v2 only
24
25
SPDX-License-Identifier: GPL-2.0-only
26
27
=cut
28 0a7b1c81 Steve Schnepp
29
30
# fail on error
31
set -e
32
33
IP=${IP:-"192.168.1.254"}
34
35
if [ "$1" = "config" ]
36
then
37
	echo multigraph bbox_adsl_bw
38
	echo graph_title BBox Adsl Bandwidth
39
	echo graph_category network
40
	echo up.label UpStream
41
	echo down.label DownStream
42
43
	echo multigraph bbox_adsl_att
44
	echo graph_title BBox Adsl Attenuation
45
	echo graph_category network
46
	echo up.label UpStream
47
	echo down.label DownStream
48
49
	echo multigraph bbox_adsl_snr
50
	echo graph_title BBox Adsl SignalNoise Ratio
51
	echo graph_category network
52
	echo up.label UpStream
53
	echo down.label DownStream
54
55
	echo multigraph bbox_adsl_pkt
56
	echo graph_title BBox Adsl Packets
57
	echo graph_category network
58
	echo graph_order up down up_f down_f up_c down_c up_u down_u
59
	echo graph_vlabel packets/\${graph_period}
60
	echo graph_args --base 1000 --logarithmic --lower-limit 0.001
61
	echo up.label UpStream
62
	echo down.label DownStream
63
	echo up_f.label UpStream "(FEC)"
64
	echo down_f.label DownStream "(FEC)"
65
	echo up_c.label UpStream "(CRC)"
66
	echo down_c.label DownStream "(CEC)"
67
	echo up_u.label UpStream "(HEC)"
68
	echo down_u.label DownStream "(HEC)"
69
	echo up.type DERIVE
70
	echo down.type DERIVE
71
	echo up_f.type DERIVE
72
	echo down_f.type DERIVE
73
	echo up_c.type DERIVE
74
	echo down_c.type DERIVE
75
	echo up_u.type DERIVE
76
	echo down_u.type DERIVE
77
	echo up.min 0
78
	echo down.min 0
79
	echo up_f.min 0
80
	echo down_f.min 0
81
	echo up_c.min 0
82
	echo down_c.min 0
83
	echo up_u.min 0
84
	echo down_u.min 0
85
86
	echo multigraph bbox_adsl_bytes
87
	echo graph_title BBox Adsl Usage
88
	echo graph_category network
89
	echo graph_order up down
90
	echo graph_vlabel bytes/\${graph_period}
91
	echo graph_args --base 1024 --lower-limit 0
92
	echo up.label UpStream
93
	echo up.type DERIVE
94
	echo down.label DownStream
95
	echo down.type DERIVE
96
	echo up.min 0
97
	echo down.min 0
98
99
	echo multigraph bbox_adsl_uptime
100
	echo graph_title BBox Adsl Uptime
101
	echo graph_category network
102
	echo graph_vlabel days
103
	echo uptime.label Uptime
104
	echo uptime.cdef uptime,3600,/,24/
105
106
	exit 0
107
fi
108
109 af280421 Steve Schnepp
TMPFILE="$(mktemp -d)"
110
trap 'rm -Rf "$TMPFILE"' EXIT
111 0a7b1c81 Steve Schnepp
112 af280421 Steve Schnepp
cd "$TMPFILE"
113 0a7b1c81 Steve Schnepp
114 af280421 Steve Schnepp
curl -s "http://$IP/api/v1/wan/ip" > "ip.json" &
115
curl -s "http://$IP/api/v1/wan/ip/stats" > "ip-stats.json" &
116
curl -s "http://$IP/api/v1/wan/xdsl" > "xdsl.json" &
117
curl -s "http://$IP/api/v1/wan/xdsl/stats" > "xdsl-stats.json" &
118 0a7b1c81 Steve Schnepp
119
wait
120
121
if [ "$MUNIN_DEBUG" = 1 ]
122
then
123
	for i in *
124
	do
125
		echo "========= $i ========"
126
		cat "$i"
127
	done
128
fi
129
130
echo multigraph bbox_adsl_bw
131 59fcde25 Steve Schnepp
echo up.value $(jq -r ".[].wan.xdsl.up.bitrates" < xdsl.json)
132
echo down.value $(jq -r ".[].wan.xdsl.down.bitrates" < xdsl.json)
133 0a7b1c81 Steve Schnepp
134
echo multigraph bbox_adsl_att
135 59fcde25 Steve Schnepp
echo up.value $(jq -r ".[].wan.xdsl.up.attenuation" < xdsl.json)
136
echo down.value $(jq -r ".[].wan.xdsl.down.attenuation" < xdsl.json)
137 0a7b1c81 Steve Schnepp
138
echo multigraph bbox_adsl_snr
139 59fcde25 Steve Schnepp
echo up.value $(jq -r ".[].wan.xdsl.up.noise" < xdsl.json)
140
echo down.value $(jq -r ".[].wan.xdsl.down.noise" < xdsl.json)
141 0a7b1c81 Steve Schnepp
142
echo multigraph bbox_adsl_pkt
143 59fcde25 Steve Schnepp
echo up.value $(jq -r ".[].wan.ip.stats.tx.packets" < ip-stats.json)
144
echo down.value $(jq -r ".[].wan.ip.stats.rx.packets" < ip-stats.json)
145
echo up_f.value $(jq -r ".[].wan.xdsl.stats.remote_fec" < xdsl-stats.json)
146
echo down_f.value $(jq -r ".[].wan.xdsl.stats.local_fec" < xdsl-stats.json)
147
echo up_c.value $(jq -r ".[].wan.xdsl.stats.remote_hec" < xdsl-stats.json)
148
echo down_c.value $(jq -r ".[].wan.xdsl.stats.local_hec" < xdsl-stats.json)
149
echo up_u.value $(jq -r ".[].wan.xdsl.stats.remote_crc" < xdsl-stats.json)
150
echo down_u.value $(jq -r ".[].wan.xdsl.stats.local_crc" < xdsl-stats.json)
151 0a7b1c81 Steve Schnepp
152
echo multigraph bbox_adsl_bytes
153 59fcde25 Steve Schnepp
echo up.value $(jq -r ".[].wan.ip.stats.tx.bytes" < ip-stats.json | tr -d '"')
154
echo down.value $(jq -r ".[].wan.ip.stats.rx.bytes" < ip-stats.json | tr -d '"')
155 0a7b1c81 Steve Schnepp
156
echo multigraph bbox_adsl_uptime
157 59fcde25 Steve Schnepp
echo uptime.value $(jq -r ".[].wan.xdsl.showtime" < xdsl.json)
158 0a7b1c81 Steve Schnepp
159
exit 0