mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-25 10:28:36 +00:00
Merge pull request #191 from aborrero/master
Traffic plugin. Monitor total throughput by IP protocol.
This commit is contained in:
commit
8a13b49960
1 changed files with 83 additions and 0 deletions
83
plugins/network/traffic
Executable file
83
plugins/network/traffic
Executable file
|
@ -0,0 +1,83 @@
|
|||
#!/bin/bash
|
||||
# -*- bash -*-
|
||||
|
||||
: << =cut
|
||||
|
||||
=head1 NAME
|
||||
|
||||
traffic - Plugin to monitor the traffic (throughput) by IP protocols.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
No special configuration is needed.
|
||||
|
||||
If trouble reading files, use:
|
||||
|
||||
[traffic]
|
||||
user root
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
=over
|
||||
|
||||
=item 2012.09.20: Initial version by Arturo Borrero Gonzalez <aborrero@cica.es>
|
||||
|
||||
=back
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
if [ "$1" == "config" ]
|
||||
then
|
||||
cat <<'EOF'
|
||||
graph_title Throughput by IP protocol
|
||||
graph_vlabel bits per ${graph_period}
|
||||
graph_category network
|
||||
graph_args --base 1000 --upper-limit 100 -l 0
|
||||
IPv4.label IPv4 bps
|
||||
IPv4.min 0
|
||||
IPv4.type DERIVE
|
||||
IPv4.draw AREA
|
||||
IPv6.label IPv6 bps
|
||||
IPv6.min 0
|
||||
IPv6.type DERIVE
|
||||
IPv6.draw STACK
|
||||
total.label Total bps
|
||||
total.min 0
|
||||
total.type DERIVE
|
||||
total.draw LINE1
|
||||
EOF
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
if [ -r /proc/net/dev ]
|
||||
then
|
||||
ipv4=$( echo "`egrep -v bond\|lo /proc/net/dev | awk -F' ' '{print $2+$10}' | paste -sd+ | bc` * 8" | bc )
|
||||
echo "IPv4.value $ipv4"
|
||||
else
|
||||
echo "IPv4.value 0"
|
||||
echo "W: Unable to read /proc/net/dev" >&2
|
||||
fi
|
||||
|
||||
if [ -r /proc/net/snmp6 ]
|
||||
then
|
||||
ipv6=$( echo "`egrep Ip6InOctets\|Ip6OutOctets /proc/net/snmp6 | awk -F' ' '{print $2}' | paste -sd+ | bc` * 8" | bc )
|
||||
echo "IPv6.value $ipv6"
|
||||
else
|
||||
echo "IPv6.value 0"
|
||||
echo "W: Unable to read /proc/net/snmp6" >&2
|
||||
fi
|
||||
echo "total.value $( echo $ipv4 + $ipv6 | bc )"
|
||||
|
||||
exit 0
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue