Skip to content

Instantly share code, notes, and snippets.

@pettazz
Last active October 15, 2016 22:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pettazz/e245e50f16438efd31b8d4e30a710747 to your computer and use it in GitHub Desktop.
Save pettazz/e245e50f16438efd31b8d4e30a710747 to your computer and use it in GitHub Desktop.
#!/bin/bash
declare -A oids
#upload
oids["sent-lo"]=".1.3.6.1.2.1.31.1.1.1.10.1"
oids["sent-eth0"]=".1.3.6.1.2.1.31.1.1.1.10.2"
oids["sent-vlan1"]=".1.3.6.1.2.1.31.1.1.1.10.5"
oids["sent-vlan2"]=".1.3.6.1.2.1.31.1.1.1.10.6"
oids["sent-eth1"]=".1.3.6.1.2.1.31.1.1.1.10.11"
oids["sent-eth2"]=".1.3.6.1.2.1.31.1.1.1.10.12"
oids["sent-br0"]=".1.3.6.1.2.1.31.1.1.1.10.13"
#download
oids["recv-lo"]=".1.3.6.1.2.1.31.1.1.1.6.1"
oids["recv-eth0"]=".1.3.6.1.2.1.31.1.1.1.6.2"
oids["recv-vlan1"]=".1.3.6.1.2.1.31.1.1.1.6.5"
oids["recv-vlan2"]=".1.3.6.1.2.1.31.1.1.1.6.6"
oids["recv-eth1"]=".1.3.6.1.2.1.31.1.1.1.6.11"
oids["recv-eth2"]=".1.3.6.1.2.1.31.1.1.1.6.12"
oids["recv-br0"]=".1.3.6.1.2.1.31.1.1.1.6.13"
declare -A round1
declare -A round2
for ifname in ${!oids[@]}; do
round1[${ifname}]=$(snmpget -Oqv -c public -v2c 192.168.1.1 ${oids[${ifname}]})
done
sleep 1
for ifname in ${!oids[@]}; do
round2[${ifname}]=$(snmpget -Oqv -c public -v2c 192.168.1.1 ${oids[${ifname}]})
done
for interface in ${!oids[@]}; do
iftype=$(echo $interface | awk -F'[-.]' '{print $1}')
ifname=$(echo $interface | awk -F'[-.]' '{print $2}')
txdiff=$((${round2[${interface}]}-${round1[${interface}]}))
echo "net-routing,type=${iftype},interface=${ifname} bytes_tx=${txdiff}"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment