Ad Widget

Collapse

became not supported: snmp_fix_pdu(): cannot fix PDU object.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jason
    Senior Member
    • Nov 2007
    • 430

    #1

    became not supported: snmp_fix_pdu(): cannot fix PDU object.

    I'm seeing a lot of this message in my logs for SNMP checks recently with 3.2.7... I can't seem to find any explanation in the docs for what is going on.

    What does this message mean and is there any work around to that error?
  • volter
    Member
    Zabbix Certified Specialist
    • Dec 2011
    • 85

    #2
    This function is part of the netsnmp API and called in src/zabbix_server/poller/checks_snmp.c. I'll quote the comment that introduces this code branch:

    Code:
    /* If a request PDU contains a bad variable, the specified behavior is different between SNMPv1 and */
    /* later versions. In SNMPv1, the whole PDU is rejected and "response->errindex" is set to indicate */
    /* the bad variable. In SNMPv2 and later, the SNMP agent processes the PDU by filling values for the */
    /* known variables and marking unknown variables individually in the variable binding list. However, */
    /* SNMPv2 allows SNMPv1 behavior, too. So regardless of the SNMP version used, if we get this error, */
    /* then we fix the PDU by removing the bad variable and retry the request. *
    /
    Looking at the code, I take it this means that the requested PDU doesn't contain anything that can be used. It might be worth running at a higher debug level or to capture the PDU on the wire to see what's inside.

    Comment

    • Jason
      Senior Member
      • Nov 2007
      • 430

      #3
      That's quite helpful... It makes more sense now.

      I've noticed that the items I'm getting that error on all have bulk requests enabled. The items in question suddenly stop being reported back... I'll need to enable some debug logging to see if it's a malformed bulk reply or zabbix just not handling the reply correctly.

      From logs so far...

      20999:20171006:085210.265 error reason for "XXXXXX:MikrotikCaseTemperature" changed: SNMP error: (noSuchName) There is no such variable name in this MIB.
      20999:20171006:085210.265 error reason for "XXXXXX:MikrotikProcTemperature" changed: snmp_fix_pdu(): cannot fix PDU object.

      Both items normally return a value correctly.
      Last edited by Jason; 06-10-2017, 09:56.

      Comment

      • troffasky
        Senior Member
        • Jul 2008
        • 567

        #4
        Interesting that it is Mikrotik for you - RouterOS devices are the only ones that generate this error in my setup.

        Comment

        Working...