MPE-ENTITY-SENSOR-MIB DEFINITIONS ::= BEGIN IMPORTS NOTIFICATION-TYPE, Integer32, OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TimeStamp, TruthValue FROM SNMPv2-TC entPhysicalIndex FROM ENTITY-MIB pdn-common FROM PDN-HEADER-MIB ; mpeEntitySensor MODULE-IDENTITY LAST-UPDATED "0201110000Z" ORGANIZATION "Paradyne Corporation MIB Working Group" CONTACT-INFO "Paradyne Corporation 8545 126th Avenue North Largo, FL 33733 www.paradyne.com General Comments to: mibwg_team@paradyne.com Editors Dragana Gough" DESCRIPTION "The MPE-ENTITY-SENSOR-MIB is used to monitor the values of sensors in the Entity-MIB (RFC 2037) entPhysicalTable. This mib is copied from CISCO's CISCO-ENTITY-SENSOR-MIB." REVISION "0201220000Z" DESCRIPTION "Initial Release" ::= { pdn-common 35 } mpeEntitySensorMIBObjects OBJECT IDENTIFIER ::= { mpeEntitySensor 1 } mpeEntitySensorMIBNotificationPrefix OBJECT IDENTIFIER ::= { mpeEntitySensor 2 } mpeEntitySensorMIBConformance OBJECT IDENTIFIER ::= { mpeEntitySensor 3 } mpeEntSensorValues OBJECT IDENTIFIER ::= { mpeEntitySensorMIBObjects 1 } mpeEntSensorThresholds OBJECT IDENTIFIER ::= { mpeEntitySensorMIBObjects 2 } mpeEntitySensorMIBNotifications OBJECT IDENTIFIER ::= { mpeEntitySensorMIBNotificationPrefix 0 } mpeEntitySensorMIBCompliances OBJECT IDENTIFIER ::= { mpeEntitySensorMIBConformance 1 } mpeEntitySensorMIBGroups OBJECT IDENTIFIER ::= { mpeEntitySensorMIBConformance 2 } -- -- Textual Conventions -- MpeSensorDataType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An object using this data type represents the Entity Sensor measurement data type associated with a physical sensor value. The actual data units are determined by examining an object of this type together with the associated MpeSensorDataScale object. An object of this type SHOULD be defined together with objects of type MpeSensorDataScale and MpeSensorPrecision. Together, associated objects of these three types are used to identify the semantics of an object of type MpeSensorValue. Valid values are: other(1): a measure other than those listed below unknown(2): unknown measurement, or arbitrary, relative numbers voltsAC(3): electric potential voltsDC(4): electric potential amperes(5): electric current watts(6): power hertz(7): frequency celsius(8): temperature percentRH(9): percent relative humidity rpm(10): shaft revolutions per minute cmm(11),: cubic meters per minute (airflow) truthvalue(12): value takes { true(1), false(2) } " SYNTAX INTEGER { other(1), unknown(2), voltsAC(3), voltsDC(4), amperes(5), watts(6), hertz(7), celsius(8), percentRH(9), rpm(10), cmm(11), truthvalue(12) } MpeSensorDataScale ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An object using this data type represents a data scaling factor, represented with an International System of Units (SI) prefix. The actual data units are determined by examining an object of this type together with the associated MpeSensorDataType object. An object of this type SHOULD be defined together with objects of type MpeSensorDataType and MpeSensorPrecision. Together, associated objects of these three types are used to identify the semantics of an object of type MpeSensorValue." REFERENCE "TBD" SYNTAX INTEGER { 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 milli(8), -- 10^-3 units(9), -- 10^0 kilo(10), -- 10^3 mega(11), -- 10^6 giga(12), -- 10^9 tera(13), -- 10^12 exa(14), -- 10^15 peta(15), -- 10^18 zetta(16), -- 10^21 yotta(17) -- 10^24 } MpeSensorPrecision ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An object using this data type represents a sensor precision range. An object of this type SHOULD be defined together with objects of type MpeSensorDataType and MpeSensorDataScale. Together, associated objects of these three types are used to identify the semantics of an object of type MpeSensorValue. If an object of this type contains a value in the range 1 to 9, it represents the number of decimal places in the fractional part of an associated MpeSensorValue fixed- point number. If an object of this type contains a value in the range -8 to -1, it represents the number of accurate digits in the associated MpeSensorValue fixed-point number. The value zero indicates the associated MpeSensorValue object is not a fixed-point number. Agent implementors must choose a value for the associated MpeSensorPrecision object so that the precision and accuracy of the associated MpeSensorValue object is correctly indicated. For example, a physical entity representing a temperature sensor that can measure 0 degrees to 100 degrees C in 0.1 degree increments, +/- 0.05 degrees, would have an EntitySensorPrecision value of '1', an MpeSensorDataScale value of 'units(9)', and an MpeSensorValue ranging from '0' to '1000'. The MpeSensorValue would be interpreted as 'degrees C * 10'." SYNTAX Integer32 (-8..9) MpeSensorValue ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An object using this data type represents an Entity Sensor value. An object of this type SHOULD be defined together with objects of type MpeSensorDataType, MpeSensorDataScale and MpeSensorPrecision. Together, associated objects of those three types are used to identify the semantics of an object of this data type. The semantics of an object using this data type are determined by the value of the associated MpeSensorDataType object. If the associated MpeSensorDataType object is equal to 'voltsAC(3)', 'voltsDC(4)', 'amperes(5)', 'watts(6), 'hertz(7)', 'celsius(8)', or 'cmm(11)', then an object of this type MUST contain a fixed point number ranging from -999,999,999 to +999,999,999. The value -1000000000 indicates an underflow error. The value +1000000000 indicates an overflow error. The MpeSensorPrecision indicates how many fractional digits are represented in the associated MpeSensorValue object. If the associated MpeSensorDataType object is equal to 'percentRH(9)', then an object of this type MUST contain a number ranging from 0 to 100. If the associated MpeSensorDataType object is equal to 'rpm(10)', then an object of this type MUST contain a number ranging from -999,999,999 to +999,999,999. If the associated MpeSensorDataType object is equal to 'truthValue(12)', then an object of this type MUST contain either the value 'true(1)' or the value 'false(2)'. If the associated MpeSensorDataType object is equal to 'other(1)' or unknown(2)', then an object of this type MUST contain a number ranging from -1000000000 to 1000000000." SYNTAX Integer32 (-1000000000..1000000000) MpeSensorStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An object using this data type represents the operational status of a physical sensor. The value 'ok(1)' indicates that the agent can obtain the sensor value. The value 'unavailable(2)' indicates that the agent presently cannot obtain the sensor value. The value 'nonoperational(3)' indicates 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." SYNTAX INTEGER { ok(1), unavailable(2), nonoperational(3) } MpeSensorValueUpdateRate ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Indicates interval in seconds between updates to the sensor's value. The value zero indicates the sensor value is updated on demand or when sensor value changes or the agent does not know the rate." SYNTAX Integer32 (0..999999999) MpeSensorThresholdSeverity ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "sensor threshold severity. Valid values are: other(1): a severity other than those listed below. minor(10): Minor Problem threshold. major(20): Major Problem threshold." SYNTAX INTEGER { other(1), minor(10), major(20) } MpeSensorThresholdRelation ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "sensor threshold relational operator types. valid values are: lessThan(1): if the sensor value is less than the threshold value lessOrEqual(2): if the sensor value is less than or equal to the threshold value greaterThan(3): if the sensor value is greater than the threshold value greaterOrEqual(4): if the sensor value is greater than or equal to the threshold value equalTo(5): if the sensor value is equal to the threshold value notEqualTo(6): if the sensor value is not equal to the threshold value" SYNTAX INTEGER { lessThan(1), lessOrEqual(2), greaterThan(3), greaterOrEqual(4), equalTo(5), notEqualTo(6) } mpeEntSensorValueTable OBJECT-TYPE SYNTAX SEQUENCE OF MpeEntSensorValueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the type, scale, and present value of a sensor listed in the entity-MIB entPhysicalTable." ::= { mpeEntSensorValues 1 } mpeEntSensorValueEntry OBJECT-TYPE SYNTAX MpeEntSensorValueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An mpeEntSensorValueTable entry describes the present reading of a sensor, the measurement units and scale, and sensor operational status." INDEX { entPhysicalIndex } ::= { mpeEntSensorValueTable 1 } MpeEntSensorValueEntry ::= SEQUENCE { mpeEntSensorType MpeSensorDataType, mpeEntSensorScale MpeSensorDataScale, mpeEntSensorPrecision MpeSensorPrecision, mpeEntSensorValue MpeSensorValue, mpeEntSensorStatus MpeSensorStatus, mpeEntSensorValueTimeStamp TimeStamp, mpeEntSensorValueUpdateRate MpeSensorValueUpdateRate } mpeEntSensorType OBJECT-TYPE SYNTAX MpeSensorDataType MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the type of data reported by the mpeEntSensorValue. This variable is set by the agent at start-up and the value does not change during operation." ::= { mpeEntSensorValueEntry 1 } mpeEntSensorScale OBJECT-TYPE SYNTAX MpeSensorDataScale MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the exponent to apply to sensor values reported by mpeEntSensorValue. This variable is set by the agent at start-up and the value does not change during operation." ::= { mpeEntSensorValueEntry 2 } mpeEntSensorPrecision OBJECT-TYPE SYNTAX MpeSensorPrecision MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the number of decimal places of precision in fixed-point sensor values reported by mpeEntSensorValue. This variable is set to 0 when mpeEntSensorType is not a fixed-point type: voltsAC(1), voltsDC(2), amperes(3), watts(4), hertz(5), celsius(6), or cmm(9). This variable is set by the agent at start-up and the value does not change during operation." ::= { mpeEntSensorValueEntry 3 } mpeEntSensorValue OBJECT-TYPE SYNTAX MpeSensorValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable reports the most recent measurement seen by the sensor. To correctly display or interpret this variable's value, you must also know mpeEntSensorType, mpeEntSensorScale, and mpeEntSensorPrecision. However, you can compare mpeEntSensorValue with the threshold values given in mpeEntSensorThresholdTable without any semantic knowledge." ::= { mpeEntSensorValueEntry 4 } mpeEntSensorStatus OBJECT-TYPE SYNTAX MpeSensorStatus MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the present operational status of the sensor." ::= { mpeEntSensorValueEntry 5 } mpeEntSensorValueTimeStamp OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the age of the value reported by mpeEntSensorValue" ::= { mpeEntSensorValueEntry 6 } mpeEntSensorValueUpdateRate OBJECT-TYPE SYNTAX MpeSensorValueUpdateRate MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the rate that the agent updates mpeEntSensorValue." ::= { mpeEntSensorValueEntry 7 } mpeEntSensorThresholdTable OBJECT-TYPE SYNTAX SEQUENCE OF MpeEntSensorThresholdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the threshold severity, relation, and comparison value, for a sensor listed in the entity-MIB entPhysicalTable." ::= { mpeEntSensorThresholds 1 } mpeEntSensorThresholdEntry OBJECT-TYPE SYNTAX MpeEntSensorThresholdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An mpeEntSensorThresholdTable entry describes the thresholds for a sensor: the threshold severity, the threshold value, the relation, and the evaluation of the threshold. Only entities of type sensor(8) are listed in this table. Only pre-configured thresholds are listed in this table. Users can create sensor-value monitoring instruments in different ways, such as RMON alarms, Expression-MIB, etc. Entries are created by the agent at system startup and FRU insertion. Entries are deleted by the agent at FRU removal." INDEX { entPhysicalIndex, mpeEntSensorThresholdIndex } ::= { mpeEntSensorThresholdTable 1 } MpeEntSensorThresholdEntry ::= SEQUENCE { mpeEntSensorThresholdIndex Integer32, mpeEntSensorThresholdSeverity MpeSensorThresholdSeverity, mpeEntSensorThresholdRelation MpeSensorThresholdRelation, mpeEntSensorThresholdValue MpeSensorValue, mpeEntSensorThresholdEvaluation TruthValue, mpeEntSensorThresholdNotificationEnable TruthValue } mpeEntSensorThresholdIndex OBJECT-TYPE SYNTAX Integer32(1..99999999) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the entSensorThreshold table. This index permits the same sensor to have several different thresholds." ::= { mpeEntSensorThresholdEntry 1 } mpeEntSensorThresholdSeverity OBJECT-TYPE SYNTAX MpeSensorThresholdSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the severity of this threshold." ::= { mpeEntSensorThresholdEntry 2 } mpeEntSensorThresholdRelation OBJECT-TYPE SYNTAX MpeSensorThresholdRelation MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the relation between sensor value (mpeEntSensorValue) and threshold value (mpeEntSensorThresholdValue), required to trigger the alarm. when evaluating the relation, mpeEntSensorValue is on the left of mpeEntSensorThresholdRelation, mpeEntSensorThresholdValue is on the right. in pseudo-code, the evaluation-alarm mechanism is: ... if (mpeEntSensorStatus == ok) then if (evaluate(mpeEntSensorValue, mpeEntSensorThresholdRelation, mpeEntSensorThresholdValue)) then if (mpeEntSensorThresholdNotificationEnable == true)) then raise_alarm(mpeEntSensorThresholdAlarmOID); endif endif endif ..." ::= { mpeEntSensorThresholdEntry 3 } mpeEntSensorThresholdValue OBJECT-TYPE SYNTAX MpeSensorValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the value of the threshold. To correctly display or interpret this variable's value, you must also know mpeEntSensorType, mpeEntSensorScale, and mpeEntSensorPrecision. However, you can directly compare mpeEntSensorValue with the threshold values given in mpeEntSensorThresholdTable without any semantic knowledge." ::= { mpeEntSensorThresholdEntry 4 } mpeEntSensorThresholdEvaluation OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the result of the most recent evaluation of the threshold. If the threshold condition is true, mpeEntSensorThresholdEvaluation is true(1). If the threshold condition is false, mpeEntSensorThresholdEvaluation is false(2). Thresholds are evaluated at the rate indicated by mpeEntSensorValueUpdateRate. " ::= { mpeEntSensorThresholdEntry 5 } mpeEntSensorThresholdNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable controls generation of mpeEntSensorThresholdNotification for this threshold. When this variable is true(1), generation of mpeEntSensorThresholdNotification is enabled. When this variable is false(2), generation of mpeEntSensorThresholdNotification is disabled. This variable only controls generation of mpeEntSensorThresholdNotification." ::= { mpeEntSensorThresholdEntry 6 } mpeEntSensorThresholdNotification NOTIFICATION-TYPE OBJECTS { mpeEntSensorThresholdValue, mpeEntSensorValue } STATUS current DESCRIPTION "The sensor value crossed the threshold listed in mpeEntSensorThresholdTable. This notification is generated once each time the sensor value crosses the threshold. The agent implementation guarantees prompt, timely evaluation of threshold and generation of this notification." ::= { mpeEntitySensorMIBNotifications 1} mpeEntSensorSystemResetNotification NOTIFICATION-TYPE OBJECTS { mpeEntSensorThresholdValue, mpeEntSensorValue } STATUS current DESCRIPTION "this trap will notify if the system shuts down due to reaching sensor value threshold listed in mpeEntSensorThresholdTable. This notification is generated once each time the system resets due to threshold being reached. The agent implementation guarantees prompt, timely evaluation of threshold and generation of this notification." ::= { mpeEntitySensorMIBNotifications 2} --CONFORMANCE mpeEntitySensorValueGroup OBJECT-GROUP OBJECTS { mpeEntSensorType, mpeEntSensorScale, mpeEntSensorPrecision, mpeEntSensorValue, mpeEntSensorStatus, mpeEntSensorValueTimeStamp, mpeEntSensorValueUpdateRate } STATUS current DESCRIPTION "The collection of objects which are used to describe and monitor values of Entity-MIB entPhysicalTable entries of sensors." ::= { mpeEntitySensorMIBGroups 1 } mpeEntitySensorThresholdGroup OBJECT-GROUP OBJECTS { mpeEntSensorThresholdSeverity, mpeEntSensorThresholdRelation, mpeEntSensorThresholdValue, mpeEntSensorThresholdEvaluation, mpeEntSensorThresholdNotificationEnable } STATUS current DESCRIPTION "The collection of objects which are used to describe and monitor thresholds for sensors." ::= { mpeEntitySensorMIBGroups 2 } mpeEntitySensorNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { mpeEntSensorThresholdNotification, mpeEntSensorSystemResetNotification } STATUS current DESCRIPTION "The collection of objects which are used to notify that thresholds are reached for sensors." ::= { mpeEntitySensorMIBGroups 4 } END