Designing and Managing Behavior Models
-
Debugging a Behavior Model - Matching Triggers and Alarm Transitions - Rules for Matching -
Matching Triggers and Alarm Transitions
Auditing Behavior Models
Rules for Matching
A trigger causes an alarm transition if the identities of the trigger and the transition match -- that is, if their names, subobjects, nodes, and properties all pass comparison tests. The four comparison tests corresponding to the four parts of a trigger's identity are discussed in the upcoming subsections. The trigger must pass all four tests before it can prompt a transition.
Name Rule
A trigger's name must match the transition's name exactly.
Subobject Rule
A trigger's subobject matches a transition's subobject when any of the following statements is true:
- The transition's scope is Enterprise.
- The transition's scope is Node.
- Both the trigger's and the transition's subobjects are zero instance (baseObject.0) or are empty.
- The trigger's subobject matches the transition's subobject exactly.
- The transition's scope is instance and the instances match.
- The trigger's subobject is a wildcard ($ANY), and the transition's origin state is not Ground.
- The transition has subobject scope, the base objects are the same in the subobject for the trigger and transition, the instance in the trigger's subobject is a wildcard ($ON), and the transition's origin state is not Ground.
- The transition has instance scope, the instance in the trigger's subobject is a wildcard ($ON), and the transition is not from ground state.
- The instances in the trigger's subobject and transition's subobject match, and one of the base objects is an extension of the other.
Here's an example of one base object extending another. MIB-II defines ifEntry, a row of data
in a table of information about an interface. You access a particular instance of ifEntry using
the index ifIndex. Cisco extends this interface table by defining a local interface table, which
contains many additional attributes for each interface. The rows in this table are accessed using
the same index used to access the rows in the MIB-II interface table.
If the transition's origin state is Ground -- that is, a new alarm instance is being created -- the following statement must also be true:
Node Rule
A trigger's node matches a transition's node when any of the following statements is true:
- The transition's scope is Enterprise.
- The trigger's node matches the transition's node exactly.
- The trigger's node is $ANY, and the transition's origin state is not Ground.
If the transition would create a new alarm instance and therefore has no associated node, the follow statement must also be true:
- The trigger's node is not $ANY.
Property Rule
A trigger and transition pass the property test when all of the following conditions are met:
- For transitions of subobject or node scope, the transition's property is contained in the property group of the trigger's node, or the transition's property is NO_PROP.
- For transitions of subobject or node scope, the trigger's property (if it has one) is contained in the property group assigned to the trigger's node.
- For transitions of enterprise scope, the trigger's property (if it has one) must match the transition's property.
Examples of Matching Triggers and Transitions
This section presents a number of examples of triggers and transitions that do and do not match.
Example 1
A trigger named highLoad with the subobject system.0 and the node hp124 would prompt the following transitions:
Example 2
A trigger named lowSpace with the subobject $ANY, the node hp124, and the property includeMe (which is contained in hp124's property group) would prompt the following transitions:
- Name: lowSpace
Scope: Subobject
Subobject: ifEntry.2
Node: hp124
Property: includeMeToo, which is contained in hp124's property group
- Name: lowSpace
Scope: Node
Subobject: Irrelevant
Node: hp124
Property: NO_PROP
- Name: lowSpace
Scope: Subobject
Subobject: system.0
Node: hp124
Property: NO_PROP
The lowSpace trigger would not prompt the following transitions:
- Name: lowSpace
Scope: Enterprise
Subobject: Irrelevant
Node: Irrelevant
Property: hpws, which is contained in hp124's property group
The trigger and transition fail the property rule.
- Name: lowSpace
Scope: Subobject
Subobject: ifEntry.2
Node: hp125
Property: includeMe
The trigger and transition fail the node rule.
- Name: lowSpace
Scope: Subobject
Subobject: Unassigned (transition from Ground)
Node: Unassigned (transition from Ground)
Property: NO_PROP
The trigger and transition fail the subobject rule.
Example 3
A trigger named lowSpace with the subobject $NULL, the node $ANY, and the property NO_PROP would prompt the following transitions:
- Name: lowspace
Scope: Node
Subobject: Irrelevant
Node: hp125
Property: includeMe
- Name: lowspace
Scope: Enterprise
Subobject: Irrelevant
Node: Irrelevant
Property: dontIncludeMe
The lowSpace trigger would not prompt the following transitions:
- Name: lowspace
Scope: Subobject
Subobject: ifEntry.2
Node: hp125
Property: includeMe
The trigger and transition fail the subobject rule.
- Name: lowspace
Scope: Subobject
Subobject: Any string at all, including the empty string
Node: Any node at all
Property: NO_PROP
The trigger and transition fail the subobject rule.