Raritan SNMP MIB Interface User Guide

June 8, 2024
Raritan

Raritan SNMP MIB Interface

Raritan-SNMP-MIB-Interface-product

Quick Start

This section contains some brief examples of tasks that can be performed on a PDU’s SNMP interface. All of them assume the following preconditions:

  • SNMP was set up as shown in figure 1 and 2 in section 4.1
  • the Net-SNMP tools are installed (see www.net-snmp.org)
  • the MIB files (see section 4.3 for how to get them) are located in the MIB search path, which can be adjusted by adding -M+ to the snmp command arguments

Each example will present the MIB object identifier to deal with and an SNMP command line with related execution output. The object identifier includes the applicable variables, e.g. “” which are replaced with actual values in the command and output example.

Determine the status of an outlet

Complete Object Identifier:

Command:

  • snmpget -v2c -c public -m+PDU2-MIB \ PDU2-MIB::outletSwitchingState.1.4
  • snmpget -v2c -c public \.1.3.6.1.4.1.13742.6.4.1.2.1.3.1.4

Output:

  • PDU2-MIB::outletSwitchingState.1.4 = INTEGER: off(8)

Power cycle an outlet

Complete Object Identifier:

Command:

  • snmpset -v2c -c private -m+PDU2-MIB \PDU2-MIB::switchingOperation.1.4 = cycle
  • snmpset -v2c -c private \ .1.3.6.1.4.1.13742.6.4.1.2.1.2.1.4 i 2

Output:

  • PDU2-MIB::switchingOperation.1.4 = INTEGER: cycle(2)

Get the voltage reading of an inlet

Complete Object Identifiers:

Command:

  • snmpget -v2c -c public -m+PDU2-MIB \ PDU2-MIB::measurementsInletSensorValue.1.1.rmsVoltage
  • snmpget -v2c -c public \.1.3.6.1.4.1.13742.6.5.2.3.1.4.1.1.4

Output:

  • PDU2-MIB::measurementsInletSensorValue.1.1.rmsVoltage = Gauge32: 397

Get the number of decimal digits of an inlet voltage reading

Complete Object Identifier:

Command:

  • snmpget -v2c -c public -m+PDU2-MIB \ PDU2-MIB::inletSensorDecimalDigits.1.1.rmsVoltage
  • snmpget -v2c -c public \.1.3.6.1.4.1.13742.6.3.3.4.1.7.1.1.4

Output:

  • PDU2-MIB::inletSensorDecimalDigits.1.1.rmsVoltage = Gauge32: 0

Receive a trap message on an external sensor alarm assertion

Complete Object Identifier:

snmptrapd Configuration File:
The host that should receive the SNMP notification messages needs to run sn-mptrapd. Its configuration file is usually located at /etc/snmp/snmptrapd.conf and specifies at least the community string and the object identifiers that should be handled. A minimalistic configuration for logging external sensor state changes will just contain two lines:

authCommunity log public
traphandle PDU2-MIB::externalSensorStateChange

Note that the string “public” must be specified in the SNMP notification settings of the PDU, see section 4.1.

Command:
snmptrapd -m+PDU2-MIB

Output:
On reception of an SNMP trap, the daemon will print the trap contents to its console. The output will be printed without line breaks, the example has them to increase readability.Raritan-SNMP-MIB-Interface-fig-
\(6\)

Get an asset management tag ID

Complete Object Identifier:

Command:

  • snmpget -v2c -c public -m+ASSETMANAGEMENT-MIB \ASSETMANAGEMENT-MIB::tagID.1.5
  • snmpget -v2c -c public \.1.3.6.1.4.1.13742.7.1.7.1.1.6.1.5

Output:
ASSETMANAGEMENT-MIB::tagID.1.5 = STRING: B1A0C499D35F

Set the name of a rack unit in asset management

Complete Object Identifier:

Command:

  • snmpset -v2c -c private -m+ASSETMANAGEMENT-MIB \ASSETMANAGEMENT-MIB::rackUnitName.1.5 = MyName
  • snmpset -v2c -c private \.1.3.6.1.4.1.13742.7.1.7.1.1.12.1.5 s MyName

Output:

  • ASSETMANAGEMENT-MIB: rackUnitName.1.5 = STRING: MyName

About this document

Scope

The Raritan PDU SNMP MIB User Guide provides information about the following:

  • configuration, access and capabilities of the SNMP interface
  • usage of tables
  • structure of the PDU’s Management Information Base

This document applies to the following Raritan PDU devices:

  • PX2 / PX3 / PX3TS
  • EMX
  • BCM2 / PMC
  • BCM
  • PXE

The very basics of the SNMP protocol and the SMI concepts are not covered. Tools like MIB browsers or SNMP utilities are not explained as well. This document describes how the SNMP interface of a Raritan PDU can be utilized by the SNMP protocol by for example using such tools.

Audience
This document should primarily guide

  • Data Center Operators who want to configure PDUs, request values, or control states sporadically,
  • DCIM software developers who want to integrate PDUs into higher-level management frameworks and
  • Script Developers who want to write code that uses the PDU’s SNMP interface.

Prerequisites
This document presumes an understanding of

  • Structured Management Information (SMI),
  • the Simple Network Management Protocol (SNMP) and
  • Management Information Base (MIB) documents.

Capabilities

The SNMP interface has almost the same capabilities as the web interface and the serial command line interface. It can be used to:

  • retrieve logged and current sensor measurements
  • get notifications on events
  • control actuators
  • configure names, thresholds etc.

The following features are not accessible via SNMP:

  • User Management
  • Network Configuration
  • Services Configuration
  • Event Rule Configuration

Access

SNMP Interface Configuration
The unit’s SNMP interface can be enabled and set up in the web front or command line interface. The settings dialog can be found in the menu under Device Settings /Network Services / SNMP.Raritan-SNMP-MIB-Interface-fig-
\(9\)

Protocol Versions
Both SNMP v1/v2c and v3 versions are supported. They can be enabled or disabled independently.

MIB Version
While changes of the MIB may happen between di˙erent PDU firmware versions, all changes are done in a downward compatible way. The used MIB should be newer thanRaritan-SNMP-MIB-Interface-fig- \(10\)

or as current as the firmware of the PDU. A PDU’s MIB can be downloaded from the web user interface of the unit – see the “Download” button in the left bottom corner of the SNMP settings dialog (figure 1). There are three di˙erent MIB files:

  • PDU2-MIB
  • ASSET MANAGEMENT-MIB
  • LHX-MIB

Authentication

  • In SNMP v1/v2c authentication is accomplished with community strings. The read, as well as the write community string, can be configured in the SNMP settings (see figure 1).
  • SNMP v3 authentication is set up on a per-user basis. The settings are accessible in user settings (see figure 3).
  • An example command that uses SNMP v3 access to display the whole object tree below the PDU2-MIB::pdu2 object is:Raritan-SNMP-MIB-Interface-fig- \(11\)

snmpwalk

  • -v3 -l authPriv -u \- a SHA -A \- x DES -X \ PDU2-MIB::pdu2

Arguments:

  • l security level – “noAuthNoPriv”, “authNoPriv”, “authPriv”
  • a authentication protocol – “MD5”, “SHA”
  • x privacy protocol – “DES”, “AES”

Object Indexing

Scalar Objects
Information unique to an SNMP agent is represented by “scalar” objects. An example is pduCount which is located at

  • PDU2-MIB::pdu2.configuration.pduCount

Scalar objects are marked out as such by appending a zero to their object identifier.

  • PDU2-MIB::pdu2.configuration.pduCount.0 = INTEGER: 1

In numerical representation:

  • .1.3.6.1.4.1.13742.6.3.1.0 = INTEGER: 1

Since one SNMP agent running on a PDU is not limited to represent only a single PDU instance, most information entities are indexed by the PDU identifier – pduId – which is fixed to 1 for PX products but may vary on BCM2 products.Raritan-SNMP-MIB-Interface-fig- \(12\)

This “indexed” information is structured in tables as described in the next section.

Columnar Objects – Single Index
This section explains the use of SNMP tables in the PDU2-MIB that are indexed by a single value. Consider the following example:Raritan-SNMP-MIB-
Interface-fig- \(13\)

This part of the MIB defines a one-dimensional table of entries that hold nameplate information. It is one-dimensional because the INDEX clause contains a single identifier.

nameplateEntry OBJECT-TYPE

  • INDEX { pduId }

One entry in the table corresponds to one PDU and a pduId value is suÿcient to specify an entry in the table. See table 1 and 2 as examples. An SNMP agent running on a PX has a single PDU identifier with the value 1 for that PX per definition, as in the first example. The second example shows the nameplate table of a BCM2 device that may have multiple PDU identifiers.Raritan-SNMP-
MIB-Interface-fig- \(14\)

The table structure is built as follows. Each cell of the table header corresponds to one member of the NameplateEntryStruct sequence. The cells of the body of the table are the objects. Their object identifiers are noted below. As a detailed example, the full SNMP object identifier of the PDU model string in table 1 “PX3-5526X2-M5” is broken down in table 3.

To address objects in the table, the shortened symbolic object identifier consists of the column name and the index. For example, the pduModel string (from Name plate Entry Struct) of PDU 1 is:Raritan-SNMP-MIB-Interface-fig-
\(15\) Raritan-SNMP-MIB-Interface-fig-
\(16\)

PDU2-MIB: pduModel.1
Note: Most object identifiers that are used as indexes or parts of indexes like “outlet”, “inletPoleIndex” or “circuit” are 1-based integer values.

Columnar Objects – Multiple Indexes
In cases where a single value is not suÿcient as an index to a table of objects, the index may consist of multiple instances of identifiers. Consider the table that holds outlet sensor measurement variables outletSensorMeasurementsTable.Raritan-SNMP-MIB-Interface-fig-
\(17\)

The structure is the same as in section 5.2 – table object, entry object, and table columns. The difference here is the INDEX clause.

The definition states that the index consists of three parts. Each outlet sensor within one SNMP agent is identified by its PDU’s identifier, its outlet number and the type of the sensor. The index that is appended to the object identifier of outletSensorMea-surementsEntry is formed by these three parts. For example, an object identifier to the measurementsOutletSensorValue of the active power of the fifth outlet is formed as shown in table 4.Raritan-SNMP-
MIB-Interface-fig- \(19\)

The symbolic object identifier can be shortened to:

PDU2-MIB:
measurementsOutletSensorValue.1.5.active Power As another example, table 5 shows a part of the whole outlet sensor measurements table. The first column contains the index of the entries starting with the recurrent sensor of the fourth outlet.Raritan-SNMP-MIB-Interface-fig- \(20\)

Parts of the outlet sensor measurements table that show sensors of outlets number 4 and 5

To inspect SNMP tables the snmptable command might be useful, for example SNMP table -m+PDU2-MIB -v2c -cpublic -Cilb \PDU2 MIB::inletSensorConfigurationTable | cut -c1-57 prints a nicely readable left- hand part of the inlet sensor configuration table:Raritan-SNMP-MIB-
Interface-fig- \(21\)

MIB tree

This section describes the basic structure of the PDU2-MIB tree. The following clip of the PDU2-MIB file shows the various subtrees that reside below the PDU2-MIB::pdu2 object:Raritan-SNMP-MIB-Interface-fig-
\(22\)

The subtree configuration contains most of the information that is writable / con-figurable. The measurements and log subtrees contain sensor values and state information. The control subtree allows manipulation of the PDU such as switching outlets or resetting energy counters. Table 6 shows the most commonly used tables of the PDU2-MIB. Each cell represents a name that is built by its column name and its row name appended. An “x” mark states that a table with this name can actually be found in the MIB. For example, unitConfigurationTable does exist while unitPoleConfigurationTable does not .Raritan-SNMP-MIB-Interface-fig- \(23\)

The particular contents of these tables are quite common:

ConfigurationTable
Contains metadata, capabilities, configuration and state information of the PDU’s parts; for example the current rating of an outlet or the unit’s IP address.

  • SensorConfigurationTable
    Contains sensor metadata such as accuracy or tolerance and the sensors’ thresholds.

  • SwitchControlTable
    Contains objects that allow switching of outlets or between inlets of a transfer switch.

  • SensorControlTable
    Contains objects that allow resetting of cumulating sensor values such as energy counters.

  • SensorMeasurementsTable
    Contains sensor readings and state information.

  • SensorLogTable
    Contains objects to access logged measurement data such as minimum, maximum, and average values.

To inspect parts of the tree, the tool snmptranslate can be used. Using the command line option -Tp the whole subtree below the object identifier submitted to the command will be displayed in a human-readable format. For example:

  • snmptranslate -m+PDU2-MIB -Tp PDU2-MIB::pdu2Raritan-SNMP-MIB-Interface-fig- \(24\)

Interpreting Sensor Values

Decimal Digits
All sensor readings are reported as integer values. Since the actual values may have fractional parts, it could be necessary to adjust to the number of decimal digits. Therefore each SensorConfigurationTable has a column called DecimalDigits. See section 1.4 for an example. To calculate the actual value the integer reading value must be divided by ten to the power of the decimal digits. Additionally, the column SensorUnits of the SensorConfigurationTable can be read to determine the unit of the reading.

For example:

  • PDU2-MIB::inletSensorDecimalDigits.1.1.rmsCurrent = Gauge32: 3
  • PDU2-MIB::measurementsInletSensorValue.1.1.rmsCurrent = Gauge32: 1424
  • PDU2-MIB::inletSensorUnits.1.1.rmsCurrent = INTEGER: amp(2)

Signed vs. Unsigned
Sensor readings are reported as integer values. Since some types of sensors can have neg-ative values it is important to know if the integer value must be interpreted as a signed or an unsigned number. To determine the signedness of a reading, the according Sensor-SignedMinimum in the SensorConfigurationTable must be checked for a negative value. If a sensor can have negative values, the SensorSignedValue in the Measure-mentsTable must be used to determine the sensor reading and the unsigned Sensor-Value object will not exist for this sensor. Otherwise, the unsigned SensorValue can be used. If a sensor reading can exceed the value of INT 32_MAX = 2147483647, that is if SensorMaximum in the SensorConfigurationTable is above INT 32_MAX, the unsigned SensorValue in the MeasurementsTable must be used and the Sensor-SignedValue object will not exist. See table 7.Raritan-SNMP-MIB-Interface-fig-
\(25\)

For example:

  • PDU2-MIB::circuitSensorSignedMinimum.1.1.phaseAngle = INTEGER: -1800
  • PDU2-MIB::measurementsInletPoleSensorSignedValue.1.1.3.phaseAngle = INTEGER: -1200

The first line states that the phase angle sensor value can have negative values. That indicates that the signed integer has to be used. In the above example, the phase angle is −120 degrees. The same procedure applies to determining whether the signed or unsigned values must be used when reading sensor thresholds or sensor log entries.

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals