ituAlarmActiveStatsWarningCurrent,
ituAlarmActiveStatsIndeterminates,
ituAlarmActiveStatsCriticals,
ituAlarmActiveStatsMajors,
ituAlarmActiveStatsMinors,
ituAlarmActiveStatsWarnings
}
STATUS current
DESCRIPTION
"ITU Active Alarm Statistics."
::= { ituAlarmGroups 4 }
END
6. Examples
6.1. Alarms Based on linkUp/linkDown Notifications
This example demonstrates an interface-based alarm that goes into a
state of "warning" when a linkDown Notification [RFC2863] occurs but
the ifAdminStatus indicates the interface was taken down
administratively. If IfAdminStatus is "up" when the linkDown
Notification occurs, then there is a problem, so the state of the
alarm is critical. A linkUp alarm clears the alarm.
linkDown NOTIFICATION-TYPE
OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
STATUS current
DESCRIPTION
""
::= { snmpTraps 3 }
linkUp NOTIFICATION-TYPE
OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
STATUS current
DESCRIPTION
""
::= { snmpTraps 4 }
alarmModelIndex 3
alarmModelState 1
alarmModelNotificationId linkUp
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "linkUp"
alarmModelSpecificPointer ituAlarmEntry.3.1
alarmModelVarbindSubtree ifIndex (1.3.6.1.2.1.2.2.1.1)
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType communicationsAlarm (2)
ituAlarmPerceivedSeverity cleared (1)
ituAlarmGenericModel alarmModelEntry.3.1
alarmModelIndex 3
alarmModelState 2
alarmModelNotificationId linkDown
alarmModelVarbindIndex 2
alarmModelVarbindValue down (2)
alarmModelDescription "linkDown administratively"
alarmModelSpecificPointer ituAlarmEntry.3.6
alarmModelVarbindSubtree ifIndex (1.3.6.1.2.1.2.2.1.1)
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType communicationsAlarm (2)
ituAlarmPerceivedSeverity warning (6)
ituAlarmGenericModel alarmModelEntry.3.2
alarmModelIndex 3
alarmModelState 3
alarmModelNotificationId linkDown
alarmModelVarbindIndex 2
alarmModelVarbindValue up (1)
alarmModelDescription "linkDown - confirmed problem"
alarmModelSpecificPointer ituAlarmEntry.3.3
alarmModelVarbindSubtree ifIndex (1.3.6.1.2.1.2.2.1.1)
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType communicationsAlarm (2)
ituAlarmPerceivedSeverity critical (3)
ituAlarmGenericModel alarmModelEntry.3.3
alarmActiveIndex 1
alarmActiveDateAndTime 2342464573
alarmActiveDateAndTime DateAndTime,
alarmActiveEngineID SnmpEngineID,
alarmActiveEngineAddressType ipV4
alarmActiveEngineAddress 10.10.10.10
alarmActiveContextName SnmpAdminString,
alarmActiveVariables 3
alarmActiveNotificationID 1.3.6.1.6.3.1.1.5.3
alarmActiveResourceId 1.3.6.1.2.1.2.2.1.1.346
alarmActiveLogPointer 0.0
alarmActiveModelPointer alarmModelEntry.3.3
alarmActiveSpecificPointer ituAlarmActiveEntry.1.3
ituAlarmActiveTrendIndication moreSevere (1)
ituAlarmDetector 0.0
ituAlarmServiceProvider 0.0
ituAlarmServiceUser 0.0
alarmActiveVariableIndex 1
alarmActiveVariableID sysUpTime.0
alarmActiveVariableValueType timeTicks(3)
alarmActiveVariableCounter32Val 0
alarmActiveVariableUnsigned32Val 0
alarmActiveVariableTimeTicksVal 46754
alarmActiveVariableInteger32Val 0
alarmActiveVariableOctetStringVal ""
alarmActiveVariableIpAddressVal 0
alarmActiveVariableOidVal 0.0
alarmActiveVariableCounter64Val 0
alarmActiveVariableIndex 2
alarmActiveVariableID snmpTrapOID.0
alarmActiveVariableValueType objectId(7)
alarmActiveVariableCounter32Val 0
alarmActiveVariableUnsigned32Val 0
alarmActiveVariableTimeTicksVal 0
alarmActiveVariableInteger32Val 0
alarmActiveVariableOctetStringVal ""
alarmActiveVariableIpAddressVal 0
alarmActiveVariableOidVal 1.3.6.1.6.3.1.1.5.3
alarmActiveVariableCounter64Val 0
alarmActiveVariableIndex 3
alarmActiveVariableID ifIndex
alarmActiveVariableValueType integer32(4)
alarmActiveVariableCounter32Val 0
alarmActiveVariableUnsigned32Val 0
alarmActiveVariableTimeTicksVal 0
alarmActiveVariableInteger32Val 346
alarmActiveVariableOctetStringVal ""
alarmActiveVariableIpAddressVal 0
alarmActiveVariableOidVal 0.0
alarmActiveVariableCounter64Val 0
alarmActiveVariableIndex 4
alarmActiveVariableID ifAdminStatus
alarmActiveVariableValueType integer32(4)
alarmActiveVariableCounter32Val 0
alarmActiveVariableUnsigned32Val 0
alarmActiveVariableTimeTicksVal 0
alarmActiveVariableInteger32Val up (1)
alarmActiveVariableOctetStringVal ""
alarmActiveVariableIpAddressVal 0
alarmActiveVariableOidVal 0.0
alarmActiveVariableCounter64Val 0
alarmActiveVariableIndex 5
alarmActiveVariableID ifOperStatus
alarmActiveVariableValueType integer32(4)
alarmActiveVariableCounter32Val 0
alarmActiveVariableUnsigned32Val 0
alarmActiveVariableTimeTicksVal 0
alarmActiveVariableInteger32Val down(2)
alarmActiveVariableOctetStringVal ""
alarmActiveVariableIpAddressVal 0
alarmActiveVariableOidVal 0.0
alarmActiveVariableCounter64Val 0
alarmActiveVariableOpaqueVal
6.2. Temperature Alarms Using Generic Notifications
Consider a system able to detect four different temperature states
for a widget - normal, minor, major, critical. The system does not
have any Notification definitions for these alarm states. A
temperature alarm can be modelled using the generic alarm
Notifications of alarmClearState and alarmActive.
alarmModelIndex 5
alarmModelState 1
alarmModelNotificationId alarmClearState
alarmModelVarbindIndex 2
alarmModelVarbindValue cleared (1)
alarmModelDescription "Acme Widget Temperature Normal"
alarmModelSpecificPointer ituAlarmEntry.5.1
alarmModelVarbindSubtree alarmActiveResourceId
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType environmentalAlarm (6)
ituPerceivedSeverity cleared (1)
ituAlarmGenericModel alarmModelEntry.5.1
alarmModelIndex 5
alarmModelState 2
alarmModelNotificationId alarmActiveState
alarmModelVarbindIndex 2
alarmModelVarbindValue minor (5)
alarmModelDescription "Acme Widget Temperature Minor"
alarmModelSpecificPointer ituAlarmEntry.5.5
alarmModelVarbindSubtree alarmActiveResourceId
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventState environmentalAlarm (6)
ituPerceivedSeverity minor (5)
ituAlarmGenericModel alarmModelEntry.5.2
alarmModelIndex 5
alarmModelState 3
alarmModelNotificationId alarmActiveState
alarmModelVarbindIndex 2
alarmModelVarbindValue major (4)
alarmModelDescription "Acme Widget Temperature Major"
alarmModelSpecificPointer ituAlarmEntry.5.4
alarmModelVarbindSubtree alarmActiveResourceId
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType environmentalAlarm (6)
ituPerceivedSeverity major (4)
ituAlarmGenericModel alarmModelEntry.5.3
alarmModelIndex 5
alarmModelState 4
alarmModelNotificationId alarmActiveState
alarmModelVarbindIndex 2
alarmModelVarbindValue critical (3)
alarmModelDescription "Acme Widget Temperature Critical"
alarmModelSpecificPointer ituAlarmEntry.5.3
alarmModelVarbindSubtree alarmActiveResourceId
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType environmentalAlarm (6)
ituPerceivedSeverity critical (3)
ituAlarmGenericModel alarmModelEntry.5.4
6.3. Temperature Alarms Without Notifications
Consider a system able to detect four different temperature states
for a widget - normal, minor, major, critical. The system does not
have any Notification definitions for these alarm states. A
temperature alarm can be modelled without specifying any
Notifications in the alarm model. When a temperature state other
than normal is detected, an instance of this alarm would be added to
the active alarm table, but no Notifications would be sent out.
This could alternatively be accomplished using the models from
example 6.2 and by not specifying any target managers in the SNMP-
TARGET-MIB, which would allow the alarm state Notifications to be
logged in the Notification Log while still preventing Notifications
from being transmitted on the wire.
alarmModelIndex 6
alarmModelState 1
alarmModelNotificationId 0.0
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "Widget Temperature"
alarmModelSpecificPointer ituAlarmEntry.6.1
alarmModelVarbindSubtree 0.0
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType environmentalAlarm (6)
ituPerceivedSeverity cleared (1)
ituAlarmGenericModel alarmModelEntry.6.1
alarmModelIndex 6
alarmModelState 2
alarmModelNotificationId 0.0
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "Widget Temperature"
alarmModelSpecificPointer ituAlarmEntry.6.5
alarmModelVarbindSubtree 0.0
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventState environmentalAlarm (6)
ituAlarmPerceivedSeverity minor (5)
ituAlarmGenericModel alarmModelEntry.6.2
alarmModelIndex 6
alarmModelState 3
alarmModelNotificationId 0.0
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "Widget Temperature"
alarmModelSpecificPointer ituAlarmEntry.6.4
alarmModelVarbindSubtree 0.0
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType environmentalAlarm (6)
ituPerceivedSeverity major (4)
ituAlarmGenericModel alarmModelEntry.6.3
alarmModelIndex 6
alarmModelState 4
alarmModelNotificationId 0.0
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "Widget Temperature Severe"
alarmModelSpecificPointer ituAlarmEntry.6.3
alarmModelVarbindSubtree 0.0
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
ituAlarmEventType environmentalAlarm (6)
ituPerceivedSeverity critical (3)
ituAlarmGenericModel alarmModelEntry.6.4
6.4. Printer MIB Alarm Example
Consider the following Notifications defined in the
printer MIB [RFC3805]:
prtAlertSeverityLevel OBJECT-TYPE
-- This value is a type 1 enumeration
SYNTAX INTEGER {
other(1),
critical(3),
warning(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The level of severity of this alert table entry. The printer
determines the severity level assigned to each entry into the
table."
::= { prtAlertEntry 2 }
printerV2Alert NOTIFICATION-TYPE
OBJECTS { prtAlertIndex, prtAlertSeverityLevel, prtAlertGroup,
prtAlertGroupIndex, prtAlertLocation, prtAlertCode }
STATUS current
DESCRIPTION
"This trap is sent whenever a critical event is added to the
prtAlertTable."
::= { printerV2AlertPrefix 1 }
These Notifications can be used to model a printer alarm as follows:
alarmModelIndex 9 alarmModelState 1
alarmModelNotificationId alarmClearState
alarmModelVarbindIndex 0 alarmModelVarbindValue 0
alarmModelDescription "Printer Alarm"
alarmModelSpecificPointer 0.0 alarmModelVarbindSubtree
prtAlertGroup alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
alarmModelIndex 9 alarmModelState 2
alarmModelNotificationId printerV2Alert
alarmModelVarbindIndex 2 alarmModelVarbindValue
warning (4) alarmModelDescription "Printer Alarm"
alarmModelSpecificPointer 0.0 alarmModelVarbindSubtree
prtAlertGroup alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
alarmModelIndex 9 alarmModelState 3
alarmModelNotificationId printerV2Alert
alarmModelVarbindIndex 2 alarmModelVarbindValue
other (1) alarmModelDescription "Printer Alarm - unknown
severity" alarmModelSpecificPointer 0.0
alarmModelVarbindSubtree prtAlertGroup
alarmModelResourcePrefix 0.0 alarmModelRowStatus
active (1)
alarmModelIndex 9 alarmModelState 4
alarmModelNotificationId printerV2Alert
alarmModelVarbindIndex 2 alarmModelVarbindValue
critical (3) alarmModelDescription "Printer Alarm"
alarmModelSpecificPointer 0.0 alarmModelVarbindSubtree
prtAlertGroup alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
6.5. RMON Alarm Example
The RMON MIB [RFC2819] defines a mechanism for generating threshold
alarms. When the thresholds are crossed, RisingAlarm and
FallingAlarm Notifications are generated as appropriate. These
Notifications can be used to model an upper threshold alarm as
follows:
alarmModelIndex 6
alarmModelState 1
alarmModelNotificationId FallingAlarm
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "RMON Rising Clear Alarm"
alarmModelSpecificPointer 0.0
alarmModelVarbindSubtree alarmIndex
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
alarmModelIndex 6
alarmModelState 2
alarmModelNotificationId RisingAlarm
alarmModelVarbindIndex 0
alarmModelVarbindValue 0
alarmModelDescription "RMON Rising Alarm"
alarmModelSpecificPointer 0.0
alarmModelVarbindSubtree alarmIndex
alarmModelResourcePrefix 0.0
alarmModelRowStatus active (1)
6.6. The Lifetime of an Alarm
The following example demonstrates the relationship between the
active alarm table, the clear alarm table and the Notification Log
MIB.
Consider a system with alarms modelled as in example 1 and which also
supports the informational Notification dsx3LineStatusChange.
dsx3LineStatusChange NOTIFICATION-TYPE
OBJECTS { dsx3LineStatus,
dsx3LineStatusLastChange }
STATUS current
DESCRIPTION
"A dsx3LineStatusChange trap is sent when the
value of an instance of dsx3LineStatus changes. It
can be utilized by an NMS to trigger polls. When
the line status change results in a lower level
line status change (i.e., ds1), then no traps for
the lower level are sent."
::= { ds3Traps 0 1 }
0. At system start, the active alarm table, alarm clear table and
the Notification Log are all empty.
___________________________ _______________________
| alarmActiveTable | | nlmLogTable |
|---------------------------| |-----------------------|
| alarmActiveIndex | alarm | | nlmLogPointer | notif.|
|---------------------------| |-----------------------|
|___________________________| |_______________________|
__________________________________________________
| alarmClearTable |
|--------------------------------------------------|
| alarmClear Index | alarm |
|--------------------------------------------------|
| | |
|__________________________________________________|
1. Some time later, a link goes down generating a linkDown
Notification, which is sent out and logged in the
Notification Log. As this Notification is modelled as
an alarm state, an entry is added to the active alarm
table.
__________________________________________________
| alarmActiveTable |
|--------------------------------------------------|
| alarmActiveIndex | alarm |
|--------------------------------------------------|
| 1 | link down - problem confirmed |
|__________________________________________________|
_______________________________________________
| nlmLogTable |
|-----------------------------------------------|
| nlmLogPointer | Notification |
|-----------------------------------------------|
| 1 | linkdown |
|_______________________________________________|
__________________________________________________
| alarmClearTable |
|--------------------------------------------------|
| alarmClear Index | alarm |
|--------------------------------------------------|
| | |
|__________________________________________________|
2. Some time later, the value of an instance of dsx3LineStatus
changes. This Notification is sent out and logged. As this
is not modelled into an alarm state, the active alarm table
remains unchanged.
__________________________________________________
| alarmActiveTable |
|--------------------------------------------------|
| alarmActiveIndex | alarm |
|--------------------------------------------------|
| 1 | linkDown - problem confirmed |
|__________________________________________________|
_____________________________________________
| nlmLogTable |
|---------------------------------------------|
| nlmLogPointer | Notification |
|---------------------------------------------|
| 1 | linkDown |
| 2 | dsx3LineStatusChange |