Scott,
We have seen this many times because the particular
Cisco device is sending it's own version of Link UP/Down traps (there are
many devices that have unique ways of sending what should be a
generic trap.)
We learned about this when we first
put MLMs in place and started seeing the raw trap varbinds.
Anyway, to fix it, figure out what the oid is for the
device that is giving you the wrong number of varbinds, create a new
trapd.conf entry for it in the enterprise piece, then add LinkUp and
LinkDown specific traps to your menu for that
enterprise.
Under the "Event Log Message" use the generic
"enterprise: $E args($#):\n$*"
The $* part will give you each of the varbinds in an
individual line in your trapd.log. Then you can see what information
is being provided and change the Event Log Message format so that it makes
sense to your operators.
I go through the log once a day looking for
"no known format" or "FMT ERROR" messages and massage the trapd.conf to
accomodate them. We have found many traps where the original log
entry had nothing to do with the real trap, remember that the definition
of the trap stops at the last piece of the oid that NetView can
interpret. So pay attention to the first part of the trap where it
says "received from enterprist AAAA" that AAAA is the name you will see in
the list of enterprises when you bring up the trap definition
window.
Good luck,
Bill
-----Original
Message-----
From: Barr, Scott
[mailto:Scott_Barr@csgsystems.com]
Sent: Thursday, October 03,
2002 9:27 AM
To: nv-l@lists.tivoli.com
Subject: [nv-l]
Cursed Cisco Trap Formats
NetView
7.1.1 on Solaris 2.8
Okay guys, I
am looking for a way to skin a Cisco cat. The problem is due to the fact
that we run a wide variety of protocols and routers, we often do not run
the latest Cisco IOS versions. I recently had a situation where I
observed this in trapd.log:
1033361376 3 Sun Sep 29 23:49:36 2002
<routernamehere> A Cisco_Link_Down trap received from enterprise
cisco with 3 arguments: ifIndex=24; ifDescr=ATM1/0.8-aal5 layer;
ifType=49; locIfReason=FMT ERROR: accessing element #4, only 3
available
Notice the
format error. The reason this occurs is because under most circumstances
the cisco IOS is delivering only 3 elements and the trap format in
trapd.conf has 4 elements defined. So I opened TAC case on this with
Cisco and they told me to use the following command on the
routers:
snmp-server trap link
ietf
Now, the
trap comes in and looks like this:
1033478849 3 Tue Oct 01 08:27:29 2002
<routernamehere> A Cisco_Link_Down trap received from enterprise
cisco with 5 arguments: ifIndex=26; ifDescr=2; ifType=2;
locIfReason=ATM1/0.9-aal5
layer
Now we get
five arguments (still only 4 defined in trapd.conf) Okay, first problem
is the format is still wrong since trapd.conf is not matching
up with the IETF standard (which I have not been able to find yet). But
thats no big deal, since I assumed I was writing some code to catch the
variables and make intelligent decisions about what to do with
it.
But wait!
There is more! A lot of the routers send in link up/down traps in this
format:
1033480388 3 Tue Oct 01 08:53:08
2002 <routernamehere> A Cisco_Link_Down trap received
from enterprise cisco with 4 arguments: ifIndex=1;
ifDescr=Serial0/0; ifType=22; locIfReason=administratively
down
So, to sum
it up, I get link up/down traps with either 3, 4, or 5 arguments
depending on what router is sending it in. They all have the same cisco
enterprise ID so using trapd.conf to bypass the issue is not possible. I
use rulesets (not command for automatic action in trapd.conf) to
suppress interface outages of less than 5 minutes. I lose this
functionality if I just pass the trap via command for automatic action.
So what I need is a script that I can run using an action node, that can
decipher whether there are 3,4, or 5 arguments and then parse them out.
I am paging/emailing in my ruleset using action nodes, I would have to
move them to the parsing script (no problem - we use nvpage and mailx)
Suggestions
on scripts? How to code trapd.conf? Where is Cisco headquarters and what
is composition of the materials used to build it? I *am* not a script
coder person, so if you send me a perl script write it the way any idiot
C programmer could read it and not one of your
fancy-only-takes-1-line-of-completely-unreadable
code.
- Signed:
stuck between a rock and a hard place with a boulder on my
head.
Scott
Barr
Network Systems
Engineer
CSG
Systems
Phone:
402-431-7939
Fax:
402-431-7413