diff --git a/doc/Developing/Sensor-State-Support.md b/doc/Developing/Sensor-State-Support.md index f0041146b2..1396371cbe 100644 --- a/doc/Developing/Sensor-State-Support.md +++ b/doc/Developing/Sensor-State-Support.md @@ -16,7 +16,7 @@ For sensor state monitoring, we have 4 DB tables we need to concentrate about. We will just briefly tie a comment to each one of them. -#### sensors +#### Sensors *Each time a sensor needs to be polled, the system needs to know which sensor is it that it need to poll, at what oid is this sensor located and what class the sensor is etc. This information is fetched from the sensors table.* @@ -31,15 +31,12 @@ This information is fetched from the sensors table.* We also map these values to the actual state sensor(state_index) where these values are actually returned from.* -*The LibreNMS generic states is derived from Nagios:* +*The LibreNMS generic states are derived from Nagios:* ``` 0 = OK - 1 = Warning - 2 = Critical - 3 = Unknown ``` @@ -56,56 +53,57 @@ mib: NETBOTZV2-MIB modules: sensors: state: - - - oid: dryContactSensorTable - value: dryContactSensorValue - num_oid: .1.3.6.1.4.1.5528.100.4.2.1.1.2. - descr: dryContactSensorLabel - index: 'dryContactSensor.{{ $index }}' - state_name: dryContactSensor - states: - - { descr: 'null', graph: 0, value: -1, generic: 3 } - - { descr: open, graph: 0, value: 0, generic: 0 } - - { descr: closed, graph: 0, value: 1, generic: 2 } - - - oid: doorSwitchSensorTable - value: doorSwitchSensorValue - num_oid: .1.3.6.1.4.1.5528.100.4.2.2.1.2. - descr: doorSwitchSensorLabel - index: 'doorSwitchSensor.{{ $index }}' - state_name: doorSwitchSensor - states: - - { descr: 'null', graph: 0, value: -1, generic: 3 } - - { descr: open, graph: 0, value: 0, generic: 0 } - - { descr: closed, graph: 0, value: 1, generic: 2 } - - - oid: cameraMotionSensorTable - value: cameraMotionSensorValue - num_oid: .1.3.6.1.4.1.5528.100.4.2.3.1.2. - descr: cameraMotionSensorLabel - index: 'cameraMotionSensor.{{ $index }}' - state_name: cameraMotionSensor - states: - - { descr: 'null', graph: 0, value: -1, generic: 3 } - - { descr: noMotion, graph: 0, value: 0, generic: 0 } - - { descr: motionDetected, graph: 0, value: 1, generic: 2 } - - - oid: otherStateSensorTable - value: otherStateSensorErrorStatus - num_oid: .1.3.6.1.4.1.5528.100.4.2.10.1.3. - descr: otherStateSensorLabel - index: '{{ $index }}' - state_name: otherStateSensorErrorStatus - states: - - { value: 0, generic: 0, graph: 0, descr: normal } - - { value: 1, generic: 1, graph: 0, descr: info } - - { value: 2, generic: 1, graph: 0, descr: warning } - - { value: 3, generic: 2, graph: 0, descr: error } - - { value: 4, generic: 2, graph: 0, descr: critical } - - { value: 5, generic: 2, graph: 0, descr: failure } - + data: + - + oid: dryContactSensorTable + value: dryContactSensorValue + num_oid: .1.3.6.1.4.1.5528.100.4.2.1.1.2. + descr: dryContactSensorLabel + index: 'dryContactSensor.{{ $index }}' + state_name: dryContactSensor + states: + - { value: -1, generic: 3, graph: 0, descr: 'null' } + - { value: 0, generic: 0, graph: 0, descr: open } + - { value: 1, generic: 2, graph: 0, descr: closed } + - + oid: doorSwitchSensorTable + value: doorSwitchSensorValue + num_oid: .1.3.6.1.4.1.5528.100.4.2.2.1.2. + descr: doorSwitchSensorLabel + index: 'doorSwitchSensor.{{ $index }}' + state_name: doorSwitchSensor + states: + - { value: -1, generic: 3, graph: 0, descr: 'null' } + - { value: 0, generic: 0, graph: 0, descr: open } + - { value: 1, generic: 2, graph: 0, descr: closed } + - + oid: cameraMotionSensorTable + value: cameraMotionSensorValue + num_oid: .1.3.6.1.4.1.5528.100.4.2.3.1.2. + descr: cameraMotionSensorLabel + index: 'cameraMotionSensor.{{ $index }}' + state_name: cameraMotionSensor + states: + - { value: -1, generic: 3, graph: 0, descr: 'null' } + - { value: 0, generic: 0, graph: 0, descr: noMotion } + - { value: 1, generic: 2, graph: 0, descr: motionDetected } + - + oid: otherStateSensorTable + value: otherStateSensorErrorStatus + num_oid: .1.3.6.1.4.1.5528.100.4.2.10.1.3. + descr: otherStateSensorLabel + index: '{{ $index }}' + state_name: otherStateSensorErrorStatus + states: + - { value: 0, generic: 0, graph: 0, descr: normal } + - { value: 1, generic: 1, graph: 0, descr: info } + - { value: 2, generic: 1, graph: 0, descr: warning } + - { value: 3, generic: 2, graph: 0, descr: error } + - { value: 4, generic: 2, graph: 0, descr: critical } + - { value: 5, generic: 2, graph: 0, descr: failure } ``` +### Advanced Example For advanced state discovery: This example will be based on a Cisco power supply sensor and is all it takes to have sensor state support for Cisco power supplys in Cisco switches.