Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-12259

LLD: Multiple OIDs SNMP discovery : Issues if not all OIDs are available on the device

    XMLWordPrintable

    Details

    • Team:
      Team A
    • Sprint:
      Sprint 5, Sprint 6, Sprint 7, Sprint 9, Sprint 10, Sprint 11, Sprint 12, Sprint 13, Sprint 14, Sprint 15, Sprint 16, Sprint 17, Sprint 18, Sprint 19
    • Story Points:
      5

      Description

      I met the following problem.

      First, I create a LLD discovery with the following OID:

       
      discovery[{#SNMPVALUE},ifOperStatus,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},.1.3.6.1.2.1.2.2.1.2,{#IFTYPE},ifType]
       

      And at first it works just fine

      Hovewer, If the following filter is applied:

      Then there is a problem rises: It means that if devices dont' have 1.3.6.1.2.1.31.1.1.1(ifXtable) then they don't have any values for macroses {#IFNAME},{#IFALIAS} neither.

      And such devices could not be discovered! Reason: Filter {#IFNAME} matches @IFNAME BLACKLIST cannot be evaluated despite the fact that
      EXPRESSION TYPE of 'Result is False' was used.

      There are two problems I see here

      • Filter for empty(undefined) value cannot be evaluated despite its type of 'Result is False'
      • There is no discovery error (red cross with the comment) which could dramatically assist in debugging such issue. Error or warning stating that not all oids stated in discovery key can be found on the the host could help dramatically

        I want you to consider two things here:

      1) Make discovery filters more soft.
      So in case of 'Result is FALSE' type of expression undefinied can pass as OK. Please consider this just because that template can possibly be applied to broad range of devices where OIDs availability may vary.
      2) And/OR
      Please also make a warning appear in INFO column of discovery page of the host that would assist in debugging problems that might rise during such discovery

      Thank you!

      P.S. here are some console output tests for the device that doesn't have ifXtable

      administrator@zabbix:~$ snmpwalk -c virton -v 1 10.40.0.30 .1.3.6.1.2.1.31.1.1.1
      administrator@zabbix:~$
      

      same with debug on:

      administrator@zabbix:~$ snmpwalk -c virton -v 1 10.40.0.30 .1.3.6.1.2.1.31.1.1.1 -d
       
      Sending 44 bytes to UDP: [10.40.0.30]:161->[0.0.0.0]
      0000: 30 2A 02 01  00 04 06 76  69 72 74 6F  6E A1 1D 02    0*.....virton...
      0016: 04 24 58 66  7F 02 01 00  02 01 00 30  0F 30 0D 06    .$Xf.......0.0..
      0032: 09 2B 06 01  02 01 1F 01  01 01 05 00                 .+..........
       
       
      Received 50 bytes from UDP: [10.40.0.30]:161->[0.0.0.0]
      0000: 30 30 02 01  00 04 06 76  69 72 74 6F  6E A2 23 02    00.....virton.#.
      0016: 04 24 58 66  7F 02 01 00  02 01 00 30  15 30 13 06    .$Xf.......0.0..
      0032: 0D 2B 06 01  04 01 CE 12  01 01 01 01  01 00 42 02    .+............B.
      0048: 73 54                                                 sT
       
       
      Sending 44 bytes to UDP: [10.40.0.30]:161->[0.0.0.0]
      0000: 30 2A 02 01  00 04 06 76  69 72 74 6F  6E A0 1D 02    0*.....virton...
      0016: 04 24 58 66  80 02 01 00  02 01 00 30  0F 30 0D 06    .$Xf.......0.0..
      0032: 09 2B 06 01  02 01 1F 01  01 01 05 00                 .+..........
       
       
      Received 44 bytes from UDP: [10.40.0.30]:161->[0.0.0.0]
      0000: 30 2A 02 01  00 04 06 76  69 72 74 6F  6E A2 1D 02    0*.....virton...
      0016: 04 24 58 66  80 02 01 02  02 01 01 30  0F 30 0D 06    .$Xf.......0.0..
      0032: 09 2B 06 01  02 01 1F 01  01 01 05 00                 .+..........
      

      However, it's all fine you poll IF-MIB counters:

      administrator@zabbix:~$ snmpwalk -c virton -v 1 10.40.0.30 IF-MIB::ifDescr
      IF-MIB::ifDescr.1 = STRING: lo
      IF-MIB::ifDescr.2 = STRING: eth0
      IF-MIB::ifDescr.3 = STRING: eth1
      IF-MIB::ifDescr.4 = STRING: wifi0
      IF-MIB::ifDescr.5 = STRING: ath0
      IF-MIB::ifDescr.6 = STRING: eth0.40
      IF-MIB::ifDescr.7 = STRING: ath0.40
      IF-MIB::ifDescr.8 = STRING: br0
      IF-MIB::ifDescr.9 = STRING: br1
      

        Attachments

        1. 1.png
          1.png
          26 kB
        2. 2.jpg
          2.jpg
          15 kB
        3. 3.jpg
          3.jpg
          20 kB
        4. filter.png
          filter.png
          37 kB

          Activity

            People

            Assignee:
            viktors.tjarve Viktors Tjarve
            Reporter:
            vzhuravlev Vitaly Zhuravlev
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: