Designing and Managing Behavior Models
-
Alarm Actions - Fire Trigger -
In NerveCenter, you have several ways of generating a trigger. For instance, you can use a poll, a mask, or the FireTrigger() function to fire the trigger. You can also use the Fire Trigger alarm action to produce a trigger. This action is useful when you need one alarm to send a trigger to itself or to another alarm.
Here are some examples of when you might need to use the Fire Trigger alarm action:
This strategy is used in the predefined alarm IfLinkUpDown, shown in IfLinkUpDown Alarm.
On the linkDown transition, this alarm fires the linkTimer trigger on a three-minute delay. If a linkUp trigger does not cause a transition to Ground within three minutes, the linkTimer trigger is fired, and the alarm transitions to the LinkDown state.
Using the action for its timing capabilities is the most common use of the Fire Trigger action.
As an example, let's look at the predefined alarm BetterNode, which tracks the status of a node on a different subnet from the NerveCenter server.
If NerveCenter is unable to ping a node, the node's alarm instance transitions to the IcmpFail state. What happens next, however, depends on a trigger fired by an alarm instance monitoring the router that sits between the NerveCenter server and the node being monitored with BetterNode. If the alarm instance monitoring the router generates the routerUp trigger, the BetterNode alarm transitions to the critical NoResponse state, but if the router's alarm generates the routerDown trigger, the BetterNode alarm transitions to the normal RouterDown state.
For example, suppose you want to create a behavior model that detects high interface traffic at the node level. You'll need to create a subobject scope alarm that detects high traffic on a single interface and fires a trigger that notifies a node scope alarm that the interface is busy. You'll also need a node scope alarm that tracks the triggers being fired by the subobject scope alarms. Behavior models of this type are called multi-alarm behavior models.
To add a Fire Trigger action to an alarm transition:
New Action
button.A pop-up menu listing all alarm actions is displayed.
Fire Trigger
from the pop-up menu.The Fire Trigger Action dialog is displayed.
Trigger Name
field, specify the name of the trigger to be fired when the transition occurs.You can either type in the name of a new or existing trigger or select the name of an existing trigger from the Trigger Name drop-down list.
SubObject
, Node
, and Property
fields, or enter new values using the keyboard or the associated drop-down lists.If you want your Fire Trigger action to simply provide a timer for its own alarm instance, the default values are fine. The defaults ensure that the resulting trigger affects only alarm instances concerning the same node and subobject as the current alarm instance.
If the trigger being fired will affect instances of a different alarm, you may need to change the default values. The steps below explain the values you can provide for these attributes.
SubObject
field, either type in a new value or select a value from the SubObject
drop-down list.SubObject
field.Values for the SubObject Field lists the acceptable values for the SubObject field.
Values for the SubObject Field
Node
field, either type in a new value or select a value from the Node
drop-down list.Values for the Node Field lists the acceptable values for the Node field.
Property
field, either type in a new value or select a value from the Property
drop-down list.Values for the Property Field lists the acceptable values for the Property field.
When a trigger contains a property, the property group of the node found in a destination alarm instance's node data member must contain the trigger's property. Otherwise, no alarm transition will occur.
Delay
text field and selecting the appropriate radio button: Days
, Hours
, Minutes
, or Seconds
.
OK
button in the Fire Trigger Action dialog.
OK
button in the Transition Definition window.
Save
button in the Alarm Definition window.EventLog | Inform |
29 July 2003 |