Столкнулся с проблемой при опросе одной проприетарной софтины по snmp.
Снимал дамп на стороне опрашиваемого сервера, вот запрос от заббикса(обозначен за 192.168.1.1) к серверу (172.16.8.8):
Вот ответа сервера заббиксу:
У меня сразу возникает вопрос, это нормальное поведение для протокола snmp то, что сам запрос дублируется?
Но проблема кроется в другом, софтина эта, со слов разработчика, не может обрабатывать snmp-запросы в которых перечислено несколько OID'ов, т.е. запрос вида
{ SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.8.1 .1.3.6.1.4.1.18027.11.3.1.9.1 } не проходит, ответ получаю всегда только по одному из OID'ов (в дампе видно). Если заббикс отсылает два отдельных запроса по каждому OID'у
{ SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.9.1 } и
{ SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.9.1 } от ответы приходят корректно. Насколько я понимаю совмещение этих запросов происходит в момент, когда время отправки этих запросов совпадает (даже при разных таймерах опроса). В связи с чем вопрос, можно ли как-то настроить заббикс, чтобы он не слал в одном snmp-запросе несколько OID'ов?
Снимал дамп на стороне опрашиваемого сервера, вот запрос от заббикса(обозначен за 192.168.1.1) к серверу (172.16.8.8):
Code:
192.168.1.1.48169 > 172.16.8.8.161: { SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.8.1 .1.3.6.1.4.1.18027.11.3.1.9.1 } }
10:59:02.221676 IP (tos 0x0, ttl 60, id 15517, offset 0, flags [DF], proto UDP (17), length 96)
192.168.1.1.48169 > 172.16.8.8.161: { SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.8.1 .1.3.6.1.4.1.18027.11.3.1.9.1 } }
10:59:02.278897 IP (tos 0x0, ttl 64, id 20324, offset 0, flags [DF], proto UDP (17), length 98)
Code:
172.16.8.8.161 > 192.168.1.1.48169: { SNMPv2c C=public { GetResponse(54) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.8.1=654 .1.3.6.1.4.1.18027.11.3.1.9.1=[noSuchInstance] } }
10:59:02.278901 IP (tos 0x0, ttl 64, id 20324, offset 0, flags [DF], proto UDP (17), length 98)
172.16.8.8.161 > 192.168.1.1.48169: { SNMPv2c C=public { GetResponse(54) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.8.1=654 .1.3.6.1.4.1.18027.11.3.1.9.1=[noSuchInstance] } }
10:59:04.716786 IP (tos 0x0, ttl 60, id 25290, offset 0, flags [DF], proto UDP (17), length 74)
Но проблема кроется в другом, софтина эта, со слов разработчика, не может обрабатывать snmp-запросы в которых перечислено несколько OID'ов, т.е. запрос вида
{ SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.8.1 .1.3.6.1.4.1.18027.11.3.1.9.1 } не проходит, ответ получаю всегда только по одному из OID'ов (в дампе видно). Если заббикс отсылает два отдельных запроса по каждому OID'у
{ SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.9.1 } и
{ SNMPv2c C=public { GetRequest(52) R=1392833127 .1.3.6.1.4.1.18027.11.3.1.9.1 } от ответы приходят корректно. Насколько я понимаю совмещение этих запросов происходит в момент, когда время отправки этих запросов совпадает (даже при разных таймерах опроса). В связи с чем вопрос, можно ли как-то настроить заббикс, чтобы он не слал в одном snmp-запросе несколько OID'ов?
Comment