1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-09-19 09:03:20 +00:00

Update multibandwidth

bing have some random spikes. Added a variable that is used to indicate the maximum value of mbps that can be recorded (in bps).
This commit is contained in:
Jose Manuel Febrer Cortés 2017-03-31 14:19:14 +02:00 committed by Lars Kruse
parent 651f6ac056
commit a1cc26f2d3

View file

@ -25,9 +25,10 @@ The following is the default configuration
[multibandwidth] [multibandwidth]
user root user root
env.hosts example.org example2.org example3.org env.hosts example.org example2.org example3.org
env.samples 10 env.samples 15
env.small_packet_size 44 env.small_packet_size 44
env.big_packet_size 108 env.big_packet_size 108
env.max_mbps 15728640
- env.hosts explanation: hostname or IP of the hosts to calculate the bandwidth. - env.hosts explanation: hostname or IP of the hosts to calculate the bandwidth.
@ -40,6 +41,8 @@ env.big_packet_size 108
packets. The default is 108. The size should be chosen so that big packet roundtrip times packets. The default is 108. The size should be chosen so that big packet roundtrip times
are long enough to be accurately measured. are long enough to be accurately measured.
- env.max_mbps explanation: bing have some random spikes. This variable is used to indicate
the maximum value of mbps that can be recorded (in bps).
=head1 MAGIC MARKERS =head1 MAGIC MARKERS
@ -101,11 +104,20 @@ for host in $hosts; do
| cut -d "b" -f1) | cut -d "b" -f1)
if (echo "$SPEED" | grep -q "M"); then if (echo "$SPEED" | grep -q "M"); then
echo "$SPEED" | awk '{a+=$1} END{print a*1000000}' VALUE=`echo "$SPEED" | sed 's/.$//'`
RATE=`echo "$VALUE * 1048576" | bc -l`
if [ $(echo "$RATE" >= "$max_mbps" | bc >/dev/null && echo "no" || echo "yes") = "yes" ]; then
echo "$max_mbps"
else
echo "$RATE"
fi
elif (echo "$SPEED" | grep -q "K"); then elif (echo "$SPEED" | grep -q "K"); then
echo "$SPEED" | awk '{a+=$1} END{print a*1000}' VALUE=`echo "$SPEED" | sed 's/.$//'`
echo "$VALUE * 1024" | bc -l
elif (echo "$SPEED" | grep -q "G"); then elif (echo "$SPEED" | grep -q "G"); then
echo "$SPEED" | awk '{a+=$1} END{print a*1000000000}' VALUE=`echo "$SPEED" | sed 's/.$//'`
echo "$VALUE * 1073742000" | bc -l
else else
echo "Error: no data (timeout)" >&2 echo "Error: no data (timeout)" >&2
fi fi