2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/network/if1sec_
2013-02-04 11:45:05 +01:00

60 lines
1.4 KiB
Bash
Executable File

#! /bin/sh
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