Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-6788

Large values of snmpifspeed come out negative when used in resource-filter

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.12.9, 1.13.4
    • Fix Version/s: 14.0.0
    • Component/s: Data Collection - SNMP
    • Security Level: Default (Default Security Scheme)
    • Labels:
    • Environment:
      Any system with 10Gbps interfaces represented in the snmpinterface table and thresholds configured with "snmpifspeed" as the attribute in a resource-filter

      Description

      Created from support ticket https://mynms.opennms.com/Ticket/Display.html?id=3217

      Sanitized details from that ticket:

              <threshold description="ifInErrors auf Backbone-Port" type="high"
                  ds-type="if" value="0.0001" rearm="0.0" trigger="1"
                  ds-label="ifName"
                  triggeredUEI="uei.example.org/threshold/BackboneIfInErrorsExceeded"
                  rearmedUEI="uei.example.org/threshold/BackboneIfInErrorsRearmed"
                  filterOperator="or" ds-name="ifInErrors">
                  <resource-filter field="snmpifspeed">^[1-9]+[0-9]{10,12}$</resource-filter>
              </threshold>
      

      Up to something less than 10 GBit/s it seems to be working using
      <resource-filter field="snmpifspeed">^[1-9]+[0-9]

      Unknown macro: {0,9}

      $</resource-filter>
      but maybe we miss some interfaces, see explanation below.

      We turned DEBUG level loging on for collectd. From collectd:

      fgrep "value of snmpifspeed is" collectd.log* | cut -d: -f6 | sed -e"s/ the value of snmpifspeed is //" | sort -u

      so we see "the value of snmpifspeed is":

      0. Pass filter? false
      1000000000. Pass filter? false
      1000000000. Pass filter? true
      100000000. Pass filter? false
      100000000. Pass filter? true
      10000000. Pass filter? false
      10000000. Pass filter? true
      -1294967296. Pass filter? false
      1345294336. Pass filter? false
      1345294336. Pass filter? true
      1410065408. Pass filter? false
      1410065408. Pass filter? true
      -1474836480. Pass filter? false
      1705032704. Pass filter? false
      1705032704. Pass filter? true
      2000000000. Pass filter? false
      2000000000. Pass filter? true
      23000. Pass filter? false
      23000. Pass filter? true
      -294967296. Pass filter? false
      -589934592. Pass filter? False

      But no negavite values appear in snmpinterface.snmpifspeed in the database.

        Attachments

          Activity

            People

            • Assignee:
              jeffg Jeff Gehlbach
              Reporter:
              jeffg Jeff Gehlbach
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: