mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
64 lines
1.5 KiB
Bash
Executable File
64 lines
1.5 KiB
Bash
Executable File
#! /bin/sh
|
|
# Currently the plugin does *not* autostart
|
|
#
|
|
# It has to be launched via rc.d :
|
|
# munin-run if1sec_eth0 acquire
|
|
|
|
pluginfull="$0" # full name of plugin
|
|
plugin="${0##*/}" # name of plugin
|
|
pidfile="$MUNIN_PLUGSTATE/munin.$plugin.pid"
|
|
cache="$MUNIN_PLUGSTATE/munin.$plugin.value"
|
|
|
|
IFACE="${0##*/if1sec_}" # interface
|
|
|
|
if [ ! -r "/sys/class/net/$IFACE/statistics/tx_bytes" ]
|
|
then
|
|
echo "# Unknown Interface : $IFACE"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" = "acquire" ]
|
|
then
|
|
(
|
|
while sleep 1
|
|
do
|
|
echo $(
|
|
date +%s
|
|
cat /sys/class/net/$IFACE/statistics/tx_bytes
|
|
cat /sys/class/net/$IFACE/statistics/rx_bytes
|
|
)
|
|
done | awk "{
|
|
print \"${IFACE}_tx.value \" \$1 \":\" \$2;
|
|
print \"${IFACE}_rx.value \" \$1 \":\" \$3;
|
|
system(\"\");
|
|
}" >> $cache
|
|
) &
|
|
echo $! > $pidfile
|
|
exit 0
|
|
fi
|
|
|
|
|
|
if [ "$1" = "config" ]
|
|
then
|
|
cat <<EOF
|
|
graph_title Interface 1sec stats for ${IFACE}
|
|
graph_category 1sec::network
|
|
graph_data_size custom 1d, 10s for 1w, 1m for 1t, 5m for 1y
|
|
graph_vlabel Bytes
|
|
update_rate 1
|
|
${IFACE}_tx.label ${IFACE} TX bytes
|
|
${IFACE}_tx.type DERIVE
|
|
${IFACE}_tx.min 0
|
|
${IFACE}_rx.label ${IFACE} RX bytes
|
|
${IFACE}_rx.type DERIVE
|
|
${IFACE}_rx.min 0
|
|
EOF
|
|
exit 0
|
|
fi
|
|
|
|
# values
|
|
cat ${cache}
|
|
> ${cache}
|
|
|
|
exit 0
|