generate new snmp dumps in /dev/shm/sw.mac.port
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 11 Apr 2018 13:34:39 +0000 (15:34 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 11 Apr 2018 13:34:39 +0000 (15:34 +0200)
snmp-get-arp

index f546d9f..c1d157e 100755 (executable)
@@ -1,12 +1,32 @@
 #!/bin/bash -e
 
-. snmp.conf # get COMMUNITY
+. ./snmp.conf # get COMMUNITY
 
 log=/dev/shm/sw.mac.port
-test -d $log && mv $log $log.last
+if [ -e $log.last ] ; then
+       mv -v $log.last $log.last.`ls -d $log.last* | wc -l`
+fi
+test -d $log && mv -v $log $log.last
 mkdir $log
 
-./ips | while read ip
+snmp_walk() {
+       ip=$1
+       snmpwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip BRIDGE-MIB::dot1dTpFdbPort | tee $log/snmp.$ip
+       #snmpwalk -v 2c -c $COMMUNITY $ip 1.3.6.1.2.1.17.4.3.1 2>>/dev/shm/sw.errors | tee $log/snmp.$ip
+       #snmpwalk -v 2c -c $COMMUNITY $ip 1.3.6.1.2.1.17.4.3.1.2 2>>/dev/shm/sw.errors | sed 's/iso.3.6.1.2.1.17.4.3.1.2./ /g' | awk '{print $1" .g"$4}' | awk -v sw="$ip" -F '.' '{ printf "%02X:%02X:%02X:%02X:%02X:%02X,%s,%s\n", $1, $2, $3, $4, $5, $6, $7, sw }' | tee $log/$ip
+}
+
+if [ ! -z "$1" ] ; then
+       while [ ! -z "$1" ] ; do
+               snmp_walk $1
+               shift
+       done
+       exit 0
+fi
+
+#( ls -d $log.last/* | sed 's/^.*\///' ; ./ips ) | sort -u | while read ip
+grep '^\[snmp;sw' /etc/munin/munin.conf | cut -d';' -f2 | sed 's/\]$//' | while read ip
 do
-       snmpwalk -v 2c -c $COMMUNITY $ip 1.3.6.1.2.1.17.4.3.1.2 2>>/dev/shm/sw.errors | sed 's/iso.3.6.1.2.1.17.4.3.1.2./ /g' | awk '{print $1" .g"$4}' | awk -v sw="$ip" -F '.' '{ printf "%02X:%02X:%02X:%02X:%02X:%02X,%s,%s\n", $1, $2, $3, $4, $5, $6, $7, sw }' | tee $log/$ip
+       echo "## $ip"
+       snmp_walk $ip
 done