-- ***************************************************************** -- Definitions of managed objects supporting alarm monitoring. -- -- July 2004, Caleb Chiu -- -- Copyright (c) 2004 by Askey Computer Corp. -- All rights reserved. -- ***************************************************************** ASKEY-ENTITY-ALARM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI TEXTUAL-CONVENTION, DisplayString, AutonomousType, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP FROM SNMPv2-CONF ipDslam, AskeyVendorTypeEnum FROM ASKEY-DSLAM-MIB ; askeyEntityAlarmMIB MODULE-IDENTITY LAST-UPDATED "0411221541Z" -- 2004/11/22 15:41 ORGANIZATION "Askey Computer Corp." CONTACT-INFO "Caleb Chiu E-mail: caleb@askey.com.tw " DESCRIPTION "The MIB module presents all managed objects extended to ENTITY-MIB, including alarm definition, alarm ,monitoring and entity status." REVISION "0411221541Z" DESCRIPTION "Add aeRelayInTable for alarm relay-in ports configuration." REVISION "0410131400Z" DESCRIPTION "Replace *VendorTypeEnum with *PlannedVendorTypeEnum and *OnlineendorTypeEnum. More detail information." REVISION "0408101610Z" DESCRIPTION "Remove import from ENTITY-MIB, use Unsigned32 instead of PhysicalIndex. This make this MIB has more compatibility" REVISION "0408101010Z" DESCRIPTION "Remove unused objects." REVISION "0407301410Z" DESCRIPTION "Import PhysicalIndex from ENTITY-MIB, remove aeAlarmNotification from aeAlarmTable." ::= { ipDslam 12 } AskeyAlarmBit ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An arbitrary value which uniquely identifies a type of alarm notified by hardware. It implies the bit position of alarm represented by a 32-bits unsigned integer, from 0 (bit0) to 31 (bit31). The value is a small positive integer; index values for different alarm bits are not necessarily contiguous. Related information about all alarm bits are defined in aeAlarmDefinitionTable." SYNTAX INTEGER (0..31) AskeyAlarmSeverity ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Defines the level of alarm severity." SYNTAX INTEGER { critical(1), -- critical alarm major(2), -- major alarm minor(3), -- minor alarm warning(4), -- warning info(5), -- information none(99) -- not an alarm } AskeyAlarmName ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Defines the name of alarm." SYNTAX DisplayString (SIZE (1..32)) AskeyAlarmList ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "For each set of physical entities sharing a unique aePhysicalVendorType, there an exists unique alarm space. An unsigned 32-bit integer represents an alarm list, in which each bit represents an alarm type. The LSB bit (bit 0) represent alarm types identified by the integer values 1. The bit 1 represent alarm types identified by the integer values 2, and so forth. So The MSB bit (bit 31) represent alarm types identified by the integer values 32. MSB LSB 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | | | | | +- Alarm 24 .... | | | | | | | +- Alarm 0 | | | | | | +--- Alarm 25 | | | | | | +--- Alarm 1 | | | | | +----- Alarm 26 | | | | | +----- Alarm 2 | | | | +------- Alarm 27 | | | | +------- Alarm 3 | | | +--------- Alarm 28 | | | +--------- Alarm 4 | | +----------- Alarm 29 | | +----------- Alarm 5 | +------------- Alarm 30 | +------------- Alarm 6 +--------------- Alarm 31 +--------------- Alarm 7 " SYNTAX Unsigned32 AskeyAlarmAction ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Defines the action of alarm." SYNTAX INTEGER { set(1), -- alarm is set clear(2) -- alarm is cleared } -- MIB Object Definitions askeyEntityAlarmMIBObjects OBJECT IDENTIFIER ::= { askeyEntityAlarmMIB 1 } askeyEntityAlarmMIBTraps OBJECT IDENTIFIER ::= { askeyEntityAlarmMIB 2 } aeAlarmDefinition OBJECT IDENTIFIER ::= { askeyEntityAlarmMIBObjects 2 } aeAlarmMonitoring OBJECT IDENTIFIER ::= { askeyEntityAlarmMIBObjects 3 } aeAlarmHistory OBJECT IDENTIFIER ::= { askeyEntityAlarmMIBObjects 4 } -- Alarm Definition Table aeAlarmDefinitionTable OBJECT-TYPE SYNTAX SEQUENCE OF AeAlarmDefinitionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains alarm definition. Each row defines a single alarm per vendor type, NOT an alarm list." ::= { aeAlarmDefinition 1 } aeAlarmDefinitionEntry OBJECT-TYPE SYNTAX AeAlarmDefinitionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about an alarm definition to help an NMS find the meaning of an alarm, and object (aeAlarmFiltered) to help an NMS stop monitoring a type of alarm." INDEX { aeAlarmDefVendorTypeEnum, aeAlarmDefType } ::= { aeAlarmDefinitionTable 1 } AeAlarmDefinitionEntry ::= SEQUENCE { aeAlarmDefVendorTypeEnum AskeyVendorTypeEnum, aeAlarmDefType AskeyAlarmBit, aeAlarmDefName AskeyAlarmName, aeAlarmDefDescr DisplayString, aeAlarmDefSeverity AskeyAlarmSeverity, aeAlarmDefFiltered TruthValue, aeAlarmDefSuppressedby AskeyAlarmList } aeAlarmDefVendorTypeEnum OBJECT-TYPE SYNTAX AskeyVendorTypeEnum MAX-ACCESS not-accessible STATUS current DESCRIPTION "A reference of the vendor-specific hardware type of the physical entity." ::= { aeAlarmDefinitionEntry 1 } aeAlarmDefType OBJECT-TYPE SYNTAX AskeyAlarmBit MAX-ACCESS read-only STATUS current DESCRIPTION "The type of this alarm. It represents the position of bit in the AskeyAlarmList." ::= { aeAlarmDefinitionEntry 2 } aeAlarmDefName OBJECT-TYPE SYNTAX AskeyAlarmName MAX-ACCESS read-only STATUS current DESCRIPTION "The abbreviation of an alarm type, e.g. LOS, LOF, AIS." ::= { aeAlarmDefinitionEntry 3 } aeAlarmDefDescr OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of an alarm type. This object should contain the description and trouble-shooting of a alarm." ::= { aeAlarmDefinitionEntry 4 } aeAlarmDefSeverity OBJECT-TYPE SYNTAX AskeyAlarmSeverity MAX-ACCESS read-write STATUS current DESCRIPTION "The severity of an alarm type." DEFVAL { 4 } ::= { aeAlarmDefinitionEntry 5 } aeAlarmDefFiltered OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "To determine whether enable this alarm trap." DEFVAL { 2 } -- false ::= { aeAlarmDefinitionEntry 6 } aeAlarmDefSuppressedby OBJECT-TYPE SYNTAX AskeyAlarmList MAX-ACCESS read-write STATUS current DESCRIPTION "To determine which alarms make this alarm suppressed." DEFVAL { 0 } -- non-suppressed ::= { aeAlarmDefinitionEntry 7 } -- Askey Entity Alarm Table aeAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF AeAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains one row per physical entity. Information in this table are derived from AskeyAlarmList and aeAlarmDefinitionTable." ::= { aeAlarmMonitoring 1 } aeAlarmEntry OBJECT-TYPE SYNTAX AeAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The status of an physical entity about active alarm includes highest-level alarm severity and service affection." INDEX { aeAlarmPhysicalIndex } ::= { aeAlarmTable 1 } AeAlarmEntry ::= SEQUENCE { aeAlarmPhysicalIndex Unsigned32, aeAlarmPlannedVendorTypeEnum AskeyVendorTypeEnum, aeAlarmOnlineVendorTypeEnum AskeyVendorTypeEnum, aeAlarmList AskeyAlarmList, aeAlarmLastChange Unsigned32, aeAlarmSeverity AskeyAlarmSeverity } aeAlarmPhysicalIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Physical entity index, encoded by shelf/slot/port, 2 decimal digits each field." ::= { aeAlarmEntry 1 } aeAlarmPlannedVendorTypeEnum OBJECT-TYPE SYNTAX AskeyVendorTypeEnum MAX-ACCESS read-only STATUS current DESCRIPTION "An enumeration of the planned vendor-specific hardware type of the physical entity." ::= { aeAlarmEntry 2 } aeAlarmOnlineVendorTypeEnum OBJECT-TYPE SYNTAX AskeyVendorTypeEnum MAX-ACCESS read-only STATUS current DESCRIPTION "An enumeration of the online vendor-specific hardware type of the physical entity." ::= { aeAlarmEntry 3 } aeAlarmList OBJECT-TYPE SYNTAX AskeyAlarmList MAX-ACCESS read-only STATUS current DESCRIPTION "Defines the active alarms on physical entity. Alarm information is represented by AskeyAlarmList, A manager can use bitwise integer operation to retrieve what type of alarms are asserted. All the alarm types are defined in aeAlarmDefinitionTable. A bit value of '0' implies no such type of alarm and in contrast a bit value of '1' implies there is an such type of alarm asserted. All unused bits (or no alarm) are filled by 0." ::= { aeAlarmEntry 4 } aeAlarmLastChange OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The system time of the alarm vector is changed." ::= { aeAlarmEntry 5 } aeAlarmSeverity OBJECT-TYPE SYNTAX AskeyAlarmSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "The highest level of alarm severity of a physical entity." ::= { aeAlarmEntry 6 } aeHistoryAlarmTableSize OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The size of the aeHistoryAlarmTable in rows. A value of 0 means no alarm logged in this table." ::= { aeAlarmHistory 1 } aeHistoryAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF AeHistoryAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all active alarms currently exist in the overall system. There is one row per active alarm of physical entity. When a manager misses those traps originated by a agent, it can also retrieve those events from this table." ::= { aeAlarmHistory 2 } aeHistoryAlarmEntry OBJECT-TYPE SYNTAX AeHistoryAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The history of alarms recently ever existed in the system but removed." INDEX { aeHistoryAlarmIndex } ::= { aeHistoryAlarmTable 1 } AeHistoryAlarmEntry ::= SEQUENCE { aeHistoryAlarmIndex INTEGER, aeHistoryAlarmPhysicalIndex Unsigned32, aeHistoryAlarmPlannedVendorTypeEnum AskeyVendorTypeEnum, aeHistoryAlarmOnlineVendorTypeEnum AskeyVendorTypeEnum, aeHistoryAlarmType AskeyAlarmBit, aeHistoryAlarmTime Unsigned32, aeHistoryAlarmAction AskeyAlarmAction } aeHistoryAlarmIndex OBJECT-TYPE SYNTAX INTEGER(1..2146483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this entry.The value of index will wrap back to 1 while it reaching 2^31-1. So a manager must notice this condition by checking aeHistoryAlarmTime." ::= { aeHistoryAlarmEntry 1 } aeHistoryAlarmPhysicalIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index of physical entity for this alarm." ::= { aeHistoryAlarmEntry 2 } aeHistoryAlarmPlannedVendorTypeEnum OBJECT-TYPE SYNTAX AskeyVendorTypeEnum MAX-ACCESS read-only STATUS current DESCRIPTION "An enumeration of the planned vendor-specific hardware type of the physical entity. " ::= { aeHistoryAlarmEntry 3 } aeHistoryAlarmOnlineVendorTypeEnum OBJECT-TYPE SYNTAX AskeyVendorTypeEnum MAX-ACCESS read-only STATUS current DESCRIPTION "An enumeration of the online vendor-specific hardware type of the physical entity. " ::= { aeHistoryAlarmEntry 4 } aeHistoryAlarmType OBJECT-TYPE SYNTAX AskeyAlarmBit MAX-ACCESS read-only STATUS current DESCRIPTION "The type of this alarm." ::= { aeHistoryAlarmEntry 5 } aeHistoryAlarmTime OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time this alarm asserted." ::= { aeHistoryAlarmEntry 6 } aeHistoryAlarmAction OBJECT-TYPE SYNTAX AskeyAlarmAction MAX-ACCESS read-only STATUS current DESCRIPTION "The action of this alarm." ::= { aeHistoryAlarmEntry 7 } -- Askey Relay-In Table aeRelayInTable OBJECT-TYPE SYNTAX SEQUENCE OF AeRelayInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains one row per relay in entity. Administrator use this table to management the normal/abnormal status of relay-in alarm ports." ::= { askeyEntityAlarmMIBObjects 5 } aeRelayInEntry OBJECT-TYPE SYNTAX AeRelayInEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The configuration and status of an physical entity about alarm relay-in ports." INDEX { aeRelayInPhysicalIndex } ::= { aeRelayInTable 1 } AeRelayInEntry ::= SEQUENCE { aeRelayInPhysicalIndex Unsigned32, aeRelayInName DisplayString, aeRelayInNormalStatus INTEGER, aeRelayInCurrentStatus INTEGER } aeRelayInPhysicalIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Physical entity index, encoded by shelf/slot/port, 2 decimal digits each field." ::= { aeRelayInEntry 1 } aeRelayInName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "User defined name for this relay-in port." ::= { aeRelayInEntry 2 } aeRelayInNormalStatus OBJECT-TYPE SYNTAX INTEGER { open(1), close(2), disable(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "User defined status for this relay-in port." ::= { aeRelayInEntry 3 } aeRelayInCurrentStatus OBJECT-TYPE SYNTAX INTEGER { open(1), close(2), disable(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Current status for this relay-in port." ::= { aeRelayInEntry 4 } -- Trap Definitions askeyEntityMIBTrapPrefix OBJECT IDENTIFIER ::= { askeyEntityAlarmMIBTraps 0 } askeyEntityAlarmTrap NOTIFICATION-TYPE OBJECTS { aeAlarmPhysicalIndex, aeAlarmPlannedVendorTypeEnum, aeAlarmOnlineVendorTypeEnum, aeAlarmList, aeAlarmLastChange, aeAlarmSeverity } STATUS current DESCRIPTION "An askeyEntityAlarmClear trap is sent when a entity clears an alarm. It can be utilized by an NMS to trigger alarm definition table maintenance polls. An NMS should periodically check the items of aeHistoryAlarmTable to detect any missed askeyEntityAlarmClear trap events, e.g. due to throttling or transmission loss." ::= { askeyEntityMIBTrapPrefix 1 } -- conformance information askeyEntityAlarmConformance OBJECT IDENTIFIER ::= { askeyEntityAlarmMIB 3 } askeyEntityAlarmCompliances OBJECT IDENTIFIER ::= { askeyEntityAlarmConformance 1 } askeyEntityAlarmGroups OBJECT IDENTIFIER ::= { askeyEntityAlarmConformance 2 } -- compliance statements askeyEntityAlarmCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities which implement the Askey EntityAlarm MIB." MODULE -- this module MANDATORY-GROUPS { askeyEntityAlarmDefinitionGroup, askeyEntityAlarmMonitoringGroup, askeyEntityAlarmNotificationsGroup } ::= { askeyEntityAlarmCompliances 1 } -- MIB groupings askeyEntityAlarmDefinitionGroup OBJECT-GROUP OBJECTS { aeAlarmDefType, aeAlarmDefName, aeAlarmDefDescr, aeAlarmDefSeverity, aeAlarmDefFiltered, aeAlarmDefSuppressedby } STATUS current DESCRIPTION "The collection of objects which are used to represent definition of alarms, for which a single agent provides management information." ::= { askeyEntityAlarmGroups 2 } askeyEntityAlarmMonitoringGroup OBJECT-GROUP OBJECTS { aeAlarmPlannedVendorTypeEnum, aeAlarmOnlineVendorTypeEnum, aeAlarmList, aeAlarmLastChange, aeAlarmSeverity } STATUS current DESCRIPTION "The collection of objects which are used to represent monitoring of alarm status, for which a single agent provides management information." ::= { askeyEntityAlarmGroups 3 } askeyEntityAlarmNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { askeyEntityAlarmTrap } STATUS current DESCRIPTION "The collection of notifications used to indicate Entity MIB data consistency and general status information." ::= { askeyEntityAlarmGroups 4 } END