Доброго времени суток!
Столкнулся с проблемой сбора данных с установленных в сети коммутаторов.
Имеется коммутатор Extreme X690-48x-2q-4c на EXOS 22.7.3.5.
Имеется Zabbix версии 5.4.4.
Задача: собирать SNMP-данные о полученном и переданном трафике внутри всех имеющихся на коммутаторе VPLS-туннелей.
Я отыскал нужные SNMP OID'ы для сбора нужной мне информации.
.1.3.6.1.2.1.10.2132.1.2.1.2 - этот OID позволяет считать названия VPLS-туннелей.
.1.3.6.1.4.1.1916.1.37.5.1.1.6 - этот OID позволяет считать загруженный трафик через VPLS-туннели.
Все было бы чудесно и просто, если бы не одно НО - SNMPINDEX для этих OID'ов разный!
Например, привожу вывод команды snmpwalk для OID'а считывания названия VPLS-туннелей:
root@debian:~# snmpwalk -c xxxxxxxx -v 2c 172.16.112.1 .1.3.6.1.2.1.10.2132.1.2.1.2
iso.3.6.1.2.1.10.2132.1.2.1.2.1 = STRING: "VPLS-ML-Gus-3512"
iso.3.6.1.2.1.10.2132.1.2.1.2.2 = STRING: "VPLS-ML-Gus-Kln19"
iso.3.6.1.2.1.10.2132.1.2.1.2.3 = STRING: "VPLS-ML-Gus-Polevaya1a"
iso.3.6.1.2.1.10.2132.1.2.1.2.4 = STRING: "VPLS-ML-Gus-Tpl23-2"
iso.3.6.1.2.1.10.2132.1.2.1.2.5 = STRING: "VPLS-ML-Gus-Trans16b"
iso.3.6.1.2.1.10.2132.1.2.1.2.6 = STRING: "VPLS-ML-Gus-Trp12a"
iso.3.6.1.2.1.10.2132.1.2.1.2.7 = STRING: "VPLS-Voice"
Тут мы видим, что SNMPINDEX'ами выступает диапазон цифр от 1 до 7 включительно.
Привожу вывод команды snmpwalk для OID'а считывания загруженного трафика через VPLS-туннели:
root@debian:~# snmpwalk -c xxxxxxxx -v 2c 172.16.112.1 1.3.6.1.4.1.1916.1.37.5.1.1.6
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10001 = Counter64: 6945309452
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10002 = Counter64: 0
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10003 = Counter64: 17492927304
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10004 = Counter64: 122713759149
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10005 = Counter64: 273138150660
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10006 = Counter64: 0
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10007 = Counter64: 31942678772
Тут мы видим, что SNMPINDEX'ами выступает уже другой диапазон цифр от 10001 до 10007 включительно.
Я создал правило обнаружения VPLS-туннелей на коммутаторе следующим образом:

Прототип элементов данных я создал вот так:

В итоге я получаю корректные последние данные в том формате, который мне нужен:

Трюк с .1.3.6.1.4.1.1916.1.37.5.1.1.2.1000{#SNMPINDEX} работает до тех пор, пока количество туннелей на коммутаторе не превышает 9, а если будет десятый, то фактически OID приобретет некорректный вид .1.3.6.1.4.1.1916.1.37.5.1.1.2.100010, хотя в моей задаче нужно получать .1.3.6.1.4.1.1916.1.37.5.1.1.2.10010.
Вопрос: есть ли вменяемое решение задачи по моему вопросу?
Столкнулся с проблемой сбора данных с установленных в сети коммутаторов.
Имеется коммутатор Extreme X690-48x-2q-4c на EXOS 22.7.3.5.
Имеется Zabbix версии 5.4.4.
Задача: собирать SNMP-данные о полученном и переданном трафике внутри всех имеющихся на коммутаторе VPLS-туннелей.
Я отыскал нужные SNMP OID'ы для сбора нужной мне информации.
.1.3.6.1.2.1.10.2132.1.2.1.2 - этот OID позволяет считать названия VPLS-туннелей.
.1.3.6.1.4.1.1916.1.37.5.1.1.6 - этот OID позволяет считать загруженный трафик через VPLS-туннели.
Все было бы чудесно и просто, если бы не одно НО - SNMPINDEX для этих OID'ов разный!
Например, привожу вывод команды snmpwalk для OID'а считывания названия VPLS-туннелей:
root@debian:~# snmpwalk -c xxxxxxxx -v 2c 172.16.112.1 .1.3.6.1.2.1.10.2132.1.2.1.2
iso.3.6.1.2.1.10.2132.1.2.1.2.1 = STRING: "VPLS-ML-Gus-3512"
iso.3.6.1.2.1.10.2132.1.2.1.2.2 = STRING: "VPLS-ML-Gus-Kln19"
iso.3.6.1.2.1.10.2132.1.2.1.2.3 = STRING: "VPLS-ML-Gus-Polevaya1a"
iso.3.6.1.2.1.10.2132.1.2.1.2.4 = STRING: "VPLS-ML-Gus-Tpl23-2"
iso.3.6.1.2.1.10.2132.1.2.1.2.5 = STRING: "VPLS-ML-Gus-Trans16b"
iso.3.6.1.2.1.10.2132.1.2.1.2.6 = STRING: "VPLS-ML-Gus-Trp12a"
iso.3.6.1.2.1.10.2132.1.2.1.2.7 = STRING: "VPLS-Voice"
Тут мы видим, что SNMPINDEX'ами выступает диапазон цифр от 1 до 7 включительно.
Привожу вывод команды snmpwalk для OID'а считывания загруженного трафика через VPLS-туннели:
root@debian:~# snmpwalk -c xxxxxxxx -v 2c 172.16.112.1 1.3.6.1.4.1.1916.1.37.5.1.1.6
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10001 = Counter64: 6945309452
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10002 = Counter64: 0
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10003 = Counter64: 17492927304
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10004 = Counter64: 122713759149
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10005 = Counter64: 273138150660
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10006 = Counter64: 0
iso.3.6.1.4.1.1916.1.37.5.1.1.6.10007 = Counter64: 31942678772
Тут мы видим, что SNMPINDEX'ами выступает уже другой диапазон цифр от 10001 до 10007 включительно.
Я создал правило обнаружения VPLS-туннелей на коммутаторе следующим образом:
Прототип элементов данных я создал вот так:
В итоге я получаю корректные последние данные в том формате, который мне нужен:
Трюк с .1.3.6.1.4.1.1916.1.37.5.1.1.2.1000{#SNMPINDEX} работает до тех пор, пока количество туннелей на коммутаторе не превышает 9, а если будет десятый, то фактически OID приобретет некорректный вид .1.3.6.1.4.1.1916.1.37.5.1.1.2.100010, хотя в моей задаче нужно получать .1.3.6.1.4.1.1916.1.37.5.1.1.2.10010.
Вопрос: есть ли вменяемое решение задачи по моему вопросу?

Comment