mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 02:51:03 +00:00
Initial version
This commit is contained in:
parent
16655964a9
commit
d216ea5581
1 changed files with 65 additions and 0 deletions
65
plugins/other/tc_packets_
Executable file
65
plugins/other/tc_packets_
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/bin/sh
|
||||
# -*- sh -*-
|
||||
#
|
||||
# This plugin is based on the if_ plugin.
|
||||
#
|
||||
# Parameters
|
||||
# None
|
||||
#
|
||||
# Magic markers (optional - used by munin-config and some installation
|
||||
# scripts):
|
||||
#
|
||||
#%# family=manual
|
||||
#%# capabilities=autoconf suggest
|
||||
|
||||
|
||||
DEVICE=${0##*/tc_packets_}
|
||||
|
||||
mytc() {
|
||||
tc -s class show dev $1 | tr "\n," "| " | sed "s/ \+/ /g" | sed "s/ |/|/g" | sed "s/| /|/g" | sed "s/||/\n/g" | sed "s/|/ /g" | tr ":" "_" | sort -n
|
||||
}
|
||||
|
||||
case $1 in
|
||||
autoconf)
|
||||
if [ -r /proc/net/dev ]; then
|
||||
echo yes
|
||||
exit 0
|
||||
else
|
||||
echo "no (/proc/net/dev not found)"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
suggest)
|
||||
if [ -r /proc/net/dev ]; then
|
||||
awk '
|
||||
/^ *(eth|tap|bond|wlan|ath|ra|sw)[0-9]+:/ {
|
||||
split($0, a, /: */);
|
||||
gsub(/^ +/,"",a[1]);
|
||||
if (($2 > 0) || ($10 > 0)) print a[1]; }' /proc/net/dev
|
||||
|
||||
# egrep '^ *(eth|tap|bond|wlan|ath|ra|sw)[0-9]+:' /proc/net/dev | cut -f1 -d: | sed 's/ //g'
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
config)
|
||||
|
||||
echo "graph_order `mytc $DEVICE | awk '{ print $2 "_" $3 "_packets" }' | sort -n | tr "\n" " "`"
|
||||
echo "graph_title $DEVICE TC traffic packets"
|
||||
echo 'graph_args --base 1000'
|
||||
echo 'graph_vlabel bits per ${graph_period}'
|
||||
echo 'graph_category network'
|
||||
echo "graph_info This graph shows the TC classes traffic packets of the $DEVICE network interface."
|
||||
|
||||
# mytc $DEVICE | tr "_" " " | awk '{ print $2 "_" $3 "_" $4 "_packets.label " $2 "/" $3 ":" $4 "\n" $2 "_" $3 "_" $4 "_packets.type COUNTER\n" $2 "_" $3 "_" $4 "_packets.min 0\n" $2 "_" $3 "_" $4 "_packets.cdef " $2 "_" $3 "_" $4 ",8,*" }'
|
||||
mytc $DEVICE | tr "_" " " | awk '{ print $2 "_" $3 "_" $4 "_packets.label " $2 "/" $3 ":" $4 "\n" $2 "_" $3 "_" $4 "_packets.type COUNTER\n" $2 "_" $3 "_" $4 "_packets.min 0" }'
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# the root(s)
|
||||
mytc $DEVICE | grep -v " parent " | awk "{ print \$2 \"_\" \$3 \"_packets.value \" \$16}"
|
||||
|
||||
# the child(s)
|
||||
mytc $DEVICE | grep " parent " | awk "{ print \$2 \"_\" \$3 \"_packets.value \" \$21}"
|
||||
|
||||
exit 0
|
Loading…
Add table
Add a link
Reference in a new issue