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:
swFCPortScn NOTIFICATION-TYPE
VARIABLES {
swFCPortOpStatus 1.3.6.1.4.1.1588.2.1.1.1.6.2.1.4 INTEGER
{
unknown(0)
online(1)
offline(2)
testing(3)
faulty(4)
}
swFCPortIndex 1.3.6.1.4.1.1588.2.1.1.1.6.2.1.1 SwPortIndex
swFCPortName 1.3.6.1.4.1.1588.2.1.1.1.6.2.1.36 DisplayString
swSsn 1.3.6.1.4.1.1588.2.1.1.1.1.10 DisplayString
swFCPortFlag 1.3.6.1.4.1.1588.2.1.1.1.6.2.1.38 FcPortFlag
{
physical(0)
virtual(1)
}
swVfId 1.3.6.1.4.1.1588.2.1.1.1.2.15 Integer32
}
DESCRIPTION
"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
Please reference the "Event Configuration" section of the documentation for more information.