incorrect processing of "error-status: noSuchName" response using SNMPv2 protocol for devices behaving like SNMPv1
(ZBX-8096)
|
|
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: |
![]() ![]() ![]() |
||||||||
Issue Links: |
|
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 |
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:
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 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 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: |
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 |
Comment by sergio cricca [ 2014 May 13 ] |
about mikrotik monitoring: I've created a Template with SNMP LLD for ALL network interfaces. Working as expected since 2.0.1 (first time I set up this template). red = while running zabbix-server 2.2.3 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 |
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 |
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. |