OCCAM-SENSOR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, OBJECT-IDENTITY FROM SNMPv2-SMI TEXTUAL-CONVENTION, TimeStamp, TruthValue, DisplayString FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB PhysicalIndex FROM OCCAM-ENTITY-MIB MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF occamGenericHardwareModules FROM OCCAM-REG-MODULE; sensorMIB MODULE-IDENTITY LAST-UPDATED "200104271051Z" ORGANIZATION "Occam Networks" CONTACT-INFO "email : support@occamnetworks.com" DESCRIPTION "The OCCAM-ENTITY-SENSOR-MIB is used to monitor the values of Sensors in the BLC1100." REVISION "200104271051Z" DESCRIPTION "Reformatted certain text and revised certain description and syntax sections" REVISION "201004140000Z" DESCRIPTION "Updated sensorEventType" REVISION "200907060000Z" DESCRIPTION "corrected sensorEventType's syntac to DisplayString" REVISION "200702220000Z" DESCRIPTION "remove DISPLAY-HINT" ::= { occamGenericHardwareModules 2 } -- TEXTUAL-CONVENTIONS SensorThresholdRelation ::= 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)} SensorStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Indicates the operational status of the Sensor. ok(1): The agent can read the Sensor value. unavailable(2): The agent presently can not report the Sensor value. nonoperational(3): 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) } SensorValue ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "For Sensors that measure voltsAC, voltsDC, celsius this item is a fixed point number ranging from -99,999 to +99,999. Use the value -100000 to indicate underflow. Use the value +100000 to indicate overflow. Use SensorPrecision to indicate how many fractional digits the SensorValue has. For Sensors that measure rpm, this item can take only nonnegative values, 0..99999." SYNTAX Integer32 ( -100000 .. 100000 ) SensorDataType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Sensor measurement data types. valid values are: other(1): a measure other than those listed below volts(2): electric potential celsius(3): temperature rpm(4): fan revolutions per minute milliAmp(5): milliampere microAmp(6): microampere milliWatt(7): milliwatt microWatt(8): microwatt alarmInput(9): alarm Input sdram(10): memory SDRAM usage(11): system resource usage count(12): ." SYNTAX INTEGER { other(1), -- deprecated volts(2), celsius(3), rpm(4), milliAmp(5), microAmp(6), milliWatt(7), microWatt(8), alarmInput(9), sdram(10), usage(11), count(12) } SensorThresholdSeverity ::= 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. critical(30): Critical Problem Threshold." SYNTAX INTEGER { other(1), minor(10), major(20), critical(30) } SensorDataScale ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "International System of Units (SI) prefixes." SYNTAX INTEGER { micro (1), -- 10^-6 milli (2), -- 10^-3 centi (3), -- 10^-2 units (4), -- 10^0 kilo (5), -- 10^3 mega (6) -- 10^6 } -- identifier statements sensorMIBObjects OBJECT IDENTIFIER ::= { sensorMIB 1 } --traps sensorMIBTraps OBJECT IDENTIFIER ::= {sensorMIB 2 } sensorMIBTrapsSubID OBJECT IDENTIFIER ::= { sensorMIBTraps 0} --conformance statements sensorMIBConformance OBJECT IDENTIFIER ::= {sensorMIB 3 } sensorMIBGroups OBJECT IDENTIFIER ::= { sensorMIBConformance 1 } sensorMIBCompliances OBJECT IDENTIFIER ::= { sensorMIBConformance 2 } -- -- MIB variables -- sensorValues OBJECT IDENTIFIER ::= { sensorMIBObjects 1 } sensorThresholds OBJECT IDENTIFIER ::= { sensorMIBObjects 2 } -- -- notifications -- sensorThresholdNotification NOTIFICATION-TYPE OBJECTS { sensorName, sensorType, sensorThresholdValue, sensorThresholdSeverity, sensorEventType } STATUS current DESCRIPTION "The Sensor value crossed the threshold listed in sensorThresholdTable. 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." ::= { sensorMIBTrapsSubID 1 } occamExtAlarmRaised NOTIFICATION-TYPE OBJECTS { occamExtAlarmDescription } STATUS current DESCRIPTION "An external alarm has been detected, the alarm is described in the associated variable binding." ::= {sensorMIBTrapsSubID 2} occamExtAlarmCleared NOTIFICATION-TYPE OBJECTS {occamExtAlarmDescription } STATUS current DESCRIPTION "The condition causing the external alarm has been cleared, the alarm is described in the associated variable binding." ::={ sensorMIBTrapsSubID 3} sensorMIBObjectGroups OBJECT IDENTIFIER ::= { sensorMIBGroups 1 } sensorMIBEventGroups OBJECT IDENTIFIER ::= { sensorMIBGroups 2 } -- -- compliance statements -- sensorMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "An Entity-MIB implementation that lists Sensors in its entPhysicalTable must implement this group." MODULE MANDATORY-GROUPS { sensorGroup ,sensorThresholdGroup } ::= { sensorMIBCompliances 1 } -- -- sensorTable -- sensorTable OBJECT-TYPE SYNTAX SEQUENCE OF SensorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the type, scale, and present value of a Sensor in the BLC1100." ::= { sensorValues 1 } sensorEntry OBJECT-TYPE SYNTAX SensorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An sensorTable entry describes the present reading of a Sensor, the measurement units and scale, and Sensor operational status." INDEX { sensorIndex } ::= { sensorTable 1 } SensorEntry ::= SEQUENCE { sensorIndex PhysicalIndex, sensorName SnmpAdminString, sensorType SensorDataType, sensorValue SensorValue, sensorScale SensorDataScale, sensorTimeStamp TimeStamp, sensorEventType DisplayString } sensorIndex OBJECT-TYPE SYNTAX PhysicalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This serves as an index for identifying the sensor." ::= { sensorEntry 1 } sensorName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This is the textual description of the name of the sensor.For e.g., in the BLC1100 there are two temperature Sensors,and their locations ExternalTempSensor and InternalTempSensor." ::= { sensorEntry 2 } sensorType OBJECT-TYPE SYNTAX SensorDataType MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the type of data reported by the sensorValue. This variable is set by the agent at start-up and the value does not change during operation." ::= { sensorEntry 3 } sensorValue OBJECT-TYPE SYNTAX SensorValue 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 sensorType, sensorScale, and sensorPrecision. However, you can compare sensorValue with the threshold values given in sensorThresholdTable without any semantic knowledge." ::= { sensorEntry 4 } sensorScale OBJECT-TYPE SYNTAX SensorDataScale MAX-ACCESS read-only STATUS current 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." ::= { sensorEntry 5 } sensorTimeStamp OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the age of the value reported by sensorValue" ::= { sensorEntry 6 } sensorEventType OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the event type reported by the sensor. The possible values are: Cleared, LowLimitExceeded, HighLimitExceeded, AlarmInOn, AlarmInOff, FanFastSpeed, FanSlowSpeed, wrongSfp." ::= { sensorEntry 7 } occamExtAlarmDescription OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This is the value of the alarm-description as entered by the user. The string is associated with the external alarm detection mechanism and as a variable binding for the occamExtAlarmRaised and occamExtAlarmCleared SNMP Traps " ::= { sensorValues 2 } -- -- sensorThresholdTable -- sensorThresholdTable OBJECT-TYPE SYNTAX SEQUENCE OF EntSensorThresholdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the threshold severity, relation, and comparison value for a Sensor listed in the sensor Table." ::= { sensorThresholds 1 } sensorThresholdEntry OBJECT-TYPE SYNTAX EntSensorThresholdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An sensorThresholdTable entry describes the thresholds for a Sensor: the threshold severity, the threshold value, the relation, and the evaluation of the threshold. Only pre-configured thresholds are listed in this table. Entries are created by the agent at system startup." INDEX { sensorThresholdIndex, sensorIndex} ::= { sensorThresholdTable 1 } EntSensorThresholdEntry ::= SEQUENCE { sensorThresholdIndex Integer32, sensorThresholdSeverity SensorThresholdSeverity, sensorThresholdRelation SensorThresholdRelation, sensorThresholdValue SensorValue, sensorThresholdNotificationEnable TruthValue } sensorThresholdIndex OBJECT-TYPE SYNTAX Integer32 ( 1 .. 99999999 ) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the sensorThreshold table. This index permits the same Sensor to have several different thresholds." ::= { sensorThresholdEntry 1 } sensorThresholdSeverity OBJECT-TYPE SYNTAX SensorThresholdSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the severity of this threshold." ::= { sensorThresholdEntry 2 } sensorThresholdRelation OBJECT-TYPE SYNTAX SensorThresholdRelation MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the relation between Sensor value (sensorValue) and threshold value senshresholdValue), required to trigger the alarm. when evaluating the relation, sensorValue is on the left of sensorThresholdRelation, sensorThresholdValue is on the right. in pseudo-code, the evaluation-alarm mechanism is: ... if (sensorStatus == ok) then if (evaluate(sensorValue, sensorThresholdRelation, sensorThresholdValue)) then if (sensorThresholdNotificationEnable == true)) then raise_alarm(sensorThresholdAlarmOID); endif endif endif ..." ::= { sensorThresholdEntry 3 } sensorThresholdValue OBJECT-TYPE SYNTAX SensorValue 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 sensorType, sensorScale, and sensorPrecision. However, you can directly compare sensorValue with the threshold values given in sensorThresholdTable without any semantic knowledge." ::= { sensorThresholdEntry 4 } sensorThresholdNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable controls generation of sensorThresholdNotification for this threshold. When this variable is true(1), generation of sensorThresholdNotification is enabled. When this variable is false(2), generation of sensorThresholdNotification is disabled. This variable only controls generation of sensorThresholdNotification." ::= { sensorThresholdEntry 5 } -- -- units of conformance -- sensorGroup OBJECT-GROUP OBJECTS { sensorType , sensorValue , sensorTimeStamp , sensorName } STATUS current DESCRIPTION "The collection of objects which are used to describe and monitor values of Entity-MIB entPhysicalTable entries of Sensors." ::= { sensorMIBObjectGroups 1 } sensorThresholdGroup OBJECT-GROUP OBJECTS { sensorThresholdSeverity ,sensorThresholdRelation ,sensorThresholdValue ,sensorThresholdNotificationEnable } STATUS current DESCRIPTION "The collection of objects which are used to describe and monitor thresholds for Sensors." ::= { sensorMIBObjectGroups 2 } END