ENTITY-SENSOR-MIB

From Observium

Jump to: navigation, search


ENTITY-SENSOR-MIB is virtually identical to CISCO-ENTITY-SENSOR-MIB.

Contents

Example SNMP Walk

This is an example of the relevant OIDs from ENTITY-SENSOR-MIB and ENTITY-MIB.

ENTITY-SENSOR-MIB::entPhySensorType.46 = INTEGER: celsius(8)
ENTITY-SENSOR-MIB::entPhySensorScale.46 = INTEGER: units(9)
ENTITY-SENSOR-MIB::entPhySensorPrecision.46 = INTEGER: 0
ENTITY-SENSOR-MIB::entPhySensorValue.46 = INTEGER: 25
ENTITY-SENSOR-MIB::entPhySensorOperStatus.46 = INTEGER: ok(1)
ENTITY-SENSOR-MIB::entPhySensorValueTimeStamp.46 = Timeticks: (2838200004) 328 days, 11:53:20.04
ENTITY-SENSOR-MIB::entPhySensorValueUpdateRate.46 = Gauge32: 30000 milliseconds
ENTITY-MIB::entPhysicalDescr.46 = STRING: Supervisor module 5 inlet temperature Sensor
ENTITY-MIB::entPhysicalClass.46 = INTEGER: sensor(8)
ENTITY-MIB::entPhysicalName.46 = STRING: temperature inlet 5

Implementation

Sensor Description

As default Observium will use entPhysicalName to describe the sensor if it exists, if it doesn't exist, Observium will use entPhysicalDescr. Observium does this because entPhysicalName is normally a more succinct description, whereas entPhysicalDescr is often either very long or doesn't uniquely identify the sensor in the system.

This behaviour is known to be reversed on IOS XR.

entPhySensorType

entPhySensorType specifies the sensor measurement type and is mapped directly to a sensor type in Observium. Text in bold specifies what the supported sensors are mapped to in Observium. This variable is set by the agent at start-up and the value does not change during operation.

  • other(1) - a measure other than those listed below
  • unknown(2) - unknown measurement, or arbitrary, relative numbers
  • voltsAC(3) - electric potential Voltage
  • voltsDC(4) - electric potential Voltage
  • amperes(5) - electric current Current
  • watts(6) - power
  • hertz(7) - frequency Frequency
  • celsius(8) - temperature Temperature
  • percentRH(9) - percent relative humidity Humidity
  • rpm(10) - shaft revolutions per minute Fanspeed
  • cmm(11) - cubic meters per minute (airflow)
  • truthvalue(12) - value takes { true(1), false(2) }
  • specialEnum(13) - value takes user defined enumerated values
  • dBm(14) - dB relative to 1mW of power

entPhySensorScale

This variable indicates the exponent to apply to sensor values reported by entPhySensorValue. Observium uses this value along with entPhySensorPrecision to define the divisor and multiplier used on the raw entPhySensorValue. This variable is set by the agent at start-up and the value does not change during operation.

Valid values are below:

  • yocto(1), -- 10^-24
  • zepto(2), -- 10^-21
  • atto(3), -- 10^-18
  • femto(4), -- 10^-15
  • pico(5), -- 10^-12
  • nano(6), -- 10^-9
  • micro(7), -- 10^-6 Divisor 1000000
  • milli(8), -- 10^-3 Divisor 1000
  • units(9), -- 10^0
  • kilo(10), -- 10^3 Multiplier 1000
  • mega(11), -- 10^6 Multiplier 1000000
  • giga(12), -- 10^9 Multiplier 1000000000
  • tera(13), -- 10^12
  • exa(14), -- 10^15
  • peta(15), -- 10^18
  • zetta(16), -- 10^21
  • yotta(17) -- 10^24

entPhySensorPrecision

This variable indicates the number of decimal places of precision in fixed-point sensor values reported by entPhySensorValue. It is used alongside entPhySensorScale to define the multiplier/divisor used by Observium. This variable is set by the agent at start-up and the value does not change during operation.

When in the range 1 to 9, entPhySensorPrecision is the number of decimal places in the fractional part of an entPhySensorValue fixed-point number. When in the range -8 to -1, entPhySensorPrecision is the number of accurate digits in an entPhySensorValue fixed-point number.

For example, a temperature sensor that can measure 0 to 100 C in 0.1 increments, +/- 0.05, would have an entPhySensorPrecision of 1, a entPhySensorDataScale of units(0), and an entPhySensorValue ranging from 0 to 1000. The entPhySensorValue would be interpreted as (degrees C * 10).

entPhySensorType.1 = celsius(8)
entPhySensorScale.1 = units(9)
entPhySensorPrecision.1 = 1
entPhySensorValue.1 = 230

The example above would return a divisor of 10 (from precision 1) and a multiplier of 0 (from unit scale). The value is therefore 230 * 0 / 10 = 23C

entPhySensorType.1 = amperes(5)
entPhySensorScale.1 = milli(8)
entPhySensorPrecision.1 = 1
entPhySensorValue.1 = 500

The example above would return a divisor of 10 (from precision 1) and a divisor of 1000 (from milli scale) creating a divisor of 10000. The value is therefore 500 / 10000 or 0.05A or 50mA.

entPhySensorValue

entPhySensorValue This variable reports the most recent measurement seen by the sensor.

To correctly display or interpret this variable's value, you must also know entPhySensorType, entPhySensorScale, and entPhySensorPrecision.

entPhySensorStatus

entPhySensorStatus indicates the operational status of the sensor.

  • ok(1) means the agent can read the sensor value.
  • unavailable(2) means that the agent presently can not report the sensor value.
  • nonoperational(3) means that the agent believes the sensor is broken. The sensor could have a hard failure (disconnected wire), or a soft failure such as out-of-range, jittery, or wildly fluctuating readings.