#!/bin/sh
######################################################################
#
# get_mibs
#
# Script to collect SNMP and kernel data to verify MIB correctness
# This script assumes it will reach a host with the sgiagent
# and hpagent running on it.
#
# Usage: $0 <hostname>
#
######################################################################

echo This script will collect MIB-II and HP-UX MIB data as well as from the OS. 
echo Press any key to continue...

read input

HOST=`hostname`
COMM=public
USAGE="Usage: $0 hostname"
#if [ $# != 1 ]; then
	#echo $USAGE
	#exit
#else
	#if [ `hostname` != $1 ]; then
		#echo "You must run this command on the node running the agents"
		#exit
	#else
		#HOST=$1
	#fi
#fi

MIB2DATA=mib2.data
HPDATA=hpmib.data

#MIB2DATA=/tmp/mib2.data
#HPDATA=/tmp/hpmib.data


rm -f $MIB2DATA $HPDATA
echo /dev/null > $MIB2DATA
echo /dev/null > $HPDATA

DATE=`date`
# ----------------------------------------------------------------
echo "Accessing MIB2 data on host $HOST at $DATE" > $MIB2DATA
# ----------------------------------------------------------------

#
# system group
#
echo "-------- uptime ----------------------------------" | tee -a  $MIB2DATA
uptime | tee -a  $MIB2DATA
echo ".................................................."
./snmpwalk $HOST $COMM system	| tee -a  $MIB2DATA

#
# interfaces group
#
echo "-------- Interfaces ------------------------------" | tee -a  $MIB2DATA
FILESYS=`netstat -i | cut -d" " -f1 | tail +2`
echo "Scanning Interfaces=$FILESYS" | tee -a  $MIB2DATA
for i in `echo $FILESYS`
        do
                echo $i
		echo "-------- ifconfig $i ----------------------------" | tee -a  $MIB2DATA
		ifconfig $i >> $MIB2DATA
        done

echo "-------- netstat -i --(Interfaces States)---------" | tee -a  $MIB2DATA
/usr/etc/netstat -i >> $MIB2DATA

echo ".................................................."
./snmpwalk $HOST $COMM interfaces	| tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA

#
# ip group
#
echo "-------- netstat -s -p ip ---(IP Stats)-----------" | tee -a  $MIB2DATA
cat << DATA >> $MIB2DATA
Comments:
--------
ipInReceives		total packets received
ipInDelivers		ipInReceives 	- bad header checksums
					- with size smaller than minimum
					- with data size < data length
					- with header length < data size
					- with bad options
ipOutRequests		(is close to tcp packets sent in the netstat -s -p tcp)
ipInUnknownProtos	packets recd for unknown/unsupported protocol
ipRoutingDiscards	packets not forwardable
ipOutDiscards		output packets dropped due to no bufs, etc
ipOutNoRoutes		output packets discarded due to no route
ipFragOKs		datagrams fragmented
ipFragCreates		fragments created
ipFragFails		datagrams that can't be fragmented
DATA

/usr/etc/netstat -s -p ip >> $MIB2DATA
echo " "
echo "------- netstat -rn - Routing Tables (Names) -----" | tee -a  $MIB2DATA
cat << DATA >> $MIB2DATA
Comments:
--------
ipRouteDest		Destination
ipRouteNextHop		Gateway
DATA
/usr/etc/netstat -r >> $MIB2DATA
echo ".................................................."
./snmpwalk melanie public tcp.tcpConnTable | tee -a  $MIB2DATA
echo ".................................................."
./snmpget $HOST $COMM .1.3.6.1.2.1.4.3.0 .1.3.6.1.2.1.4.9.0 | tee -a $MIB2DATA
echo " "
./snmpwalk $HOST $COMM ip	| tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA

#
# tcp group
#
echo "-------- netstat -s -p tcp --(TCP Stats)----------" | tee -a  $MIB2DATA
cat << DATA >> $MIB2DATA
Comments:
--------
ipOutRequests		packets sent (close to that value)
tcpOutSegs		data packets (xxxx bytes)
tcpRetransSegs		data packets (xxxx bytes) retransmitted
tcpInSegs		packets received
DATA
/usr/etc/netstat -s -p tcp >> $MIB2DATA
echo ".................................................."
./snmpwalk $HOST $COMM tcp	| tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA

#
# udp group
#
echo "-------- netstat -s -p udp --(UDP Stats)----------" | tee -a  $MIB2DATA
/usr/etc/netstat -s -p udp >> $MIB2DATA
echo ".................................................."
./snmpwalk $HOST $COMM udp	| tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA

#
# icmp group
#
echo "-------- netstat -s -p icmp --(ICMP Stats)--------" | tee -a  $MIB2DATA
/usr/etc/netstat -s -p icmp >> $MIB2DATA
echo ".................................................."
./snmpwalk $HOST $COMM icmp	| tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA

#echo "-------- netstat    --(TCP Conns. Names) ---------" | tee -a  $MIB2DATA
#/usr/etc/netstat    >> $MIB2DATA
#echo " " | tee -a  $MIB2DATA
#echo " " | tee -a  $MIB2DATA

#echo "-------- netstat -n --(TCP Conns. Addrd)----------" | tee -a  $MIB2DATA
#/usr/etc/netstat -n >> $MIB2DATA
#echo " " | tee -a  $MIB2DATA
#echo " " | tee -a  $MIB2DATA

#echo "-------- netstat -M --(Multicast)-----------------" | tee -a  $MIB2DATA
#/usr/etc/netstat -M >> $MIB2DATA
#echo " " | tee -a  $MIB2DATA
#echo " " | tee -a  $MIB2DATA

#echo "-------- netstat -m --(Memory Stats)--------------" | tee -a  $MIB2DATA
#/usr/etc/netstat -m >> $MIB2DATA
#echo " " | tee -a  $MIB2DATA
#echo " " | tee -a  $MIB2DATA

#echo "-------- netstat -a --(All sockets - Names)-------" | tee -a  $MIB2DATA
#/usr/etc/netstat -a >> $MIB2DATA
#echo " " | tee -a  $MIB2DATA
#echo " " | tee -a  $MIB2DATA

echo "-------- netstat -an -(All sockets - Addresses)---" | tee -a  $MIB2DATA
/usr/etc/netstat -an >> $MIB2DATA
echo " " | tee -a  $MIB2DATA
echo " " | tee -a  $MIB2DATA

echo ".................................................."

echo " "
echo "************************** THE    END *****************************" | tee -a  $MIB2DATA
echo " "


DATE=`date`
# ----------------------------------------------------------------
echo "Accessing HP MIB data on host $HOST at $DATE" > $HPDATA
# ----------------------------------------------------------------

./snmpwalk $HOST $COMM .1.3.6.1.4.1.11 	| tee -a $HPDATA

echo "--------------- uptime ------------------------" | tee -a  $HPDATA
uptime >> $HPDATA

echo "--------------- swap -l -----------------------" | tee -a  $HPDATA
swap -l >> $HPDATA

echo "--------------- w      -----------------------" | tee -a  $HPDATA
w >> $HPDATA

echo "--------------- ps -elf -----------------------" | tee -a  $HPDATA
ps -elf | sort -k4 >> $HPDATA

echo "--------------- df      -----------------------" | tee -a  $HPDATA
df >> $HPDATA

echo " "
echo "Saved MIB-II    information in" $MIB2DATA
echo "Saved HP-UX MIB information in" $HPDATA
echo " "
ls -l $MIB2DATA $HPDATA
echo "Done"
