I know this was already answered, but since I just talked a bit about
this in Tampa....
Adjacency traps and adjacency state variables of any kind can be
very useful. Since the BGP ones were already posted, I'll just say
that similar state variables are available in the OSPF MIB, such as
ospfNbrState. Some boxes are capable of sending traps for state
transitions of these variables.
Similar things are available for other adjacency-like things. For
exmaple, pppLinkCurrentState (and doing threshold monitoring on PPP LQM
stuff is a horribly good idea wherever you might be using PPP).
I also mentioned one reasonable way of watching for link congestion.
Correlate link utilization (via if[In|Out]Octets and if[In|Out]Pkts)
against if[In|Out]Errors and if[In|Out]Discards. In this last set, in
my experience ifOutDiscards is usually more useful than ifInDiscards.
Usually, ifOutDiscards (if the agent is doing the right thing) is a good
touchstone for congestion; it's incremented when a packet is valid but
was dropped for another reason. In my experience, that reason is
usually congestion (output queue is full, hence packet is sent to bit
Where available, it's also wise to put queue lengths and drops in the
correlation mix here. See the Cisco lsystem table for some of these.
However, my advice on queue drops is to stick with MIB-II ifOutDiscards
unless you find it erroneous or not really getting you the answer you
need. Why? Because you should be able to apply it across most of your
devices (including your host-based services if you have any) and not
have to use an enterprise MIB which doesn't exist on another vendor's
product (and if something similar exists, may not be semantically
Hope this helps.