How to create a DX NetOps Spectrum "Event Condition" based on a trap varbind value.
search cancel

How to create a DX NetOps Spectrum "Event Condition" based on a trap varbind value.


Article ID: 45035


Updated On:


CA Spectrum DX NetOps


When a different requirement arises with regards to alarm management in Spectrum differing from the default, its necessary to customise the events that raise these alarms.

For example, If a new, non-default online/offline condition is required to better reflect business requirements on device alarming, then an Event Condition Rule can be created to raise an alarm depending on the condition rules.

In this example, we have an event with Code (0x43b0003) and Event Message:

Device {m} of type {t} at index {T swFCPortIndex 1} has changed operational state. Operational Status is now {T swFCPortOpStatus 2}.

The value of {T swFCPortOpStatus 2} can be offline or online.  We want to create a new event for when it is online and another for when it is offline. On the two new events, we also want to use a rule  to define good “Time Interval”. 

Looking at the Vendor MIB file, the relevant OID variables are:

  swFCPortOpStatus         INTEGER                       

swFCPortIndex         SwPortIndex
swFCPortName          DisplayString
swSsn                  DisplayString
swFCPortFlag          FcPortFlag                    
   swVfId              Integer32



"This trap is sent whenever an FC port operational status or its type changed. The events that trigger this trap are port goes to online/offline, port type changed to E-port/F-port/FL-port. swFCPortName and swSsn are optional varbind in the trap PDU.swSsn is optional varbind sent when swExtTrap is also enabled.swVfId is optional if VF is enabled."


Release: All Supported Releases

Component: SPCAEM - Events and Alarms


The logic for this would be an Event Condition rule on varbind 2 of 0x43b0003.

If the value is 1 (online)
       then event A.

If the value is 2 (offline)
       then event B.

If event B is not followed in 1200 seconds by event A,
       then event C (which generates an alarm)    

You would also need to set an Event Discriminator on varbind 1 (swFCPortIndex) for events A, B and C. Use an Attribute ID to specify an attribute on the current model (the one where the event was generated one), which holds the time value for the pair rule. It can be used to set individual, model-specific time values for the rule instead of globally defined hardcoded ones.

0xfff00263 // "good event" created when port status is online

0xfff00264 R CA.EventPair, 0xfff00263, "0xfff00265 -:-", 1200 (if 0xfff00264 occurs and is not followed in 1200 seconds by the "good event" 0xfff00263, then create new event 0xfff00265 )

0xfff00265 A 3,0xfff00265 // new event that creates an alarm

0x43b0003 R CA.EventCondition, "({v 2} == {I 2})" , "0xfff00264 -:-","({v 2} == {I 1})" , "0xfff00263 -:-"

// when v2 of 0x43b0003 =1, create 0xfff00263 and when v2 of 0x43b0003 =2, create 0xfff00264 


NOTE: Anything following // Denotes comments

Additional Information

Please reference the "Event Configuration" section of the documentation for more information.