CPQTHRSH-MIB -- **************************************************************************** -- -- Threshold Management Functions -- Management Information Base for SNMP Network Management -- -- -- Copyright 1993, Compaq Computer Corporation. -- All Rights Reserved. -- -- The information in this document is subject to change without notice. -- -- COMPAQ COMPUTER CORPORATION SHALL NOT BE LIABLE FOR TECHNICAL -- OR EDITORIAL ERRORS OR OMISSIONS CONATINED HEREIN; NOR FOR INCIDENTAL -- OR CONSEQUENTIAL DAMAGES RESULTING FROM THE FURNISHING, PERFORMANCE, -- OR USE OF THIS MATERIAL. -- -- Refer to the READMIB.RDM file for more information about the -- organization of the information in the Compaq Enterprise. -- -- The Compaq Enterprise number is 232. -- The ASN.1 prefix to, and including the Compaq Enterprise is: -- 1.3.6.1.4.1.232 -- -- **************************************************************************** CPQTHRSH-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises FROM RFC1155-SMI Counter FROM RFC1155-SMI DisplayString FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; compaq OBJECT IDENTIFIER ::= { enterprises 232 } cpqThresholdMgmt OBJECT IDENTIFIER ::= { compaq 10 } cpqMeMibRev OBJECT IDENTIFIER ::= { cpqThresholdMgmt 1 } cpqMeComponent OBJECT IDENTIFIER ::= { cpqThresholdMgmt 2 } cpqMeInterface OBJECT IDENTIFIER ::= { cpqMeComponent 1 } cpqMeAlarm OBJECT IDENTIFIER ::= { cpqMeComponent 2 } cpqMeOsCommon OBJECT IDENTIFIER ::= { cpqMeInterface 4 } -- **************************************************************************** -- Threshold Information MIB Revision -- ================================== -- -- The compaq enterprise (1.3.6.1.4.1.232) -- cpqThresholdMgmt Group (1.3.6.1.4.1.232.10) -- cpqMeMibRev Group (1.3.6.1.4.1.232.10.1) -- -- -- An SNMP agent conforming to this document will return a -- cpqMeMibRevMajor of one and a cpqMeMibRevMinor of zero. -- -- Implementation of the cpqMeMibRev group is mandatory for all agents -- supporting the Compaq Threshold Management MIB. -- -- **************************************************************************** cpqMeMibRevMajor OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The Major Revision level of the MIB. A change in the major revision level represents a major change in the architecture of the MIB. A change in the major revision level may indicate a significant change in the information supported and/or the meaning of the supported information, correct interpretation of data may require a MIB document with the same major revision level." ::= { cpqMeMibRev 1 } cpqMeMibRevMinor OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The Minor Revision level of the MIB. A change in the minor revision level may represent some minor additional support, no changes to any pre-existing information has occurred." ::= { cpqMeMibRev 2 } cpqMeMibCondition OBJECT-TYPE SYNTAX INTEGER { other(1), ok(2), degraded(3), failed(4) } ACCESS read-only STATUS mandatory DESCRIPTION "The overall condition. This object represents the overal status of the Compaq threshold management system represented by this MIB." ::= { cpqMeMibRev 3 } -- **************************************************************************** -- Threshold Information OS Common Group -- ===================================== -- -- The compaq enterprise (1.3.6.1.4.1.232) -- cpqThresholdMgmt Group (1.3.6.1.4.1.232.10) -- cpqMeComponent Group (1.3.6.1.4.1.232.10.2) -- cpqMeInterface Group (1.3.6.1.4.1.232.10.2.1) -- cpqMeOsCommon Group (1.3.6.1.4.1.232.10.2.1.4) -- cpqMeOsCommonModuleTable (1.3.6.1.4.1.232.10.2.1.4.2) -- -- Implementation of the cpqMeOsCommon group is mandatory for all -- agents that support the Compaq Threshold Management MIB. -- -- **************************************************************************** cpqMeOsCommonPollFreq OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-write STATUS mandatory DESCRIPTION "The Insight Agent's minimum polling frequency. The minimum frequency, in seconds, at which the Insight Agent will permit the cpqMeAlarmInterval to be SET (for an entry in the cpqMeAlarm table). Changing this variable to smaller values will allow a management station to modify or add entries in the cpqMeAlarm table that can have smaller cpqMeAlarmInterval values and will therefore be polled more frequently. An agent may also choose to fail any request to change the poll frequency to a value that would severely impact system performance." ::= { cpqMeOsCommon 1 } cpqMeOsCommonModuleTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqMeOsCommonModuleEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of software modules that provide an interface to the device this MIB describes." ::= { cpqMeOsCommon 2 } cpqMeOsCommonModuleEntry OBJECT-TYPE SYNTAX CpqMeOsCommonModuleEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of a software modules that provide an interface to the device this MIB describes." INDEX { cpqMeOsCommonModuleIndex } ::= { cpqMeOsCommonModuleTable 1 } CpqMeOsCommonModuleEntry ::= SEQUENCE { cpqMeOsCommonModuleIndex INTEGER, cpqMeOsCommonModuleName DisplayString, cpqMeOsCommonModuleVersion DisplayString, cpqMeOsCommonModuleDate OCTET STRING, cpqMeOsCommonModulePurpose DisplayString } cpqMeOsCommonModuleIndex OBJECT-TYPE SYNTAX INTEGER (0..255) ACCESS read-only STATUS mandatory DESCRIPTION "A unique index for this module description." ::= { cpqMeOsCommonModuleEntry 1 } cpqMeOsCommonModuleName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "The module name." ::= { cpqMeOsCommonModuleEntry 2 } cpqMeOsCommonModuleVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..5)) ACCESS read-only STATUS mandatory DESCRIPTION "The module version in XX.YY format. Where XX is the major version number and YY is the minor version number. This field will be a null (size 0) string if the agent cannot provide the module version." ::= { cpqMeOsCommonModuleEntry 3 } cpqMeOsCommonModuleDate OBJECT-TYPE SYNTAX OCTET STRING (SIZE (7)) ACCESS read-only STATUS mandatory DESCRIPTION "The module date. field octets contents range ===== ====== ======= ===== 1 1-2 year 0..65536 2 3 month 1..12 3 4 day 1..31 4 5 hour 0..23 5 6 minute 0..59 6 7 second 0..60 (use 60 for leap-second) This field will be set to year = 0 if the agent cannot provide the module date. The hour, minute, and second field will be set to zero (0) if they are not relevant. The year field is set with the most significant octect first." ::= { cpqMeOsCommonModuleEntry 4 } cpqMeOsCommonModulePurpose OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "The purpose of the module described in this entry." ::= { cpqMeOsCommonModuleEntry 5 } -- **************************************************************************** -- Threshold Information Alarm Group -- ================================= -- -- The compaq enterprise (1.3.6.1.4.1.232) -- cpqThresholdMgmt Group (1.3.6.1.4.1.232.10) -- cpqMeComponent Group (1.3.6.1.4.1.232.10.2) -- cpqMeAlarm Group (1.3.6.1.4.1.232.10.2.2) -- cpqMeAlarmTable (1.3.6.1.4.1.232.10.2.2.2) -- -- The cpqMeAlarms group describes the table for controlling Compaq -- Threshold Management software's user definable threshold functions. -- -- The Compaq Threshold Management alarm group provides a flexible way -- for users and/or management software to start the sampling of any -- integer SNMP object on the server being managed for comparison to -- given thresholds. Once started the Compaq Threshold Management will -- poll the selected object, compare it to given thresholds, and -- issue an SNMP trap if the value crosses the threshold. Only -- variables that resolve to an ASN.1 primitive type of INTEGER -- (INTEGER, Counter, Gauge, or TimeTicks) may be monitored in this way. -- -- This function has a hysteresis mechanism to limit the generation of -- trap events. This mechanism generates one event as a threshold is -- crossed in the appropriate direction. No more events are generated -- for that threshold until the opposite threshold is crossed. -- -- -- -- Implementation of the cpqMeAlarm group is optional for agents -- supporting the Compaq Threshold Management MIB. -- -- **************************************************************************** cpqMeAlarmNextIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index of the next available entry in the cpqMeAlarm table. If the maximum number of entries to the cpqMeAlarm table has been reached, this index will contain -1." ::= { cpqMeAlarm 1 } cpqMeAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqMeAlarmEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of alarm entries." ::= { cpqMeAlarm 2 } cpqMeAlarmEntry OBJECT-TYPE SYNTAX CpqMeAlarmEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of parameters that set up a periodic checking for alarm conditions." INDEX { cpqMeAlarmIndex } ::= { cpqMeAlarmTable 1 } CpqMeAlarmEntry ::= SEQUENCE { cpqMeAlarmIndex INTEGER, cpqMeAlarmInterval INTEGER, cpqMeAlarmVariable OBJECT IDENTIFIER, cpqMeAlarmSampleType INTEGER, cpqMeAlarmValue INTEGER, cpqMeAlarmStartupAlarm INTEGER, cpqMeAlarmRisingThreshold INTEGER, cpqMeAlarmFallingThreshold INTEGER, cpqMeAlarmPermanence INTEGER, cpqMeAlarmOwner DisplayString, cpqMeAlarmStatus INTEGER } cpqMeAlarmIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the cpqMeAlarm table. Each such entry defines a diagnostic sample at a particular interval for an object on the device." ::= { cpqMeAlarmEntry 1 } cpqMeAlarmInterval OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-write STATUS mandatory DESCRIPTION "The interval, in seconds, between consecutive samples of the data. When setting this variable, care should be given to ensure that the variable being monitored will not exceed 2^31 - 1 and roll over. The first sample will be taken immediately upon the cpqMeAlarmStatus being set to valid(1). This object may not be modified if the associated cpqMeAlarmStatus object is equal to valid(1)." ::= { cpqMeAlarmEntry 2 } cpqMeAlarmVariable OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "The object identifier of the particular variable to be sampled. Only variables that resolve to an ASN.1 primitive type of INTEGER (INTEGER, Counter, Gauge, or TimeTicks) may be sampled. Because SNMP access control is articulated entirely in terms of the contents of MIB views, no access control mechanism exists that can restrict the value of this object to identify only those objects that exist in a particular MIB view. Because there is thus no acceptable means of restricting the read access that could be obtained through the alarm mechanism, the agent must only grant write access to this object in those views that have read access to all objects on the agent. During a set operation, if the supplied variable name is not available in the selected MIB view, a badValue error must be returned. If at any time the variable name of an established cpqMeAlarmEntry is no longer available in the selected MIB view, the agent must change the status of this cpqMeAlarmEntry to tempUnavailable(5). This object may not be modified if the associated cpqMeAlarmStatus object is equal to valid(1)." ::= { cpqMeAlarmEntry 3 } cpqMeAlarmSampleType OBJECT-TYPE SYNTAX INTEGER { absoluteValue(1), deltaValue(2) } ACCESS read-write STATUS mandatory DESCRIPTION "The method of sampling the selected variable and calculating the value to be compared against the thresholds. If the sample type (cpqMeAlarmSampleType) is absoluteValue(1), the most recent sampled value of the selected variable (cpqMeAlarmVariable) will be compared directly with the thresholds (cpqMeAlarmRisingThreshold and cpqMeAlarmFallingThreshold). If the sample type (cpqMeAlarmSampleType) is deltaValue(2), the most recently sampled value minus the previous sampled value is compared with the threshold values (cpqMeAlarmRisingThreshold and cpqMeAlarmFallingThreshold). This object may not be modified if the associated cpqMeAlarmStatus object is equal to valid(1)." ::= { cpqMeAlarmEntry 4 } cpqMeAlarmValue OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of the object identifier (cpqMeAlarmVariable) during the last sampling period. The value during the current sampling period is not made available until the period is completed. If the sample type (cpqMeAlarmSampleType) is absoluteValue(1), the value (cpqMeAlarmValue) should become the actual value obtained during this sampling period. If the sample type (cpqMeAlarmSampleType) is deltaValue(2), the value (cpqMeAlarmValue) should become the most recently sampled value minus the previous sample (cpqMeAlarmValue)." ::= { cpqMeAlarmEntry 5 } cpqMeAlarmStartupAlarm OBJECT-TYPE SYNTAX INTEGER { risingAlarm(1), fallingAlarm(2), risingOrFallingAlarm(3) } ACCESS read-write STATUS mandatory DESCRIPTION "The alarm that may be sent when this entry is first set to valid. If the sample type (cpqMeAlarmSampleType) is absoluteValue(1), then the following comparison is used to generate an event. If cpqMeAlarmStartupAlarm is equal to risingAlarm(1) or risingOrFallingAlarm(3), then a single event will be generated if the first sample after this entry becomes valid is greater than or equal to this threshold. If cpqMeAlarmStartupAlarm is equal to fallingAlarm(2) or risingOrFallingAlarm(3), then a single event will be generated if the first sample after this entry becomes valid is less than or equal to this threshold. This object may not be modified if the associated cpqMeAlarmStatus object is equal to valid(1)." ::= { cpqMeAlarmEntry 6 } cpqMeAlarmRisingThreshold OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "A threshold for the sampled object identifier (cpqMeAlarmVariable). If the sample type (cpqMeAlarmSampleType) is absoluteValue(1), then the following describes the comparison. When the current sampled value is greater than or equal to this threshold, and the value (cpqMeAlarmValue) at the last sampling interval was less than this threshold, a single event will be generated. If cpqMeAlarmStartupAlarm is equal to risingAlarm(1) or risingOrFallingAlarm(3), then a single event will be generated if the first sample after this entry becomes valid is greater than or equal to this threshold. After a rising event is generated, another such event will not be generated until the sampled value falls below this threshold and reaches the falling threshold (cpaMeAlarmFallingThreshold). If the sample type (cpqMeAlarmSampleType) is deltaValue(2), then the following describes the comparison. When the most recently sampled value minus the previous sampled value is greater than or equal to the threshold (cpqMeAlarmRisingThreshold), and the current alarm value (cpqMeAlarmValue) is less than the threshold value (cpqMeAlarmRisingThreshold) a single event will be generated. After a rising event is generated, another such event will not be generated until the most recently sampled value minus the previous sampled value falls below this threshold (cpqMeAlarmRisingThreshold) and reaches the falling threshold (cpqMeAlarmFallingThreshold). This object may not be modified if the associated cpqMeAlarmStatus object is equal to valid(1)." ::= { cpqMeAlarmEntry 7 } cpqMeAlarmFallingThreshold OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "A threshold for the sampled object identifier (cpqMeAlarmVariable). If the sample type (cpqMeAlarmSampleType) is absoluteValue(1), then the following describes the comparison. When the current sampled value is less than or equal to this threshold, and the value (cpqMeAlarmValue) at the last sampling interval was greater than this threshold, a single event will be generated. If cpqMeAlarmStartupAlarm is equal to fallingAlarm(2) or risingOrFallingAlarm(3), then a single event will be generated if the first sample after this entry becomes valid is less than or equal to this threshold. After a falling event is generated, another such event will not be generated until the sampled value rises above this threshold and reaches the rising threshold (cpaMeAlarmRisingThreshold). If the sample type (cpqMeAlarmSampleType) is deltaValue(2), then the following describes the comparison. When the most recently sampled value minus the previous sampled value is less than or equal to the threshold (cpqMeAlarmFallingThreshold), and the current alarm value (cpqMeAlarmValue) is greater than the threshold value (cpqMeAlarmFallingThreshold) a single event will be generated. After a falling event is generated, another such event will not be generated until the most recently sampled value minus the previous sampled value rises above this threshold (cpqMeAlarmFallingThreshold) and reaches the rising threshold (cpqMeAlarmRisingThreshold). This object may not be modified if the associated cpqMeAlarmStatus object is equal to valid(1)." ::= { cpqMeAlarmEntry 8 } cpqMeAlarmPermanence OBJECT-TYPE SYNTAX INTEGER { temporary(1), permanent(2) } ACCESS read-write STATUS mandatory DESCRIPTION "This specifies if the threshold management software should recreate this entry if it is brought down and then restarted. A temporary entry will not be recreated after a restart. A permanent entry will be recreated after a restart and requires an explicit invalidation to be removed." ::= { cpqMeAlarmEntry 9 } cpqMeAlarmOwner OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it. This string is used to model an administratively assigned name of the owner of a resource. This information is taken from the NVT ASCII character set. It is suggested that this name contain one or more of the following: IP address, management station name, network manager's name, location, or phone number. In some cases the agent itself will be the owner of an entry. In these cases, this string shall be set to a string starting with 'monitor'. SNMP access control is articulated entirely in terms of the contents of MIB views; access to a particular SNMP object instance depends only upon its presence or absence in a particular MIB view and never upon its value or the value of related object instances. Thus, objects of this type afford resolution of resource contention only among cooperating managers; they realize no access control function with respect to uncooperative parties." ::= { cpqMeAlarmEntry 10 } cpqMeAlarmStatus OBJECT-TYPE SYNTAX INTEGER { valid(1), createRequest(2), underCreation(3), invalid(4), tempUnavailable(5) } ACCESS read-write STATUS mandatory DESCRIPTION "The status of this alarm entry. Setting this object to the value invalid(4) has the effect of invalidating the corresponding entry. That is, it effectively disassociates the mapping identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries currently not in use. Proper interpretation of such entries requires examination of the relevant cpqMeAlarmStatus object. An existing instance of this object cannot be set to createRequest(2). This object may only be set to createRequest(2) when this instance is created. When this object is created, the agent may wish to create supplemental object instances to complete a conceptual row in this table. Immediately after completing the create operation, the agent must set this object to underCreation(3). Entries shall exist in the underCreation(3) state until the management station is finished configuring the entry and sets this object to valid(1) or aborts, setting this object to invalid(4). The agent will deny a request to modify an underCreation(3) entry to be that of createRequest(2) in order to lessen problems arising when multiple management stations may be trying to add an entry with the same index. If the agent determines that an entry has been in the underCreation(3) state for an abnormally long time, it may decide that the management station has crashed. If the agent makes this decision, it may set this object to invalid(4) to reclaim the entry. A prudent agent will understand that the management station may need to wait for human input and will allow for that possibility in its determination of this abnormally long period. If the agent has an entry which is valid(4) and it is unable to query the particular ASN.1 object specified, the agent should set the status to tempUnavailable(5). The agent should continue to query that ASN.1 object, and upon a successful query, the agent should set the status back to valid(4)." ::= { cpqMeAlarmEntry 11 } -- **************************************************************************** -- Threshold Management Trap Definitions -- ===================================== -- -- The SNMP trap messages must not be bigger than 484 octets (bytes). -- -- Trap support in an SNMP agent implementation is optional. An SNMP -- agent implementation may support all, some, or none of the traps. -- If traps are supported, The user should be provided with the option of -- disabling traps. -- -- -- ************************************************************************** cpqMeRisingAlarm TRAP-TYPE ENTERPRISE compaq VARIABLES { cpqMeAlarmVariable, cpqMeAlarmSampleType, cpqMeAlarmValue, cpqMeAlarmRisingThreshold, cpqMeAlarmOwner } DESCRIPTION "Rising Threshold passed. An alarm entry has crossed its rising threshold. The instances of those objects contained within the variable list are those of the alarm entry which generated this trap." --#TYPE "Rising Threshold Passed" --#SUMMARY "%s: Variable %s has value %d >= %d." --#ARGUMENTS {4,0,2,3} --#SEVERITY CRITICAL --#TIMEINDEX 99 ::= 10001 cpqMeFallingAlarm TRAP-TYPE ENTERPRISE compaq VARIABLES { cpqMeAlarmVariable, cpqMeAlarmSampleType, cpqMeAlarmValue, cpqMeAlarmFallingThreshold, cpqMeAlarmOwner } DESCRIPTION "Falling Threshold passed. An alarm entry has crossed its falling threshold. The instances of those objects contained within the variable list are those of the alarm entry which generated this trap." --#TYPE "Falling Threshold Passed" --#SUMMARY "%s: Variable %s has value %d <= %d." --#ARGUMENTS {4,0,2,3} --#SEVERITY CRITICAL --#TIMEINDEX 99 ::= 10002 END