Hi all,
Our DNOC needs a report that shows what IP addresses are managed via SNMP query versus ping. I searched the archives and it appears one can't get this report using nvdbformat--isSNMPSupported is not an accurate indicator. So, I'm getting the list of IP's that match isSNMPSupported=TRUE from nvdbformat, then feeding the list into `ndmdemandpoll $hostname |grep "Get SNMP status"`. This will do the job, but we all know nmdemandpoll kills CPU if it takes any time at all to run. I have 1500 addresses to cycle through.
So, I figure I can kill nmdemandpoll if it's going to take longer than 15 seconds to finish, log the IP address that needed to be killed, then go back to the loop. No problem, except I'm a novice ksh scripter, and having trouble with co-processes (required to watch the nmdemandpoll PID because nothing will occur until nmdemandpoll finishes, right?). If someone can help me with the logic, I'll post the whole smash for everyone to use when it's finished.
This works fine, just takes forever, and sends uptime values skyward. It sets off NetIQ alerts for CPU utilization.
# Read in IP address list from NVout.report
# nv_getSNMPquerystatus.sh < NVout.report
while read ipAddress
do
nmdemandpoll $ipAddress | grep "Get SNMP status"
if [[ $? -eq 0 ]]
then
echo "$ipAddress is currently monitored using SNMP query"
else
echo "$ipAddress is currently NOT monitored using SNMP query"
fi
done
Many thanks in advance to anyone with advice on how to finish this one off. --Drew
Drew Van Order
Information Technology Services
Deloitte Services LP
Tel: +1 615 882 7836
www.deloitte.com