Uploaded image for project: 'Observium'
  1. Observium
  2. OBS-3200

False-Positive, Meassured value missing if it is "0"

Details

    • Bug
    • Resolution: Fixed
    • Major
    • None
    • Professional Edition
    • Alerting
    • None

    Description

      I'am not very sure but I think there is a problem if the sensor_value / measured value is "0" in snmp reply for custom alerts. We have a lot of false positive since months which we simply ignored until today but now we would like to fix this.

      I have an alert that checks the RX power light level and triggers an alert if the sensor_value is below sensor_limit_low. That's working so far fine, but if the device replys with an INTEGER of 0 I'am not able to match it. The alert still gets triggered in this case which shouldn't.

      I also added a screenshot of the alert, the current database output, test conditions used in checker and a snmpget for the specific OID.

       

       

      sensor_value le @sensor_limit_low
      sensor_value ne 0.00000
      sensor_value ne 0
      sensor_value ne -40.00000
      sensor_value ne -30.00000
      

       

       

      {
      	"table": "sensors",
      	"rows":
      	[
      		{
      			"sensor_id": 48785,
      			"sensor_deleted": 0,
      			"sensor_class": "dbm",
      			"device_id": 52,
      			"poller_type": "snmp",
      			"sensor_oid": ".1.3.6.1.4.1.9.9.91.1.1.1.1.4.46010283",
      			"sensor_mib": "CISCO-ENTITY-SENSOR-MIB",
      			"sensor_object": "entSensorValue",
      			"sensor_index": "46010283",
      			"sensor_type": "CISCO-ENTITY-SENSOR-MIB-entSensorValue",
      			"sensor_descr": "Non-Cisco OEM SFP+ 10G Pluggable Optics Module - Transceiver Rx Power - Rx 0/0/2/1",
      			"sensor_unit": "W",
      			"sensor_multiplier": 0.000001,
      			"sensor_limit": 0,
      			"sensor_limit_warn": -1.00179,
      			"sensor_limit_low": -15.5284,
      			"sensor_limit_low_warn": -14.437,
      			"sensor_custom_limit": 0,
      			"entPhysicalIndex_measured": "36",
      			"measured_class": "port",
      			"measured_entity": "6010",
      			"entPhysicalIndex": "46010283",
      			"entPhysicalClass": null,
      			"sensor_ignore": 0,
      			"sensor_disable": 0,
      			"sensor_value": 0.00000,
      			"sensor_event": "alert",
      			"sensor_status": "Sensor critical thresholds exceeded.",
      			"sensor_polled": 1579166206,
      			"sensor_last_change": 1563878252
      		}
      	]
      }

       

       

       

      root@observium:/opt/observium# snmpget -c XXX -v 2c asr .1.3.6.1.4.1.9.9.91.1.1.1.1.4.46010283
      iso.3.6.1.4.1.9.9.91.1.1.1.1.4.46010283 = INTEGER: 0
      

       

       

      Attachments

        Activity

          [OBS-3200] False-Positive, Meassured value missing if it is "0"

          It works

          dklimek Denis Klimek added a comment - It works

          r10238 now should fix issue.

          landy Mike Stupalov added a comment - r10238 now should fix issue.

          derp... scale..

          landy Mike Stupalov added a comment - derp... scale..

          Hmm I think it's not working.

          In discovery debug I still see this:

          DOM power sensor forced to dBm sensor.
          Converted DBM value: -0.009999 W -> FALSE

          Can you check? This time I uploaded a poller debug for the sensors.

          dklimek Denis Klimek added a comment - Hmm I think it's not working. In discovery debug I still see this: DOM power sensor forced to dBm sensor. Converted DBM value: -0.009999 W -> FALSE Can you check? This time I uploaded a poller debug for the sensors.

          Added conversion exclude (-9999W to -99dBm) in r10236.

          landy Mike Stupalov added a comment - Added conversion exclude (-9999W to -99dBm) in r10236.

          yes, I just improved display matched values (for boolean and null values).
          If you see FALSE on these converted dBm sensors, than this sensor return negative value in watts (this is complete impossible and should be ignored by discovery.

          Please make debug discovery for this sensors.

          landy Mike Stupalov added a comment - yes, I just improved display matched values (for boolean and null values). If you see FALSE on these converted dBm sensors, than this sensor return negative value in watts (this is complete impossible and should be ignored by discovery. Please make debug discovery for this sensors.

          Works. I see that something else got improvied. Sometimes I see also "FALSE" as a measure result. How I can match on this correctly?

          dklimek Denis Klimek added a comment - Works. I see that something else got improvied. Sometimes I see also "FALSE" as a measure result. How I can match on this correctly?

          Fixed in r10231.

          But use this conditions instead:

          sensor_value le @sensor_limit_low
          sensor_value ne -99
          sensor_value ne -40.00000
          sensor_value ne -30.00000
          

          landy Mike Stupalov added a comment - Fixed in r10231. But use this conditions instead: sensor_value le @sensor_limit_low sensor_value ne -99 sensor_value ne -40.00000 sensor_value ne -30.00000
          landy Mike Stupalov added a comment - - edited

          yah, I know why this happens.

          this is converted from Watts -> dBm sensor.
          0W - is impossible value for convert to dBm (converter returns FALSE):
          this is why value not displayed in alert and why event sets to alert.

          Really not sure what is correctly for this.. probably I can hardcode conversion 0W to -99dBm (or so).
          -99dBm == 1.259×10^-13 W

          But this better than currently value displayed as 0dBm (which mean 0.001W).

          landy Mike Stupalov added a comment - - edited yah, I know why this happens. this is converted from Watts -> dBm sensor. 0W - is impossible value for convert to dBm (converter returns FALSE): this is why value not displayed in alert and why event sets to alert. Really not sure what is correctly for this.. probably I can hardcode conversion 0W to -99dBm (or so). -99dBm == 1.259×10^-13 W But this better than currently value displayed as 0dBm (which mean 0.001W).

          Yes

          sensor_value le @sensor_limit_low would be in my case

          0.00000 le -14.437

           

          dklimek Denis Klimek added a comment - Yes sensor_value le @sensor_limit_low would be in my case 0.00000 le  - 14.437  

          People

            landy Mike Stupalov
            dklimek Denis Klimek
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: