RE: Received Trap Won't Decode
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <20090609205817.292eb6c930850de810cf35869bff7bc4.38997ebe3d.wbe@email.secureserver.net> |
I installed the UPS-MIB, see attached. Set "mibs +UPS-MIB" in /etc/snmp/snmp.conf and restarted the snmptrapd and snmpd servers. When I look at the sent trap via wireshark ( data below), is the trap .1.3.5.1.2.1.33.4.6.4? I know the trap I have a definition for is .1.3.5.1.2.1.33.2.0.2 from using snmptranslate... me@en:/$ snmptranslate -m +UPS-MIB -IR -Of upsTrapTestCompleted .iso.org.dod.internet.mgmt.mib-2.upsMIB.upsTraps.upsTraps#.upsTrapTestCompleted me@en:/$ snmptranslate -m +UPS-MIB -IR -On upsTrapTestCompleted .1.3.6.1.2.1.33.2.0.2 Wireshark trap packet decode: Simple Network Management Protocol .version: version-1 (0) .community: myUPS .data: trap (4) ..trap ...enterprise: 1.3.6.1.2.1.33 (RFC1213-MIB::mib-2.33) ...agent-addr: 0.1.0.0 (0.1.0.0) ...generic-trap: enterpriseSpecific (6) ...specific-trap: 4 ...time-stamp: 82014 ...variable-bindings: 0 items >> Am I to assume the MIB is broken? > >No - it loaded OK for me. >But the MIB you posted doesn't cover the traps that you >are receiving. Those traps are rooted at mib-2.33, >while the UPSD-MIB is rooted at enterprises.2254 > >I think you actually need the UPS-MIB (RFC 1628) > >Dave ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Net-snmp-users mailing list [email protected] Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users
UPS-MIB.txt
(text/x-java, 47.8 KB)
-- automatically generated by mosy 7.1 #379 (dbc), do not edit!
-- UPS-MIB, defined for SNMP version 1
-- 5/22/94
-- Defines Internet Standard UPS MIB (from RFC-1628)
-- Traps defined with normal variables listed (no interface variables)
-- Work-arounds for plain old SNMP version 1:
-- Tom Brennan, Exide Electronics, 9/7/94
-- Further sanitized for SNMP version 1 and comments restored from RFC1628
-- Tom Brennan, Exide Electronics, 3/30/95
-- Corrected upper Integer range from 2147483648 to 2147483647
-- Changed import from mib-2, which some NMSs couldn't do, to mgmt
-- Tom Brennan, Exide Electronics, 11/27/96
-- restore "upsMIB MODULE-IDENTITY" from RFC1628
-- Arnaud Quette, EATON, 2/27/09
UPS-MIB DEFINITIONS ::= BEGIN
IMPORTS
-- AutonomousType
-- FROM RFC1316-MIB
-- Use ObjectID instead of this SNMP version 2 type
TRAP-TYPE
FROM RFC-1215
DisplayString
FROM RFC1213-MIB
OBJECT-TYPE
FROM RFC-1212
mgmt, Gauge, Counter, TimeTicks
FROM RFC1155-SMI;
-- TestAndIncr, TimeInterval, TimeStamp
-- FROM SNMPv2-TC;
-- Use Integer, TimeTicks, and TimeTicks instead of these SNMP v2 types
-- created from upsMIB (9402230000Z)
mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
upsMIB MODULE-IDENTITY
LAST-UPDATED "9402230000Z"
ORGANIZATION "IETF UPS MIB Working Group"
CONTACT-INFO
" Jeffrey D. Case
Postal: SNMP Research, Incorporated
3001 Kimberlin Heights Road
Knoxville, TN 37920
US
Tel: +1 615 573 1434
Fax: +1 615 573 9197
E-mail: [email protected]"
DESCRIPTION
"The MIB module to describe Uninterruptible Power
Supplies."
::= { mib-2 33 }
-- upsMIB OBJECT IDENTIFIER ::= { mib-2 33 }
-- Replaced references to PositiveInteger and NonNegativeInteger
-- Corrected upper Integer range from 2147483648 to 2147483647
upsObjects OBJECT IDENTIFIER ::= { upsMIB 1 }
--
-- The Device Identification group.
-- All objects in this group except for upsIdentName and
-- upsIdentAttachedDevices are set at device initialization
-- and remain static.
--
upsIdent OBJECT IDENTIFIER ::= { upsObjects 1 }
upsIdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The name of the UPS manufacturer."
::= { upsIdent 1 }
upsIdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The UPS Model designation."
::= { upsIdent 2 }
upsIdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
upsIdentAgentSoftwareVersion in some implementations."
::= { upsIdent 3 }
upsIdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The UPS agent 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..63))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { upsIdent 5 }
upsIdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { upsIdent 6 }
--
-- Battery Group
--
upsBattery OBJECT IDENTIFIER ::= { upsObjects 2 }
upsBatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
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 remaining run-time is greater than
upsConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to upsConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { upsBattery 1 }
upsSecondsOnBattery OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS seconds
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 }
upsEstimatedMinutesRemaining OBJECT-TYPE
SYNTAX INTEGER (1..2147483647) -- UNITS minutes
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { upsBattery 3 }
upsEstimatedChargeRemaining OBJECT-TYPE
SYNTAX INTEGER (0..100) -- UNITS percent
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { upsBattery 4 }
upsBatteryVoltage OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Volt DC
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The magnitude of the present battery voltage."
::= { upsBattery 5 }
upsBatteryCurrent OBJECT-TYPE
SYNTAX INTEGER (-2147483648..2147483647) -- UNITS 0.1 Amp DC
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present battery current."
::= { upsBattery 6 }
upsBatteryTemperature OBJECT-TYPE
SYNTAX INTEGER (-2147483648..2147483647) -- UNITS degrees Centigrade
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { upsBattery 7 }
--
-- Input Group
--
upsInput OBJECT IDENTIFIER ::= { upsObjects 3 }
upsInputLineBads OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { upsInput 1 }
upsInputNumLines OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
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 2 }
upsInputTable OBJECT-TYPE
SYNTAX SEQUENCE OF UpsInputEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of upsInputNumLines."
::= { upsInput 3 }
upsInputEntry OBJECT-TYPE
SYNTAX UpsInputEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { upsInputLineIndex }
::= { upsInputTable 1 }
UpsInputEntry ::=
SEQUENCE {
upsInputLineIndex
INTEGER,
upsInputFrequency
INTEGER,
upsInputVoltage
INTEGER,
upsInputCurrent
INTEGER,
upsInputTruePower
INTEGER
}
upsInputLineIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The input line identifier."
::= { upsInputEntry 1 }
upsInputFrequency OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present input frequency."
::= { upsInputEntry 2 }
upsInputVoltage OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The magnitude of the present input voltage."
::= { upsInputEntry 3 }
upsInputCurrent OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 RMS Amp
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The magnitude of the present input current."
::= { upsInputEntry 4 }
upsInputTruePower OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS Watts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The magnitude of the present input true power."
::= { upsInputEntry 5 }
--
-- The Output group.
--
upsOutput OBJECT IDENTIFIER ::= { upsObjects 4 }
upsOutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present source of output power. The enumeration
none(2) indicates that there is no source of output
power (and therefore no output power), for example,
the system has opened the output breaker."
::= { upsOutput 1 }
upsOutputFrequency OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present output frequency."
::= { upsOutput 2 }
upsOutputNumLines OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
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
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of upsOutputNumLines."
::= { upsOutput 4 }
upsOutputEntry OBJECT-TYPE
SYNTAX UpsOutputEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { upsOutputLineIndex }
::= { upsOutputTable 1 }
UpsOutputEntry ::=
SEQUENCE {
upsOutputLineIndex
INTEGER,
upsOutputVoltage
INTEGER,
upsOutputCurrent
INTEGER,
upsOutputPower
INTEGER,
upsOutputPercentLoad
INTEGER
}
upsOutputLineIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The output line identifier."
::= { upsOutputEntry 1 }
upsOutputVoltage OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present output voltage."
::= { upsOutputEntry 2 }
upsOutputCurrent OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 RMS Amp
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present output current."
::= { upsOutputEntry 3 }
upsOutputPower OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS Watts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present output true power."
::= { upsOutputEntry 4 }
upsOutputPercentLoad OBJECT-TYPE
SYNTAX INTEGER (0..200) -- UNITS percent
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { upsOutputEntry 5 }
--
-- The Bypass group.
--
upsBypass OBJECT IDENTIFIER ::= { upsObjects 5 }
upsBypassFrequency OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present bypass frequency."
::= { upsBypass 1 }
upsBypassNumLines OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
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
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of upsBypassNumLines."
::= { upsBypass 3 }
upsBypassEntry OBJECT-TYPE
SYNTAX UpsBypassEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { upsBypassLineIndex }
::= { upsBypassTable 1 }
UpsBypassEntry ::=
SEQUENCE {
upsBypassLineIndex
INTEGER,
upsBypassVoltage
INTEGER,
upsBypassCurrent
INTEGER,
upsBypassPower
INTEGER
}
upsBypassLineIndex OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The bypass line identifier."
::= { upsBypassEntry 1 }
upsBypassVoltage OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present bypass voltage."
::= { upsBypassEntry 2 }
upsBypassCurrent OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 RMS Amp
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present bypass current."
::= { upsBypassEntry 3 }
upsBypassPower OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS Watts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present true power conveyed by the bypass."
::= { upsBypassEntry 4 }
--
-- The Alarm group.
--
upsAlarm OBJECT IDENTIFIER ::= { upsObjects 6 }
upsAlarmsPresent OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The present number of active alarm conditions."
::= { upsAlarm 1 }
upsAlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF UpsAlarmEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
upsAlarmId equal to 1, and increments the value of
upsAlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of upsAlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
upsAlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), upsAlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of upsAlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of upsAlarmsPresent."
::= { upsAlarm 2 }
upsAlarmEntry OBJECT-TYPE
SYNTAX UpsAlarmEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { upsAlarmId }
::= { upsAlarmTable 1 }
UpsAlarmEntry ::=
SEQUENCE {
upsAlarmId
INTEGER,
upsAlarmDescr
OBJECT IDENTIFIER,
upsAlarmTime
TimeTicks
}
upsAlarmId OBJECT-TYPE
SYNTAX INTEGER (1..2147483647)
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { upsAlarmEntry 1 }
upsAlarmDescr OBJECT-TYPE
-- SYNTAX AutonomousType
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
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 TimeStamp
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of upsAlarmTime shall equal
0."
::= { 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 remaining battery run-time is less than or equal
-- to upsConfigLowBattTime."
upsAlarmDepletedBattery OBJECT IDENTIFIER ::= { upsWellKnownAlarms 4 }
-- "The UPS will be unable to sustain the present load
-- when and if the utility power is lost."
upsAlarmTempBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 5 }
-- "A temperature is out of tolerance."
upsAlarmInputBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 6 }
-- "An input condition is out of tolerance."
upsAlarmOutputBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 7 }
-- "An output condition (other than OutputOverload) is
-- out of tolerance."
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."
upsAlarmOutputOffAsRequested OBJECT IDENTIFIER ::= { upsWellKnownAlarms 11 }
-- "The UPS has shutdown as requested, i.e., the output is off."
upsAlarmUpsOffAsRequested OBJECT IDENTIFIER ::= { upsWellKnownAlarms 12 }
-- "The entire UPS has shutdown as commanded."
upsAlarmChargerFailed OBJECT IDENTIFIER ::= { upsWellKnownAlarms 13 }
-- "An uncorrected problem has been detected within the
-- UPS charger subsystem."
upsAlarmUpsOutputOff OBJECT IDENTIFIER ::= { upsWellKnownAlarms 14 }
-- "The output of the UPS is in the off state."
upsAlarmUpsSystemOff OBJECT IDENTIFIER ::= { upsWellKnownAlarms 15 }
-- "The UPS system is in the off state."
upsAlarmFanFailure OBJECT IDENTIFIER ::= { upsWellKnownAlarms 16 }
-- "The failure of one or more fans in the UPS has been detected."
upsAlarmFuseFailure OBJECT IDENTIFIER ::= { upsWellKnownAlarms 17 }
-- "The failure of one or more fuses has been detected."
upsAlarmGeneralFault OBJECT IDENTIFIER ::= { upsWellKnownAlarms 18 }
-- "A general fault in the UPS has been detected."
upsAlarmDiagnosticTestFailed OBJECT IDENTIFIER ::= { upsWellKnownAlarms 19 }
-- "The result of the last diagnostic test indicates a failure."
upsAlarmCommunicationsLost OBJECT IDENTIFIER ::= { upsWellKnownAlarms 20 }
-- "A problem has been encountered in the communications
-- between the agent and the UPS."
upsAlarmAwaitingPower OBJECT IDENTIFIER ::= { upsWellKnownAlarms 21 }
-- "The UPS output is off and the UPS is awaiting the
-- return of input power."
upsAlarmShutdownPending OBJECT IDENTIFIER ::= { upsWellKnownAlarms 22 }
-- "A upsShutdownAfterDelay countdown is underway."
upsAlarmShutdownImminent OBJECT IDENTIFIER ::= { upsWellKnownAlarms 23 }
-- "The UPS will turn off power to the load in less than
-- 5 seconds; this may be either a timed shutdown or a
-- low battery shutdown."
upsAlarmTestInProgress OBJECT IDENTIFIER ::= { upsWellKnownAlarms 24 }
-- "A test is in progress, as initiated and indicated by
-- the Test Group."
--
-- The Test Group
--
upsTest OBJECT IDENTIFIER ::= { upsObjects 7 }
upsTestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
upsTestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
upsTestResultsSummary. Tests in progress may be
aborted by setting the upsTestId variable to
upsTestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value upsTestNoTestsInitiated is returned."
::= { upsTest 1 }
upsTestSpinLock OBJECT-TYPE
-- SYNTAX TestAndIncr
SYNTAX INTEGER (0..2147483647)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another manager */
short delay
get (upsTestSpinLock)
}
lock_value = upsTestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, upsTestId = requested_test)
if (error_index == 1) { /* (upsTestSpinLock failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us */
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling upsTestResultsSummary */
get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail)
}
/* when test completes, retrieve any additional test results;
if upsTestSpinLock == lock_value + 1, then these are our
test results (as opposed to another manager's */
The initial value of upsTestSpinLock at agent initialization
shall be 1."
::= { upsTest 2 }
upsTestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of upsTestId to upsTestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { upsTest 3 }
upsTestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Additional information about upsTestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { upsTest 4 }
upsTestStartTime OBJECT-TYPE
-- SYNTAX TimeStamp
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of upsTestResultsSummary is noTestsInitiated(6),
upsTestStartTime has the value 0."
::= { upsTest 5 }
upsTestElapsedTime OBJECT-TYPE
-- SYNTAX TimeInterval
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
upsTestResultsSummary is noTestsInitiated(6),
upsTestElapsedTime has the value 0."
::= { upsTest 6 }
--
-- Well known tests.
--
upsWellKnownTests OBJECT IDENTIFIER ::= { upsTest 7 }
upsTestNoTestsInitiated OBJECT IDENTIFIER ::= { upsWellKnownTests 1 }
-- "No tests have been initiated and no test is in progress."
upsTestAbortTestInProgress OBJECT IDENTIFIER ::= { upsWellKnownTests 2 }
-- "The test in progress is to be aborted / the test in
-- progress was aborted."
upsTestGeneralSystemsTest OBJECT IDENTIFIER ::= { upsWellKnownTests 3 }
-- "The manufacturer's standard test of UPS device systems."
upsTestQuickBatteryTest OBJECT IDENTIFIER ::= { upsWellKnownTests 4 }
-- "A test that is sufficient to determine if the battery
-- needs replacement."
upsTestDeepBatteryCalibration OBJECT IDENTIFIER ::= { upsWellKnownTests 5 }
-- "The system is placed on battery to a discharge level,
-- set by the manufacturer, sufficient to determine
-- battery replacement and battery run-time with a high
-- degree of confidence. WARNING: (see RFC 1628.TXT)"
--
-- The Control group.
--
upsControl OBJECT IDENTIFIER ::= { upsObjects 8 }
upsShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
upsShutdownAfterDelay and upsRebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { upsControl 1 }
upsShutdownAfterDelay OBJECT-TYPE
SYNTAX INTEGER (-1..2147483647) -- UNITS seconds
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of upsShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if upsShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if upsShutdownType =
output and the output is already off. When read,
upsShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any upsShutdownAfterDelay already in effect."
::= { upsControl 2 }
upsStartupAfterDelay OBJECT-TYPE
SYNTAX INTEGER (-1..2147483647) -- UNITS seconds
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any upsStartupAfterDelay
countdown or upsRebootWithDuration countdown in
progress. When read, upsStartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { upsControl 3 }
upsRebootWithDuration OBJECT-TYPE
SYNTAX INTEGER (-1..300) -- UNITS seconds
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of upsShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, upsRebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { upsControl 4 }
upsAutoRestart OBJECT-TYPE
SYNTAX INTEGER {
on(1),
off(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object to 'on' will cause the UPS system
to restart after a shutdown if the shutdown occurred
during a power loss as a result of either a
upsShutdownAfterDelay or an internal battery depleted
condition. Setting this object to 'off' will prevent
the UPS system from restarting after a shutdown until
an operator manually or remotely explicitly restarts
it. If the UPS is in a startup or reboot countdown,
then the UPS will not restart until that delay has
been satisfied."
::= { upsControl 5 }
--
-- The Configuration group.
--
upsConfig OBJECT IDENTIFIER ::= { upsObjects 9 }
upsConfigInputVoltage OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The magnitude of the nominal input voltage. On those
systems which support read-write access to this
object, if there is an attempt to set this variable to
a value that is not supported, the request must be
rejected and the agent shall respond with an
appropriate error message, i.e., badValue for SNMPv1,
or inconsistentValue for SNMPv2."
::= { upsConfig 1 }
upsConfigInputFreq OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The nominal input frequency. On those systems which
support read-write access to this object, if there is
an attempt to set this variable to a value that is not
supported, the request must be rejected and the agent
shall respond with an appropriate error message, i.e.,
badValue for SNMPv1, or inconsistentValue for SNMPv2."
::= { upsConfig 2 }
upsConfigOutputVoltage OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The magnitude of the nominal output voltage. On
those systems which support read-write access to this
object, if there is an attempt to set this variable to
a value that is not supported, the request must be
rejected and the agent shall respond with an
appropriate error message, i.e., badValue for SNMPv1,
or inconsistentValue for SNMPv2."
::= { upsConfig 3 }
upsConfigOutputFreq OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The nominal output frequency. On those systems which
support read-write access to this object, if there is
an attempt to set this variable to a value that is not
supported, the request must be rejected and the agent
shall respond with an appropriate error message, i.e.,
badValue for SNMPv1, or inconsistentValue for SNMPv2."
::= { upsConfig 4 }
upsConfigOutputVA OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS Volt-Amps
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The magnitude of the nominal Volt-Amp rating."
::= { upsConfig 5 }
upsConfigOutputPower OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS Watts
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The magnitude of the nominal true power rating."
::= { upsConfig 6 }
upsConfigLowBattTime OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS minutes
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The value of upsEstimatedMinutesRemaining at which a
lowBattery condition is declared. For agents which
support only discrete (discontinuous) values, then the
agent shall round up to the next supported value. If
the requested value is larger than the largest
supported value, then the largest supported value
shall be selected."
::= { upsConfig 7 }
upsConfigAudibleStatus OBJECT-TYPE
SYNTAX INTEGER {
disabled(1),
enabled(2),
muted(3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The requested state of the audible alarm. When in
the disabled state, the audible alarm should never
sound. The enabled state is self-describing. Setting
this object to muted(3) when the audible alarm is
sounding shall temporarily silence the alarm. It will
remain muted until it would normally stop sounding and
the value returned for read operations during this
period shall equal muted(3). At the end of this
period, the value shall revert to enabled(2). Writes
of the value muted(3) when the audible alarm is not
sounding shall be accepted but otherwise shall have no
effect."
::= { upsConfig 8 }
upsConfigLowVoltageTransferPoint OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The minimum input line voltage allowed before the UPS
system transfers to battery backup."
::= { upsConfig 9 }
upsConfigHighVoltageTransferPoint OBJECT-TYPE
SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The maximum line voltage allowed before the UPS
system transfers to battery backup."
::= { upsConfig 10 }
--
-- notifications, i.e., traps
--
upsTraps OBJECT IDENTIFIER ::= { upsMIB 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
upsTrapOnBattery TRAP-TYPE
ENTERPRISE upsTraps
VARIABLES { upsEstimatedMinutesRemaining, upsSecondsOnBattery,
upsConfigLowBattTime }
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= 1
upsTrapTestCompleted TRAP-TYPE
ENTERPRISE upsTraps
VARIABLES { upsTestId, upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail, upsTestStartTime, upsTestElapsedTime }
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= 2
upsTrapAlarmEntryAdded TRAP-TYPE
ENTERPRISE upsTraps
VARIABLES { upsAlarmId, upsAlarmDescr }
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for upsAlarmOnBattery and
upsAlarmTestInProgress."
::= 3
upsTrapAlarmEntryRemoved TRAP-TYPE
ENTERPRISE upsTraps
VARIABLES { upsAlarmId, upsAlarmDescr }
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for upsAlarmTestInProgress."
::= 4
--
-- conformance information and compliance statements
-- Note: the following definitions are not useful for SNMP v1, but
-- are given here to represent the complete MIB from RFC1628
--
upsConformance OBJECT IDENTIFIER ::= { upsMIB 3 }
upsCompliances OBJECT IDENTIFIER ::= { upsConformance 1 }
upsSubsetCompliance OBJECT IDENTIFIER ::= { upsCompliances 1 }
upsBasicCompliance OBJECT IDENTIFIER ::= { upsCompliances 2 }
upsFullCompliance OBJECT IDENTIFIER ::= { upsCompliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic advanced
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--upsInputTruePower
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
--upsAutoRestart x x x notes
--
--upsConfigInputVoltage x x x notes
--upsConfigInputFreq x x x notes
--upsConfigOutputVoltage x x x notes
--upsConfigOutputFreq x x x notes
--upsConfigOutputVA x x x
--upsConfigOutputPower x x x
--upsConfigLowBattTime x x notes
--upsConfigAudibleStatus x x
--upsConfigLowVoltageTransferPoint
--upsConfigHighVoltageTransferPoint
upsGroups OBJECT IDENTIFIER ::= { upsConformance 2 }
upsSubsetGroups OBJECT IDENTIFIER ::= { upsGroups 1 }
upsSubsetIdentGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 1 }
upsSubsetBatteryGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 2 }
upsSubsetInputGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 3 }
upsSubsetOutputGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 4 }
upsSubsetAlarmGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 6 }
upsSubsetControlGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 8 }
upsSubsetConfigGroup OBJECT IDENTIFIER ::= { upsSubsetGroups 9 }
upsBasicGroups OBJECT IDENTIFIER ::= { upsGroups 2 }
upsBasicIdentGroup OBJECT IDENTIFIER ::= { upsBasicGroups 1 }
upsBasicBatteryGroup OBJECT IDENTIFIER ::= { upsBasicGroups 2 }
upsBasicInputGroup OBJECT IDENTIFIER ::= { upsBasicGroups 3 }
upsBasicOutputGroup OBJECT IDENTIFIER ::= { upsBasicGroups 4 }
upsBasicBypassGroup OBJECT IDENTIFIER ::= { upsBasicGroups 5 }
upsBasicAlarmGroup OBJECT IDENTIFIER ::= { upsBasicGroups 6 }
upsBasicTestGroup OBJECT IDENTIFIER ::= { upsBasicGroups 7 }
upsBasicControlGroup OBJECT IDENTIFIER ::= { upsBasicGroups 8 }
upsBasicConfigGroup OBJECT IDENTIFIER ::= { upsBasicGroups 9 }
upsFullGroups OBJECT IDENTIFIER ::= { upsGroups 3 }
upsFullIdentGroup OBJECT IDENTIFIER ::= { upsFullGroups 1 }
upsFullBatteryGroup OBJECT IDENTIFIER ::= { upsFullGroups 2 }
upsFullInputGroup OBJECT IDENTIFIER ::= { upsFullGroups 3 }
upsFullOutputGroup OBJECT IDENTIFIER ::= { upsFullGroups 4 }
upsFullBypassGroup OBJECT IDENTIFIER ::= { upsFullGroups 5 }
upsFullAlarmGroup OBJECT IDENTIFIER ::= { upsFullGroups 6 }
upsFullTestGroup OBJECT IDENTIFIER ::= { upsFullGroups 7 }
upsFullControlGroup OBJECT IDENTIFIER ::= { upsFullGroups 8 }
upsFullConfigGroup OBJECT IDENTIFIER ::= { upsFullGroups 9 }
END