incorrect processing of "error-status: noSuchName" response using SNMPv2 protocol for devices behaving like SNMPv1 (ZBX-8096)

[ZBX-8185] Review method of getting info by zabbix via SNMP, or give possibility to select it - cannot get info from some devices after upgrade! Created: 2014 May 07  Updated: 2014 Jun 30  Resolved: 2014 May 15

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Proxy (P), Server (S)
Affects Version/s: 2.2.3
Fix Version/s: None

Type: Sub-task Priority: Critical
Reporter: Ray Assignee: Unassigned
Resolution: Duplicate Votes: 1
Labels: bulk, snmp, squashable
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 12.04 x64, Zabbix from official repo


Attachments: PNG File Выделение_074.png     PNG File Выделение_075.png     PNG File Выделение_076.png    
Issue Links:
Duplicate
duplicates ZBXNEXT-2301 there should be a way to disable SNMP... Closed

 Description   

It seems to be that after upgrade to 2.2.3 changed behavior of getting info via SNMP - I can get info by snmpwalk, but cannot get via zabbix, because it's packs multiple values to single bulk request, and some old devices cannot answer correctly to this (but in version 2.2.2 it works fine). Please provide a possibility to disable "packing" of request to single request, or add check of such unsupported devices via bulk + get-next, if "no instance" returns for bulk.



 Comments   
Comment by Aleksandrs Saveljevs [ 2014 May 07 ]

Could you please describe how exactly older devices fail to respond properly to bulk requests? Does the failure manifest itself in exactly the same way as ZBX-8145?

Comment by Ray [ 2014 May 07 ]

In my case - only one (seems to be random) OID is returned to zabbix (according to traffic in wireshark), all over returned as "noSuchInstance". But I can get them one-by-one via snmpwalk. Yes, it' very similar to 8145, seems to be duplicate, sorry.

Comment by Aleksandrs Saveljevs [ 2014 May 07 ]

Thank you for the quick response! For completeness, could you please post a *.pcap file with a tcpdump of Zabbix to device communication so that we can see raw packets?

Comment by Ray [ 2014 May 07 ]

Sorry, I cannot post raw packets due security, but here is screenshots of request and responce:

request

responce

Comment by Ray [ 2014 May 07 ]

Of course, it's device problem - but previous versions of Zabbix, without bulk requests, was fine with this device. A possibility to choice method of request will be the best solution, I think...

Comment by Aleksandrs Saveljevs [ 2014 May 08 ]

It is interesting to note that in the screenshots above not only the device answers with one value out of five, but it also replaces the first variable with another.

Comment by Ray [ 2014 May 08 ]

Yes. It's seems to be device have really buggy SNMP implementation in bulk part, but.. older version of zabbix and snmpwalk works fine

Comment by Aleksandrs Saveljevs [ 2014 May 08 ]

I shall quote myself from https://www.zabbix.com/forum/showthread.php?t=45200 to describe the reason we do not have a solution for this yet:

Zabbix is under no obligation to support such [non-conformant] devices, but it may provide a workaround. Currently, we see two options: (a) improve the AI to detect such cases and (b) provide a way to disable SNMP bulk for each interface. For (a), we need to understand how widespread such behavior is to warrant a workaround in Zabbix. It might be that a better solution would be to write to SNMP authors on this device to make it standard-conformant. For (b), we can only do this in 2.4 (which is feature complete already, so probably 2.6), because it requires database changes and database changes can only be done in major versions. Introducing a global configuration parameter for disabling SNMP bulk is not an option, because it would disable SNMP bulk globally, even for devices that are OK with it.

Personally, I am not in favor of (a), because we would need to create a (potentially vast) collection of workarounds for every possible way that a device would fail to conform to SNMP standard.

Option (b), as noted above, is possible in 2.6 the nearest.

Maybe there is an SNMP proxy that would split bulk requests to single requests? Something similar is described at http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol#Proxy_agents , where it says that "GetBulk messages are converted by the proxy agent to GetNext messages and then are forwarded to the SNMPv1 agent", but it is not the same.

Comment by Cristian Mammoli [ 2014 May 08 ]

So the only viable solution actually is to stick to 2.2.2 until 2.6 is out?

Well...

Comment by Ray [ 2014 May 08 ]

Is it safe to downgrade to 2.2.2 in deb-based systems? Database, configs etc..?

Comment by Aleksandrs Saveljevs [ 2014 May 08 ]

It seems that I scared a lot of people.

If we do not find any other solution, we will of course implement workarounds in Zabbix 2.2.4 until a better solution is possible.

Comment by Aleksandrs Saveljevs [ 2014 May 08 ]

Ray, you only posted one request-response sequence. Could you please check whether it is safe to rely on the fact that the first variable in the response packets is not sensible?

Comment by Aleksandrs Saveljevs [ 2014 May 08 ]

Cristian, what case do you have? Does your device also fail to conform to SNMP standard? If so, then how does it manifest?

Comment by Ray [ 2014 May 08 ]

Aleksandrs, this device is always set Object Name to 0.0.0 in response. It's looks like this:

1) zabbix trying to get multiple values
2) device answers with single 0.0.0 answer (but with correct value) and other "noSuchInstance"
3) zabbix continues to request this single value until next attempt to retrive multiple values
4) device answer with single 0.0.0 (usually other, then previuos OID) etc..

like this

Comment by Aleksandrs Saveljevs [ 2014 May 08 ]

Thank you for the info, Ray! What is the name of this device?

Comment by Ray [ 2014 May 08 ]

MERA MVTS 3G, VoIP softswitch.

Comment by Cristian Mammoli [ 2014 May 08 ]

Aleksandrs, all the details about my environment are on ZBX-8096. But I'm not sure if me and the op are facing the same problem

Ty

Comment by Rascal [ 2014 May 09 ]

I have the same problem with the Mikrotik devices after upgrading to 2.2.3.

In zabbix server logs a lot of errors like this:
31634:20140509:201018.068 item [smr-rb750g-n2:.1.3.6.1.2.1.2.2.1.8.["6"]] became supported
31645:20140509:202012.338 item [smr-rb750g-n2:.1.3.6.1.2.1.2.2.1.8.["6"]] became not supported: SNMP error: (noSuchName) There is no such variable name in this MIB.

Comment by Aleksandrs Saveljevs [ 2014 May 10 ]

Rascal, could you please check the traffic to determine whether your MikroTik device behaves the same as Cristian's "patton2291" device in ZBX-8096?

Comment by sergio cricca [ 2014 May 13 ]

about mikrotik monitoring:

I've created a Template with SNMP LLD for ALL network interfaces.
It is supposed to get standard values as in image (and create graphs based on LLD):
http://i.imgur.com/JwT9VRG.png

Working as expected since 2.0.1 (first time I set up this template).
After I upgraded to v 2.2.3 it started to loose data and my graphs have holes like this:
http://i.imgur.com/Taojsoe.png

red = while running zabbix-server 2.2.3
green = after rollback to zabbix-server 2.2.2 (today)

I cannot debug CPU usage while those holes appear while using zabbix 2.2.3, because I cannot (obviously) get data via SNMP, and I don't have direct access to the router, [B]BUT[/B] in the past I had problems with IPSec VPN on Mikrotik routers and cipher, caused by CPU usage, so reading posts about SNMP bulk in zabbix 2.2.3 I supposed this feature is stressing CPU too much to get all the data.

Any problem has been detected after rolling back to simple SNMP get as per version 2.2.2 .

Comment by Aleksandrs Saveljevs [ 2014 May 14 ]

Sergio, your issue looks similar to ZBX-8191. Could you please post some tcpdump of the packets between Zabbix and MikroTik?

Comment by Aleksandrs Saveljevs [ 2014 May 15 ]

In Zabbix 2.4, which is soon to be released, we shall try to provide a way to enable and disable SNMP bulk for each interface. Please follow progress in ZBXNEXT-2301.

Comment by Ray [ 2014 Jun 30 ]

I see update to 2.2.4, but this feature is still broken.... Progress in 2301 is not showing anything about solution. So-called auto-detection (1, 2, 3, 4, 6, 9, 13, 19, 28 etc requests) is not working in practice, because it's checking ability to get bulk, but problem devices just reports, that they are no more have such OID's. I think, that's a reason of autodetection failures. All the same behaviour, as described above.

Generated at Tue May 06 07:35:59 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.