#!/bin/sh
#
# nomad-traffic
#

START=1
if [ 1`which fping 2>/dev/null` = "1" ] ; then
echo Could not find fping in your path ; START=0 ; fi
if [ 1`which snmpget 2>/dev/null` = "1" ] ; then
echo Could not find snmpget in your path ; START=0 ; fi
if [ 1`which snmpwalk 2>/dev/null` = "1" ] ; then
echo Could not find snmpwalk in your path ; START=0 ; fi

if [ $START = "1" ] ; then
	if [ 1$NOMAD_DIR = "1" ] ; then NOMAD_DIR=$HOME/.nomad ; fi
	mkdir -p $NOMAD_DIR/raw
	IP=$1
	COMM=$2

	if [ ! -z `fping -a $IP 2>/dev/null` ] ; then
		STS=`snmpget -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.1.5.0 2>/dev/null | cut -c 1-3`
		if [ 1$STS = "1iso" ] ; then
			if [ -f $NOMAD_DIR/raw/$IP.old ] ; then
				rm $NOMAD_DIR/raw/$IP.old
			fi
			if [ -f $NOMAD_DIR/raw/$IP ]; then
				mv $NOMAD_DIR/raw/$IP $NOMAD_DIR/raw/$IP.old
			fi
			date -u '+%Y%m%d%H%M%S' >$NOMAD_DIR/raw/$IP
			(
				snmpget -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.1.5.0        #name
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.8     #ifOperStatus
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.10    #ifInOctets
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.11    #ifInUcastPkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.14    #ifInErrors
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.16    #ifOutOctets
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.17    #ifOutUcastPkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.2.2.1.20    #ifOutErrors

				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.31.1.1.1.2  #ifInMulticastPkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.31.1.1.1.3  #ifInBroadcastPkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.31.1.1.1.4  #ifOutMulticastPkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.31.1.1.1.5  #ifOutBroadcastPkts

				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.2  #etherStatsDataSource
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.3  #etherStatsDropEvents
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.8  #etherStatsCRCAlignErrors
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.9  #etherStatsUndersizePkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.10 #etherStatsOversizePkts
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.11 #etherStatsFragments
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.12 #etherStatsJabbers
				snmpwalk -Oq -m "" -c $COMM -v 1 $IP iso.3.6.1.2.1.16.1.1.1.13 #etherStatsCollisions
			) >>$NOMAD_DIR/raw/$IP 2>/dev/null
		fi
	fi
fi

