draft UPS MIB October 1993 UPS Management Information Base October 1993 Jeffrey D. Case, Ph.D. (Editor) SNMP Research, Incorporated case@snmp.com Status of this Memo This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. Internet Drafts are valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet Drafts as reference material or to cite them other than as a "work in progress". Expires April 1993 [Page 1] draft UPS MIB October 1993 1. Introduction This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it described managed used for managing it defines objects for managing uninterruptible power supply (UPS) systems. Expires April 1993 [Page 2] draft UPS MIB October 1993 2. The SNMPv2 Network Management Framework The SNMPv2 Network Management Framework consists of four major components. They are: o RFC 1442 which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. o RFC 1213 defines MIB-II, the core set of managed objects for the Internet suite of protocols. o RFC 1445 which defines the administrative and other architectural aspects of the framework. o RFC 1448 which defines the protocol used for network access to managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 2.1. Object Definitions Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) defined in the SMI. In particular, each object object type is named by an OBJECT IDENTIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the descriptor, to refer to the object type. Expires April 1993 [Page 3] draft UPS MIB October 1993 3. Overview This document defines the managed objects for Uninterruptible Power Supplies which are to be manageable via the Simple Network Management Protocol (SNMP). Expires April 1993 [Page 4] draft UPS MIB October 1993 4. Definitions UPS-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental, Gauge FROM SNMPv2-SMI DisplayString FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; UPSMIB MODULE-IDENTITY LAST-UPDATED "9311220800Z" ORGANIZATION "IETF UPS MIB Working Group" CONTACT-INFO " Jeffrey D. Case (Editor) SNMP Research, Incorporated 3001 Kimberlin Heights Road, Knoxville, TN, 37920 615-573-1434 case@snmp.com" DESCRIPTION "The MIB module to describe Uninterruptible Power Supplies." ::= { experimental xx } PositiveInteger ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d" STATUS current DESCRIPTION "This data type is a non-zero and non-negative value." SYNTAX INTEGER (1..2147483648) NonNegativeInteger ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d" STATUS current DESCRIPTION "This data type is a non-negative value." SYNTAX INTEGER (0..2147483648) Expires April 1993 [Page 5] draft UPS MIB October 1993 univPowerSupply OBJECT IDENTIFIER ::= { experimental 39 } -- Note: this should be unintPowerSupply upsMibDraft2 OBJECT IDENTIFIER ::= { univPowerSupply 12 } -- Note: univPowerSupply 1-12 were used in earlier drafts. -- From now on, drafts will use version and subversion numbers -- under the experimental tree to prevent OID name-space collision -- when implementing different versions of experimental MIBS. upsMibE23 OBJECT IDENTIFIER ::= { upsMibDraft2 3 } -- Experimental Version 2 minor version 3 (Exp v2.3) of UPS MIB. -- -- The Device Identification group. -- All objects in this group except for upsIdentName are set at device -- initialization and remain static. -- upsIdent OBJECT IDENTIFIER ::= { upsMibE23 1 } upsIdentManufacturer OBJECT-TYPE SYNTAX DisplayString (SIZE (0..64)) MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The name of the UPS manufacturer." ::= { upsIdent 1 } upsIdentModel OBJECT-TYPE SYNTAX DisplayString (SIZE (0..64)) MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The UPS Model designation." ::= { upsIdent 2 } upsIdentUPSSoftwareVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..64)) MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The UPS Firmware software version. This variable may or may not have the same value as upsIdentAgentSoftwareVersion in some implementations." ::= { upsIdent 3 } Expires April 1993 [Page 6] draft UPS MIB October 1993 upsIdentAgentSoftwareVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..64)) MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The UPS Firmware software version. This variable may or may not have the same value as upsIdentUPSSoftwareVersion in some implementations." ::= { upsIdent 4 } upsIdentName OBJECT-TYPE SYNTAX DisplayString (SIZE(0..8)) MAX-ACCESS read-write STATUS mandatory DESCRIPTION "A string identifying the UPS. This object should be set by the administrator." ::= { upsIdent 5 } Expires April 1993 [Page 7] draft UPS MIB October 1993 -- -- Battery Group -- upsBattery OBJECT IDENTIFIER ::= { upsMibE23 2 } upsBatteryStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), batteryNormal(2), batteryLow(3) } MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The indication of the capacity remaining in the UPS system's batteries. A value of batteryNormal indicates that the batteries are fully charged. A value of batteryLow indicates that the UPS will be unable to sustain the present load when and if the utility power is lost. The batteryLow threshold is determined by the manufacturer." ::= { upsBattery 1 } upsBatteryTimeOnBattery OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "seconds" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "If the unit is on battery power, the elapsed time since the UPS last switched to battery power, or the time since the network management subsystem was last restarted, whichever is less. Zero shall be returned if the unit is not on battery power. ::= { upsBattery 2 } upsBatTimeRemaining OBJECT-TYPE SYNTAX PositiveInteger UNITS "minutes" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "An estimate of the time to battery charge depletion under the present load conditions if the utility power Expires April 1993 [Page 8] draft UPS MIB October 1993 were to be lost and remain off." ::= { upsBattery 3 } upsBatteryVoltage OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "0.1 Volt DC" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present battery voltage." ::= { upsBattery 4 } upsBatTemperature OBJECT-TYPE SYNTAX Integer-32 UNITS "degrees Centigrade" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The ambient temperature at or near the UPS Battery casing." ::= { upsBattery 5 } Expires April 1993 [Page 9] draft UPS MIB October 1993 -- -- Input Group -- upsInput OBJECT IDENTIFIER ::= { upsMibE23 3 } upsInputFrequency OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "0.1 Hertz" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present input frequency." ::= { upsInput 1 } upsInputLineBads OBJECT-TYPE SYNTAX Counter MAX-ACCESS read-only STATUS mandatory DESCRIPTION "A count of the number of times the input entered an out-of-tolerance condition." ::= { upsInput 2 } upsInputNumLines OBJECT-TYPE SYNTAX NonNegativeInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The number of input lines utilized in this device. This variable indicates the number of rows in the input table." ::= { upsInput 3 } upsInputTable OBJECT-TYPE SYNTAX SEQUENCE OF UpsInputEntry MAX-ACCESS not-accessible STATUS mandatory ::= { upsInput 4 } upsInputEntry OBJECT-TYPE SYNTAX UpsInputEntry MAX-ACCESS not-accessible STATUS mandatory Expires April 1993 [Page 10] draft UPS MIB October 1993 INDEX { upsInputLineIndex } ::= { upsInputTable 1 } UpsInputEntry ::= SEQUENCE { upsInputLineIndex PositiveInteger, upsInputVoltage NonNegativeInteger } upsInputLineIndex OBJECT-TYPE SYNTAX PositiveInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The input line identifier." ::= { upsInputEntry 1 } upsInputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "RMS Volts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present input voltage." ::= { upsInputEntry 2 } Expires April 1993 [Page 11] draft UPS MIB October 1993 -- -- The Output group. -- upsOutput OBJECT IDENTIFIER ::= { upsMibE23 4 } upsOutputFrequency OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "0.1 Hertz" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present output frequency." ::= { upsOutput 1 } upsOutputNumLines OBJECT-TYPE SYNTAX NonNegativeInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The number of output lines utilized in this device. This variable indicates the number of rows in the output table." ::= { upsOutput 3 } upsOutputTable OBJECT-TYPE SYNTAX SEQUENCE OF UpsOutputEntry MAX-ACCESS not-accessible STATUS mandatory ::= { upsOutput 4 } upsOutputEntry OBJECT-TYPE SYNTAX UpsOutputEntry MAX-ACCESS not-accessible STATUS mandatory INDEX { upsOutputLineIndex } ::= { upsOutputTable 1 } UpsOutputEntry ::= SEQUENCE { upsOutputLineIndex PositiveInteger, upsOutputVoltage NonNegativeInteger, upsOutputCurrent NonNegativeInteger, upsOutputWatts NonNegativeInteger, upsOutputPercentLoad NonNegativeInteger } Expires April 1993 [Page 12] draft UPS MIB October 1993 upsOutputLineIndex OBJECT-TYPE SYNTAX PositiveInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The output line identifier." ::= { upsOutputEntry 1 } upsOutputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "RMS Volts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present output voltage." ::= { upsOutputEntry 2 } upsOutputCurrent OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "0.1 Amp" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present output current." ::= { upsOutputEntry 3 } upsOutputWatts OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "watts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present output power." ::= { upsOutputEntry 5 } upsOutputPercentLoad OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "percent" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The percentage of true power capacity presently being used." ::= { upsOutputEntry 6 } Expires April 1993 [Page 13] draft UPS MIB October 1993 -- -- The Bypass group. -- upsBypass OBJECT IDENTIFIER ::= { upsMibE23 5 } upsBypassFrequency OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "0.1 Hertz" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present bypass frequency." ::= { upsBypass 1 } upsBypassNumLines OBJECT-TYPE SYNTAX NonNegativeInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The number of bypass lines utilized in this device. This entry indicates the number of rows in the bypass table." ::= { upsBypass 2 } upsBypassTable OBJECT-TYPE SYNTAX SEQUENCE OF UpsBypassEntry MAX-ACCESS not-accessible STATUS mandatory ::= { upsBypass 3 } upsBypassEntry OBJECT-TYPE SYNTAX UpsBypassEntry MAX-ACCESS not-accessible STATUS mandatory INDEX { upsBypassLineIndex } ::= { upsBypassTable 1 } UpsBypassEntry ::= SEQUENCE { upsBypassLineIndex PositiveInteger, upsBypassVoltage NonNegativeInteger, upsBypassCurrent NonNegativeInteger } upsBypassLineIndex OBJECT-TYPE Expires April 1993 [Page 14] draft UPS MIB October 1993 SYNTAX PositiveInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The bypass line identifier." ::= { upsBypassEntry 1 } upsBypassVoltage OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "RMS Volts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present bypass voltage." ::= { upsBypassEntry 2 } upsBypassCurrent OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "0.1 Amp" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present bypass current." ::= { upsBypassEntry 3 } Expires April 1993 [Page 15] draft UPS MIB October 1993 -- -- The Alarm group. -- upsAlarm OBJECT IDENTIFIER ::= { upsMibE23 6 } upsAlarms OBJECT-TYPE SYNTAX Gauge MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The present number of active alarm conditions." ::= { upsAlarm 1 } upsAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF UpsAlarmEntry MAX-ACCESS not-accessible STATUS mandatory ::= { upsAlarm 2 } upsAlarmEntry OBJECT-TYPE SYNTAX UpsAlarmEntry MAX-ACCESS not-accessible STATUS mandatory INDEX { upsAlarmId } ::= { upsAlarmTable 1 } UpsAlarmEntry ::= SEQUENCE { upsAlarmId PositiveInteger, upsAlarmDescr OBJECT IDENTIFIER, upsAlarmTime TimeTicks } upsAlarmId OBJECT-TYPE SYNTAX PositiveInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "A unique identifier for an alarm condition. This value must remain constant." ::= { upsAlarmEntry 1 } upsAlarmDescr OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only Expires April 1993 [Page 16] draft UPS MIB October 1993 STATUS mandatory DESCRIPTION "A reference to an alarm description object. The object referenced should not be accessible, but rather be used to provide a unique description of the alarm condition." ::= { upsAlarmEntry 2 } upsAlarmTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime when the alarm condition occurred." ::= { upsAlarmEntry 3 } -- -- Well Known alarm conditions. -- upsWellKnownAlarms OBJECT IDENTIFIER ::= { upsAlarm 3 } upsAlarmBatteryBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 1 } -- One or more batteries have been determined to require replacement. upsAlarmOnBattery OBJECT IDENTIFIER ::= { upsWellKnownAlarms 2 } -- The UPS is drawing power from the batteries. upsAlarmLowBattery OBJECT IDENTIFIER ::= { upsWellKnownAlarms 3 } -- The battery capacity is at a value considered low by -- the UPS manufacturer. upsAlarmTempBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 4 } -- A temperature is out of tolerance. upsAlarmInputBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 5 } -- An input condition is out of tolerance. upsAlarmInputFreqError OBJECT IDENTIFIER ::= { upsWellKnownAlarms 6 } -- The input frequency is out of tolerance. upsAlarmOutputBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 7 } -- An output condition is out of tolerance. Expires April 1993 [Page 17] draft UPS MIB October 1993 upsAlarmOutputOverload OBJECT IDENTIFIER ::= { upsWellKnownAlarms 8 } -- The output load exceeds the UPS output capacity. upsAlarmOnBypass OBJECT IDENTIFIER ::= { upsWellKnownAlarms 9 } -- The Bypass is presently engaged on the UPS. upsAlarmBypassBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 10 } -- The Bypass is out of tolerance. upsAlarmStopNoticeIssued OBJECT IDENTIFIER ::= { upsWellKnownAlarms 11 } -- The UPS had been instructed to shutdown and has -- performed this shutdown. upsAlarmChargerFailed OBJECT IDENTIFIER ::= { upsWellKnownAlarms 12 } -- An uncorrected problem has been detected within the UPS charger subsystem. upsAlarmUpsOff OBJECT IDENTIFIER ::= { upsWellKnownAlarms 13 } -- The UPS is presently in an off state. upsAlarmInputBrkrOpen OBJECT IDENTIFIER ::= { upsWellKnownAlarms 14 } -- The input breaker is in an open state. upsAlarmBypassBrkrOpen OBJECT IDENTIFIER ::= { upsWellKnownAlarms 15 } -- The bypass breaker is in an open state. upsAlarmOutputBrkrOpen OBJECT IDENTIFIER ::= { upsWellKnownAlarms 16 } -- The output breaker is in an open state. upsAlarmBatteryBrkrOpen OBJECT IDENTIFIER ::= { upsWellKnownAlarms 17 } -- The battery breaker is in an open state. upsAlarmSysBypassBrkrOpen OBJECT IDENTIFIER ::= { upsWellKnownAlarms 18 } -- The system bypass breaker is in an open state. upsAlarmMaintenanceBypassBreakerClosed OBJECT IDENTIFIER ::= { upsWellKnownAlarms 19 } -- The maintenance bypass breaker is in a closed state. Expires April 1993 [Page 18] draft UPS MIB October 1993 upsAlarmFanFailure OBJECT IDENTIFIER ::= { upsWellKnownAlarms 20 } -- One or more fans have failed in the UPS. upsAlarmOnGenerator OBJECT IDENTIFIER ::= { upsWellKnownAlarms 21 } -- The UPS is drawing power from an auxiliary generator. Expires April 1993 [Page 19] draft UPS MIB October 1993 -- -- The Test Group -- upsTest OBJECT IDENTIFIER ::= { upsMibE23 7 } upsTestDiagnosticSchedule OBJECT-TYPE SYNTAX INTEGER { unknown(1), biweekly(2), weekly(3), atTurnOn(4), never(5) } MAX-ACCESS read-write STATUS mandatory DESCRIPTION "The UPS system's automatic battery test schedule." ::= { upsTest 1 } upsTestDiagnostics OBJECT-TYPE SYNTAX INTEGER { noTest(1), test(2), abort(3) } MAX-ACCESS read-write STATUS mandatory DESCRIPTION "Setting this variable to test(2) causes the UPS to perform a diagnostic self test. Setting this value to noTest(1) has no effect. The value noTest(1) will always be returned when the variable is read. Setting this variable to abort(3) will end a test in progress." ::= { upsTest 2 } upsTestDiagnosticsResults OBJECT-TYPE -- Editor's note: we need to state under what conditions each -- value is returned. SYNTAX INTEGER { passed(1), failed(2), invalidTest(3), Expires April 1993 [Page 20] draft UPS MIB October 1993 inProgress(4) } MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The results of the last UPS diagnostics test performed." ::= { upsTest 3 } upsTestLastDiagnosticsDate OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The date the last UPS diagnostics test was performed." ::= { upsTest 4 } upsTestIndicators OBJECT-TYPE SYNTAX INTEGER { noTest(1), test(2) } MAX-ACCESS read-write STATUS mandatory DESCRIPTION "Setting this variable to test(2) causes the UPS to perform a front panel indicators (lights) test. Setting this value to noTest(1) has no effect. The value noTest(1) will always be returned when the variable is read." ::= { upsTest 5} Expires April 1993 [Page 21] draft UPS MIB October 1993 -- -- The Control group. -- upsControl OBJECT IDENTIFIER ::= { upsMibE23 8 } -- Editor's note: the interaction between upsControlOutputOffDelay and -- upsControlOutputOnDelay is ambiguous and needs to be fixed / clarified. -- What happens if upsControlOutputOnDelay is less than -- upsControlOutputOffDelay? upsControlOutputOffDelay OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "seconds" MAX-ACCESS read-write STATUS mandatory DESCRIPTION "Setting this object will stop the output after the indicated number of seconds. Setting this object to 0 will cause the UPS to stop the output immediately. If the output is already off at the time the delay has counted down, nothing will happen. Output will remain off until either external controls or the execution of a upsControlOutputOnDelay or upsControlRebootUpsDelay that has run through its delay turns the power back on." ::= { upsControl 1 } upsControlOutputOnDelay OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "seconds" MAX-ACCESS read-write STATUS mandatory DESCRIPTION "Setting this object will start the output after the indicated number of seconds. Setting this object to 0 will cause the UPS to start the output immediately. If the output is already on at the time the delay has counted down, nothing will happen." ::= { upsControl 2 } upsControlRebootUpsDelay OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "seconds" MAX-ACCESS read-write Expires April 1993 [Page 22] draft UPS MIB October 1993 STATUS mandatory DESCRIPTION "Setting this object will cause the UPS to stop the output for the indicated after the indicated number of seconds. The UPS output will remain stopped for a brief period determined by the UPS manufacturer, after which power will be restored." ::= { upsControl 3 } Expires April 1993 [Page 23] draft UPS MIB October 1993 -- -- The Configuration group. -- upsConfig OBJECT IDENTIFIER ::= { upsMibE23 9 } upsConfigOutputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "RMS Volts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The nominal output voltage." ::= { upsConfig 1 } upsConfigInputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "RMS Volts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The nominal input voltage." ::= { upsConfig 2 } upsConfigOutputVA OBJECT-TYPE SYNTAX NonNegativeInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The nominal Volt-Amp rating." ::= { upsConfig 3 } upsConfigOutputWatts OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "watts" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The nominal power rating." ::= { upsConfig 4 } upsConfigOutputFreq OBJECT-TYPE SYNTAX NonNegativeInteger MAX-ACCESS read-only STATUS mandatory Expires April 1993 [Page 24] draft UPS MIB October 1993 DESCRIPTION "The nominal output frequency." ::= { upsConfig 5 } upsConfigInputFreq OBJECT-TYPE SYNTAX NonNegativeInteger MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The nominal input frequency." ::= { upsConfig 6 } upsConfigLowBatTime OBJECT-TYPE SYNTAX NonNegativeInteger UNITS "seconds" MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The nominal available run time once the low battery condition is reached." ::= { upsConfig 7 } upsConfigAutoRestart OBJECT-TYPE SYNTAX INTEGER { on(1), off(2) } MAX-ACCESS read-write STATUS mandatory DESCRIPTION "Setting this object to 'on' will cause the device to restart after a shutdown if/when utility power is present." ::= { upsConfig 8 } Expires April 1993 [Page 25] draft UPS MIB October 1993 -- -- conformance information -- upsConformance OBJECT IDENTIFIER ::= { upsMIBE23 10 } upsGroups OBJECT IDENTIFIER ::= { upsConformance 1 } upsCompliances OBJECT IDENTIFIER ::= { upsConformance 2 } -- -- compliance statements -- upsMinimalCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for UPSs that only support the basic two-contact communication protocol." MODULE MANDATORY-GROUPS { upsIdentGroup, upsMinimalBatteryGroup, upsMinimalInputGroup, upsMinimalAlarmGroup, upsMinimalConfigGroup } ::= { upsCompliances 1 } upsFullComplaince MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for UPSs that support full-featured functions, such as control." MODULE MANDATORY-GROUPS { upsIdentGroup, upsFullBatteryGroup, upsFullInputGroup, upsFullOutputGroup, upsFullAlarmGroup, upsFullTestGroup, upsFullControlGroup, upsFullConfigGroup } GROUP {upsFullBypassGroup } DESCRIPTION "The upsFullBypassGroup is only required for UPSs that have a Bypass present." ::= { upsCompliances 2 } Expires April 1993 [Page 26] draft UPS MIB October 1993 -- -- units of conformance -- upsGroups OBJECT IDENTIFIER ::= { upsMibE23 11 } upsIdentGroup OBJECT-GROUP OBJECTS { upsIdentManufacturer, upsIdentModel, upsIdentUPSSoftwareVersion, upsIdentAgentSoftwareVersion, upsIdentName } STATUS current DESCRIPTION "The upsIdentGroup defines objects which are common across all managed UPSs." ::= { upsGroups 1 } upsMinimalGroup OBJECT IDENTIFIER ::= { upsGroups 2 } upsMinimalBatteryGroup OBJECT-GROUP OBJECTS { upsBatteryStatus, upsBatteryTimeOnBattery} STATUS current DESCRIPTION "The upsMinimalBatteryGroup defines the objects that are common to battery groups of basic two-contact UPSs." ::= { upsMinimalGroups 1 } upsMinimalInputGroup OBJECT-GROUP OBJECTS { upsInputLineBads, upsInputNumLines } STATUS current DESCRIPTION "The upsMinimalInputGroup defines the objects that are common to the Input groups of basic two-contact UPSs." ::= { upsMinimalGroups 2 } upsMinimalAlarmGroup OBJECT-GROUP OBJECTS { upsAlarms, upsAlarmId, upsAlarmDescr, upsAlarmTime } STATUS current DESCRIPTION "The upsMinimalAlarmGroup defines the objects that are common to the Alarm groups of basic two-contact UPSs." ::= { upsMinimalGroups 3 } upsMinimalConfigGroup OBJECT-GROUP Expires April 1993 [Page 27] draft UPS MIB October 1993 OBJECTS { upsConfigOutputVoltage, upsConfigInputVoltage, upsConfigOutputVA, upsConfigOutputWatts, upsConfigOutputFreq, upsConfigInputFreq, upsConfigLowBatTime } STATUS current DESCRIPTION "The upsMinimalConfigGroup defines the objects that are common to the Config groups of basictwo-contact UPSs." ::= { upsMinimalGroups 4 } upsFullGroups OBJECT IDENTIFIER ::= { upsGroups 3 } upsFullBatteryGroup OBJECT-GROUP OBJECTS { upsBatteryStatus, upsBatteryTimeOnBattery, upsBatTimeRemaining, upsBatteryVoltage, upsBatTemperature } STATUS current DESCRIPTION "The upsFullBatteryGroup defines the objects that are common to the battery groups of fully compliant UPSs." ::= { upsFullGroups 1 } upsFullInputGroup OBJECT-GROUP OBJECTS { upsInputFrequency, upsInputLineBads, upsInputNumLines, upsInputLineIndex, upsInputVoltage } STATUS current DESCRIPTION "The upsFullInputGroup defines the objects that are common to the Input groups of fully compliant UPSs." ::= { upsFullGroups 2 } upsFullOutputGroup OBJECT-GROUP OBJECTS { upsOutputFrequency, upsOutputNumLines, upsOutputLineIndex, upsOutputVoltage, upsOutputCurrent, upsOutputWatts, upsOutputPercentLoad } STATUS current DESCRIPTION "The upsFullOutputGroup defines the objects that are common to the Output groups of fully compliant UPSs." ::= { upsFullGroups 3 } upsFullBypassGroup OBJECT-GROUP Expires April 1993 [Page 28] draft UPS MIB October 1993 OBJECTS { upsBypassFrequency, upsBypassNumLines, upsBypassLineIndex, upsBypassVoltage, upsBypassCurrent } STATUS current DESCRIPTION "The upsFullBypassGroup defines the objects that are common to the Bypass groups of fully compliant UPSs." ::= { upsFullGroups 4 } upsFullAlarmGroup OBJECT-GROUP OBJECTS { upsAlarms, upsAlarmId, upsAlarmDescr, upsAlarmTime } STATUS current DESCRIPTION "The upsFullAlarmGroup defines the objects that are common to the Alarm groups of fully compliant UPSs." ::= { upsFullGroups 5 } upsFullTestGroup OBJECT-GROUP OBJECTS { upsTestDiagnosticSchedule, upsTestDiagnostics, upsTestDiagnosticsResults, upsTestLastDiagnosticsDate, upsTestIndicators } STATUS current DESCRIPTION "The upsFullTestGroup defines the objects that are common to the Test groups of fully compliant UPSs." ::= { upsFullGroups 6 } upsFullControlGroup OBJECT-GROUP OBJECTS { upsControlOutputOffDelay, upsControlOutputOnDelay, upsControlRebootUpsDelay } STATUS current DESCRIPTION "The upsFullControlGroup defines the objects that are common to the Control groups of fully compliant UPSs." ::= { upsFullGroups 7 } upsFullConfigGroup OBJECT-GROUP OBJECTS { upsConfigOutputVoltage, upsConfigInputVoltage, upsConfigOutputVA, upsConfigOutputWatts, upsConfigOutputFreq, upsConfigInputFreq, upsConfigLowBatTime, upsConfigAutoRestart } STATUS current DESCRIPTION Expires April 1993 [Page 29] draft UPS MIB October 1993 "The upsFullConfigGroup defines the objects that are common to the Config groups of UPSs." ::= { upsFullGroups 8 } END Expires April 1993 [Page 30] draft UPS MIB October 1993 5. Acknowledgements The UPS MIB represents the combined work of the IETF UPS MIB Working Group, with particular, substantial authorship contributions from: Mike Davison Fibercom, Inc. Ray Wasson Consultant Roger Draper Liebert Corporation Ken Key SNMP Research, Incorporated Pete Yoest American Power Conversion Doug Rademacher American Power Conversion Ron Pitt Network Security Systems, Inc Terry Zumwalt International Power Machines Lawren Markle Tripp Lite Bill Elliot ONEAC Tom Brennan Exide Electronics Brian Young Best Power Technology Expires April 1993 [Page 31] draft UPS MIB October 1993 6. References [1] M.T. Rose and K. McCloghrie, Structure and Identification of Management Information for TCP/IP-based internets, Internet Working Group Request for Comments 1155. Network Information Center, SRI International, Menlo Park, California, (May, 1990). [2] K. McCloghrie and M.T. Rose, Management Information Base for Network Management of TCP/IP-based internets, Internet Working Group Request for Comments 1156. Network Information Center, SRI International, Menlo Park, California, (May, 1990). [3] J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin, Simple Network Management Protocol, Internet Working Group Request for Comments 1157. Network Information Center, SRI International, Menlo Park, California, (May, 1990). [4] K. McCloghrie and M.T. Rose (editors), Management Information Base for Network Management of TCP/IP-based internets: MIB- II, Internet Working Group Request for Comments 1213. Network Information Center, SRI International, Menlo Park, California, (March, 1991). [5] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization. International Standard 8824, (December, 1987). [6] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One (ASN.1), International Organization for Standardization. International Standard 8825, (December, 1987). [7] M.T. Rose, K. McCloghrie (editors), Concise MIB Definitions, Internet Working Group Request for Comments 1212. Network Information Center, SRI International, Menlo Park, California, (March, 1991). [8] M.T. Rose (editor), A Convention for Defining Traps for use with the SNMP, Internet Working Group Request for Comments 1215. Network Information Center, SRI International, Menlo Park, California, (March, 1991). Expires April 1993 [Page 32] draft UPS MIB October 1993 [9] J.D. Case, K. McCloghrie, M.T. Rose, and S. Waldbusser, Conformance Statements for version 2 of the the Simple Network Management Protocol (SNMPv2), Request for Comments 1444, SNMP Research, Inc., Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, (April 1993). Expires April 1993 [Page 33] draft UPS MIB October 1993 7. Security Considerations Security issues are not discussed in this memo. 8. Author's Address Jeffrey D. Case, Ph.D. The University of Tennessee Department of Computer Science 107 Ayres Hall Knoxville, Tennessee 37996 Phone: (615) 573-1434 Email: case@CS.UTK.EDU Expires April 1993 [Page 34] draft UPS MIB October 1993 Table of Contents 1 Introduction .............................................. 2 2 The SNMPv2 Network Management Framework ................... 3 2.1 Object Definitions ...................................... 3 3 Overview .................................................. 4 4 Definitions ............................................... 5 5.1 The Device Identification Group. ....................... 6 5.2 The Battery Group ....................................... 8 5.3 The Input Group ......................................... 10 5.4 The Output Group ........................................ 12 5.5 The Bypass Group ........................................ 14 5.6 The Alarm Group ......................................... 16 5.7 The Test Group .......................................... 20 5.8 The Control Group ....................................... 22 5.9 The Configuration Group ................................. 24 5 Acknowledgements .......................................... 31 6 References ................................................ 32 7 Security Considerations ................................... 34 8 Author's Address .......................................... 34 Expires April 1993 [Page 35]