-- MIB file created 04-Nov-2005 16:44:02, by -- SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com CISCO-ENTITY-SENSOR-MIB DEFINITIONS ::= BEGIN -- From file: "CISCO-ENTITY-SENSOR-MIB.my" -- Compile options "4 7 F H N O W 03 06 0B 0G 0N 0T" IMPORTS TimeStamp, TruthValue FROM SNMPv2-TC entPhysicalIndex FROM ENTITY-MIB ciscoMgmt FROM CISCO-SMI OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; ciscoEntitySensorMIB OBJECT IDENTIFIER ::= { ciscoMgmt 91 } -- MODULE-IDENTITY -- LastUpdated -- 200509080000Z -- OrgName -- Cisco Systems, Inc. -- ContactInfo -- Postal: Cisco Systems, Inc. -- 170 West Tasman Drive -- San Jose, CA 95134-1706 -- USA -- -- Tel: +1 408 526 4000 -- -- E-mail: cs-snmp@cisco.com -- Descr -- The CISCO-ENTITY-SENSOR-MIB is used to monitor -- the values of sensors in the Entity-MIB (RFC 2037) -- entPhysicalTable. -- RevDate -- 200509080000Z -- RevDescr -- Change the module descriptor name from entitySensorMIB -- to ciscoEntitySensorMIB since ENTITY-SENSOR-MIB also -- uses the same name and there is a conflict. -- RevDate -- 200301070000Z -- RevDescr -- [1] Add dBm(14) in SensorDataType. -- RevDate -- 200210160000Z -- RevDescr -- [1] Add critical(30) in CSensorThresholdSeverity. -- [2] Change to MAX-ACCESS read-write for 3 objects. -- [3] Add entitySensorMIBComplianceV02. -- RevDate -- 200006200000Z -- RevDescr -- Initial version of this MIB module. entitySensorMIBObjects OBJECT IDENTIFIER ::= { ciscoEntitySensorMIB 1 } entitySensorMIBNotificationPrefix OBJECT IDENTIFIER ::= { ciscoEntitySensorMIB 2 } entitySensorMIBConformance OBJECT IDENTIFIER ::= { ciscoEntitySensorMIB 3 } entSensorValues OBJECT IDENTIFIER ::= { entitySensorMIBObjects 1 } entSensorThresholds OBJECT IDENTIFIER ::= { entitySensorMIBObjects 2 } entitySensorMIBNotifications OBJECT IDENTIFIER ::= { entitySensorMIBNotificationPrefix 0 } entitySensorMIBCompliances OBJECT IDENTIFIER ::= { entitySensorMIBConformance 1 } entitySensorMIBGroups OBJECT IDENTIFIER ::= { entitySensorMIBConformance 2 } SensorDataType ::= 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), specialEnum(13), dBm(14) } -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- sensor measurement data types. 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) } -- specialEnum(13): value takes user defined enumerated values -- dBm(14): dB relative to 1mW of power SensorDataScale ::= INTEGER { yocto(1), zepto(2), atto(3), femto(4), pico(5), nano(6), micro(7), milli(8), units(9), kilo(10), mega(11), giga(12), tera(13), exa(14), peta(15), zetta(16), yotta(17) } -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- International System of Units (SI) prefixes. SensorPrecision ::= INTEGER(-8..9) -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- When in the range 1 to 9, SensorPrecision is the number -- of decimal places in the fractional part of -- a SensorValue fixed-point number. When in the range -8 to -- -1, SensorPrecision is the number of accurate digits in -- a SensorValue fixed-point number. -- -- SensorPrecision is 0 for non-fixed-point numbers. -- -- Agent implementors must choose a value for SensorPrecision -- so that the precision and accuracy of a SensorValue is -- correctly indicated. -- -- For example, a temperature sensor that can measure 0o to -- 100o C in 0.1o increments, +/- 0.05o, would have a -- SensorPrecision of 1, a SensorDataScale of units(0), and a -- SensorValue ranging from 0 to 1000. -- The SensorValue would be interpreted as (degrees C * 10). -- -- If that temperature sensor's precision were 0.1o but its -- accuracy were only +/- 0.5o, then the SensorPrecision would -- be 0. The SensorValue would be interpreted as degrees C. -- -- Another example: a fan rotation speed sensor that measures RPM -- from 0 to 10,000 in 100 RPM increments, with an accuracy of -- +50/-37 RPM, would have a SensorPrecision of -2, a -- SensorDataScale of units(9), and a SensorValue ranging from 0 -- to 10000. The 10s and 1s digits of SensorValue would always -- be 0. SensorValue ::= INTEGER(-1000000000..1000000000) -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- For sensors that measure voltsAC, voltsDC, -- amperes, watts, hertz, celsius, cmm -- this item is a fixed point number ranging from -- -999,999,999 to +999,999,999. Use the value -- -1000000000 to indicate underflow. Use the value -- +1000000000 to indicate overflow. Use SensorPrecision -- to indicate how many fractional digits the SensorValue -- has. -- -- -- For sensors that measure percentRH, this item -- is a number ranging from 0 to 100. -- -- For sensors that measure rpm, this item -- can take only nonnegative values, 0..999999999. -- -- For sensors of type truthvalue, this item -- can take only two values: true(1), false(2). -- -- For sensors of type specialEnum, this item -- can take any value in the range (-1000000000..1000000000), -- but the meaning of each value is specific to the -- sensor. -- -- For sensors of type other and unknown, -- this item can take any value in the range -- (-1000000000..1000000000), but the meaning of the values -- are specific to the sensor. -- -- Use Entity-MIB entPhysicalTable.entPhysicalVendorType -- to learn about the sensor type. SensorStatus ::= INTEGER { ok(1), unavailable(2), nonoperational(3) } -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- 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. SensorValueUpdateRate ::= INTEGER(0..999999999) -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- Indicates the interval in seconds between updates to the -- sensor's value. -- -- The value zero indicates: -- - the sensor value is updated on demand (when polled by the -- agent for a get-request), -- - or when the sensor value changes (event-driven), -- - or the agent does not know the rate -- SensorThresholdSeverity ::= INTEGER { other(1), minor(10), major(20), critical(30) } -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- 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. -- critical(30): Critical problem threshold. A system might shut -- down the sensor associated FRU automatically if -- the sensor value reach the critical problem -- threshold. SensorThresholdRelation ::= INTEGER { lessThan(1), lessOrEqual(2), greaterThan(3), greaterOrEqual(4), equalTo(5), notEqualTo(6) } -- TEXTUAL-CONVENTION -- Status -- mandatory -- Descr -- 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 entSensorValueTable OBJECT-TYPE SYNTAX SEQUENCE OF EntSensorValueEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table lists the type, scale, and present value of a sensor listed in the Entity-MIB entPhysicalTable." ::= { entSensorValues 1 } entSensorValueEntry OBJECT-TYPE SYNTAX EntSensorValueEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entSensorValueTable entry describes the present reading of a sensor, the measurement units and scale, and sensor operational status." INDEX { entPhysicalIndex } ::= { entSensorValueTable 1 } EntSensorValueEntry ::= SEQUENCE { entSensorType SensorDataType, entSensorScale SensorDataScale, entSensorPrecision SensorPrecision, entSensorValue SensorValue, entSensorStatus SensorStatus, entSensorValueTimeStamp TimeStamp, entSensorValueUpdateRate SensorValueUpdateRate } entSensorType OBJECT-TYPE SYNTAX SensorDataType -- Rsyntax 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), -- specialEnum(13), -- dBm(14) -- } ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the type of data reported by the entSensorValue. This variable is set by the agent at start-up and the value does not change during operation." ::= { entSensorValueEntry 1 } entSensorScale OBJECT-TYPE SYNTAX SensorDataScale -- Rsyntax INTEGER { -- yocto(1), -- zepto(2), -- atto(3), -- femto(4), -- pico(5), -- nano(6), -- micro(7), -- milli(8), -- units(9), -- kilo(10), -- mega(11), -- giga(12), -- tera(13), -- exa(14), -- peta(15), -- zetta(16), -- yotta(17) -- } ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the exponent to apply to sensor values reported by entSensorValue. This variable is set by the agent at start-up and the value does not change during operation." ::= { entSensorValueEntry 2 } entSensorPrecision OBJECT-TYPE SYNTAX SensorPrecision -- Rsyntax INTEGER(-8..9) ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the number of decimal places of precision in fixed-point sensor values reported by entSensorValue. This variable is set to 0 when entSensorType 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." ::= { entSensorValueEntry 3 } entSensorValue OBJECT-TYPE SYNTAX SensorValue -- Rsyntax INTEGER(-1000000000..1000000000) ACCESS read-only STATUS mandatory 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 entSensorType, entSensorScale, and entSensorPrecision. However, you can compare entSensorValue with the threshold values given in entSensorThresholdTable without any semantic knowledge." ::= { entSensorValueEntry 4 } entSensorStatus OBJECT-TYPE SYNTAX SensorStatus -- Rsyntax INTEGER { -- ok(1), -- unavailable(2), -- nonoperational(3) -- } ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the present operational status of the sensor." ::= { entSensorValueEntry 5 } entSensorValueTimeStamp OBJECT-TYPE SYNTAX TimeStamp -- Rsyntax TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the age of the value reported by entSensorValue" ::= { entSensorValueEntry 6 } entSensorValueUpdateRate OBJECT-TYPE SYNTAX SensorValueUpdateRate -- Rsyntax INTEGER(0..999999999) -- Units -- seconds ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the rate that the agent updates entSensorValue." ::= { entSensorValueEntry 7 } entSensorThresholdTable OBJECT-TYPE SYNTAX SEQUENCE OF EntSensorThresholdEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table lists the threshold severity, relation, and comparison value, for a sensor listed in the Entity-MIB entPhysicalTable." ::= { entSensorThresholds 1 } entSensorThresholdEntry OBJECT-TYPE SYNTAX EntSensorThresholdEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An entSensorThresholdTable 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, entSensorThresholdIndex } ::= { entSensorThresholdTable 1 } EntSensorThresholdEntry ::= SEQUENCE { entSensorThresholdIndex INTEGER, entSensorThresholdSeverity SensorThresholdSeverity, entSensorThresholdRelation SensorThresholdRelation, entSensorThresholdValue SensorValue, entSensorThresholdEvaluation TruthValue, entSensorThresholdNotificationEnable TruthValue } entSensorThresholdIndex OBJECT-TYPE SYNTAX INTEGER(1..99999999) ACCESS not-accessible STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the entSensorThresholdTable. This index permits the same sensor to have several different thresholds." ::= { entSensorThresholdEntry 1 } entSensorThresholdSeverity OBJECT-TYPE SYNTAX SensorThresholdSeverity -- Rsyntax INTEGER { -- other(1), -- minor(10), -- major(20), -- critical(30) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This variable indicates the severity of this threshold." ::= { entSensorThresholdEntry 2 } entSensorThresholdRelation OBJECT-TYPE SYNTAX SensorThresholdRelation -- Rsyntax INTEGER { -- lessThan(1), -- lessOrEqual(2), -- greaterThan(3), -- greaterOrEqual(4), -- equalTo(5), -- notEqualTo(6) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This variable indicates the relation between sensor value (entSensorValue) and threshold value (entSensorThresholdValue), required to trigger the alarm. when evaluating the relation, entSensorValue is on the left of entSensorThresholdRelation, entSensorThresholdValue is on the right. in pseudo-code, the evaluation-alarm mechanism is: ... if (entSensorStatus == ok) then if (evaluate(entSensorValue, entSensorThresholdRelation, entSensorThresholdValue)) then if (entSensorThresholdNotificationEnable == true)) then raise_alarm(sensor's entPhysicalIndex); endif endif endif ..." ::= { entSensorThresholdEntry 3 } entSensorThresholdValue OBJECT-TYPE SYNTAX SensorValue -- Rsyntax INTEGER(-1000000000..1000000000) ACCESS read-write STATUS mandatory DESCRIPTION "This variable indicates the value of the threshold. To correctly display or interpret this variable's value, you must also know entSensorType, entSensorScale, and entSensorPrecision. However, you can directly compare entSensorValue with the threshold values given in entSensorThresholdTable without any semantic knowledge." ::= { entSensorThresholdEntry 4 } entSensorThresholdEvaluation OBJECT-TYPE SYNTAX TruthValue -- Rsyntax INTEGER { -- true(1), -- false(2) -- } ACCESS read-only STATUS mandatory DESCRIPTION "This variable indicates the result of the most recent evaluation of the threshold. If the threshold condition is true, entSensorThresholdEvaluation is true(1). If the threshold condition is false, entSensorThresholdEvaluation is false(2). Thresholds are evaluated at the rate indicated by entSensorValueUpdateRate. " ::= { entSensorThresholdEntry 5 } entSensorThresholdNotificationEnable OBJECT-TYPE SYNTAX TruthValue -- Rsyntax INTEGER { -- true(1), -- false(2) -- } ACCESS read-write STATUS mandatory DESCRIPTION "This variable controls generation of entSensorThresholdNotification for this threshold. When this variable is true(1), generation of entSensorThresholdNotification is enabled. When this variable is false(2), generation of entSensorThresholdNotification is disabled. This variable only controls generation of entSensorThresholdNotification." ::= { entSensorThresholdEntry 6 } entSensorThresholdNotification TRAP-TYPE -- Reverse mappable trap ENTERPRISE entitySensorMIBNotificationPrefix VARIABLES { entSensorThresholdValue, entSensorValue } -- Status -- mandatory DESCRIPTION "The sensor value crossed the threshold listed in entSensorThresholdTable. 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." ::= 1 entitySensorValueGroup OBJECT IDENTIFIER ::= { entitySensorMIBGroups 1 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- The collection of objects which are used -- to describe and monitor values of Entity-MIB -- entPhysicalTable entries of sensors. -- objects -- entSensorType, entSensorScale, entSensorPrecision, -- entSensorValue, entSensorStatus, entSensorValueTimeStamp, -- entSensorValueUpdateRate entitySensorThresholdGroup OBJECT IDENTIFIER ::= { entitySensorMIBGroups 2 } -- OBJECT-GROUP -- Status -- mandatory -- Descr -- The collection of objects which are used -- to describe and monitor thresholds for -- sensors. -- objects -- entSensorThresholdSeverity, entSensorThresholdRelation, -- entSensorThresholdValue, entSensorThresholdEvaluation, -- entSensorThresholdNotificationEnable entitySensorThresholdNotificationGroup OBJECT IDENTIFIER ::= { entitySensorMIBGroups 3 } -- NOTIFICATION-GROUP -- Status -- mandatory -- Descr -- the collection of notifications used for -- monitoring sensor threshold activity. -- notifications -- entSensorThresholdNotification entitySensorMIBComplianceV01 OBJECT IDENTIFIER ::= { entitySensorMIBCompliances 1 } -- MODULE-COMPLIANCE -- Status -- deprecated -- Descr -- An Entity-MIB implementation that lists -- sensors in its entPhysicalTable must implement -- this group. -- Module -- >>current<< -- MandGroup -- entitySensorValueGroup -- MandGroup -- entitySensorThresholdGroup -- MandGroup -- entitySensorThresholdNotificationGroup entitySensorMIBComplianceV02 OBJECT IDENTIFIER ::= { entitySensorMIBCompliances 2 } -- MODULE-COMPLIANCE -- Status -- mandatory -- Descr -- An Entity-MIB implementation that lists -- sensors in its entPhysicalTable must implement -- this group. -- Module -- >>current<< -- MandGroup -- entitySensorThresholdGroup -- OptGroup -- entitySensorValueGroup -- OptGroup -- entitySensorThresholdNotificationGroup -- ObjVar -- entSensorThresholdSeverity -- ObjVar -- entSensorThresholdRelation -- ObjVar -- entSensorThresholdValue END