Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Попередня ревізія Наступна ревізія По сторонах наступні версії | ||
switchpoller [2021/03/12 13:45] |
switchpoller [2023/06/16 18:43] skybetik |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== Опитування свічів за допомогою SNMP ====== | ||
+ | В Ubilling починаючи з релізу 0.4.1 з' | ||
+ | |||
+ | ====== Підтримуване з коробки обладнання ====== | ||
+ | * ZyXEL GS-4012F | ||
+ | * ZyXEL GS-3012F | ||
+ | * ZyXEL ES-2108 | ||
+ | * ZyXEL ES-2108G | ||
+ | * Zyxel GS-2200-24 | ||
+ | * Cisco Catalyst 3500 | ||
+ | * Cisco Catalyst WS-C3548-XL-EN | ||
+ | * Cisco-2940-8TT-S | ||
+ | * Cisco Catalyst 3750G-24TS-S | ||
+ | * Cisco Catalyst 3750-24TS-S | ||
+ | * Cisco Catalyst 3560-24TS-S | ||
+ | * Cisco SF300-24 | ||
+ | * Cisco Catalyst 2960-24TC-L | ||
+ | * Cisco Catalyst C2960-48TC-L | ||
+ | * Foxgate S6248-S4 | ||
+ | * Foxgate S6224-S4 | ||
+ | * Foxgate S6208-S1 | ||
+ | * Foxgate S6424-S2C2 | ||
+ | * Foxgate-S6224-S2 | ||
+ | * Foxgate-S-6008-S1L2 | ||
+ | * D-Link DES-3200-10 | ||
+ | * D-Link DES-3200-18 | ||
+ | * D-Link DES-3200-26 | ||
+ | * D-Link DES-3200-28 | ||
+ | * D-Link DES-3526 | ||
+ | * D-Link DES-1228/ME | ||
+ | * D-Link DGS-1100-6/ | ||
+ | * D-Link DGS-3120-24sc | ||
+ | * D-Link DES-3200-28F | ||
+ | * D-Link DGS-1510-52 | ||
+ | * D-Link DGS-1210-20 | ||
+ | * D-Link DES-2108 | ||
+ | * D-Link DES-3010G | ||
+ | * D-Link DES-3026 | ||
+ | * D-Link DES-3226S | ||
+ | * D-Link DGS-3100-24TG | ||
+ | * D-Link DGS-1500-20 | ||
+ | * D-Link DGS-3000-10TC | ||
+ | * D-Link DGS-3024 | ||
+ | * D-Link DGS-3200-10 | ||
+ | * D-Link DES-3028 | ||
+ | * D-Link DES-1210-26 | ||
+ | * D-Link DES-1210-28 | ||
+ | * D-Link DGS-1210-10 | ||
+ | * D-Link DGS-1210-12TS | ||
+ | * D-Link DGS-3000-28SC | ||
+ | * D-Link DGS-3627G | ||
+ | * HP ProCurve Switch 2626 | ||
+ | * HP ProCurve Switch 2650 | ||
+ | * HP ProCurve Switch 2524 | ||
+ | * HP ProCurve Switch 2824 | ||
+ | * Dell PowerConnect | ||
+ | * Dell EMC Networking N1148T-ON | ||
+ | * Alcatel LS-5224 | ||
+ | * Huawei S2326TP | ||
+ | * Extreme Networks Summit 200-24 | ||
+ | * ZIZITRA | ||
+ | * TP-LINK TL-SG5412F | ||
+ | * TP-LINK TL-SL5428E v2 | ||
+ | * Edge-Core ECS3510-28T | ||
+ | * Huawei s232tp_c05 | ||
+ | * Eltex MES1124MB | ||
+ | * Eltex MES2124MB | ||
+ | * Eltex MES2124F | ||
+ | * Eltex MES3108F | ||
+ | * 3COM-3250 | ||
+ | * Mikrotik-CSS326-24G-2S | ||
+ | |||
+ | |||
+ | І багато-багато інших, про які ми вже задовбалися писати. Давайте ви самі подивитеся що буде працювати з коробки заглянувши в директорію **config/ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Налаштування ====== | ||
+ | |||
+ | У загальному випадку налаштування зводитися до додавання моделі свіча з правильним шаблоном SNMP | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Після чого слід додати пристрій із потрібною моделькою і зазначеним SNMP ком' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Якщо все додано правильно - у свіча в колонці дії має з' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Набір параметрів, | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | |||
+ | Враховуючи, | ||
+ | |||
+ | |||
+ | ====== Формат шаблона для опроса устройства ====== | ||
+ | Шаблоны всех устройств лежат в **/ | ||
+ | |||
+ | <file ini megaswitch9000> | ||
+ | [define] | ||
+ | DEVICE=" | ||
+ | FDB=true | ||
+ | FDB_MODE=default | ||
+ | |||
+ | [PORTSTATE] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportstates | ||
+ | |||
+ | [UPTIME] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_raw | ||
+ | </ | ||
+ | |||
+ | или такой для OLT: | ||
+ | |||
+ | <file ini BDCOM_GP3608> | ||
+ | [define] | ||
+ | DEVICE=" | ||
+ | PON_ONU_PORT_MAX=128 | ||
+ | |||
+ | [signal] | ||
+ | SIGNALMODE=" | ||
+ | SIGINDEX=" | ||
+ | MACINDEX=" | ||
+ | SIGVALUE=" | ||
+ | MACVALUE=" | ||
+ | OFFSET=" | ||
+ | OFFSETMODE=" | ||
+ | DOWNVALUE=" | ||
+ | |||
+ | [misc] | ||
+ | ONUINDEX=" | ||
+ | ONUVALUE=" | ||
+ | FDBINDEX=" | ||
+ | FDBVALUE=" | ||
+ | FDBDEVINDEX=" | ||
+ | FDBDEVVALUE=" | ||
+ | DISTINDEX=" | ||
+ | DISTVALUE=" | ||
+ | INTERFACEINDEX=" | ||
+ | INTERFACEVALUE=" | ||
+ | RTTINDEX=" | ||
+ | |||
+ | [system] | ||
+ | CPULOAD=" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Как видим файл состоит из секций.\\ | ||
+ | Секция **[define]** является обязательной. В ней описываются такие характеристики устройства как **DEVICE** (полное наименование модели) и булевый параметр FDB - означающий, | ||
+ | Также существуют необязательные параметры: | ||
+ | * **FDB_ALLOW_ONLY_PORTS** - указывает, | ||
+ | * **FDB_IGNORE_PORTS** - указывает порты, MAC адреса находящиеся за которыми будут исключены при парсинге FDB. | ||
+ | Следует отметить, | ||
+ | | ||
+ | Далее каждая из секций описывает уникальный набор параметров, | ||
+ | Начиная с релиза Ubilling 0.8.5 также можно хранить ваши шаблоны в **content/ | ||
+ | \\ | ||
+ | |||
+ | На данный момент доступны следующие парсеры полученных из OID данных: | ||
+ | |||
+ | * **sp_parse_raw** - данные показываются как есть без особой обработки | ||
+ | * **sp_parse_raw_sanitized** - данные будут показаны как есть, просто с выкушенным типом. | ||
+ | * **sp_parse_zyportbytes** - счетчики байт/ | ||
+ | * **sp_parse_zyportdesc** - строковые описания портов | ||
+ | * **sp_parse_zyportstates** - состояние портов | ||
+ | * **sp_parse_ciscocpu** - нагрузка на CPU в % | ||
+ | * **sp_parse_ciscomemory** - количество занятой памяти в Мб | ||
+ | * **sp_parse_eltex_acpower** - напряжение AC питания свитчей Eltex | ||
+ | * **sp_parse_eltex_dcpower** - напряжение DC питания свитчей Eltex | ||
+ | * **sp_parse_eltex_battery** - уровень заряда АКБ свитчей Eltex | ||
+ | * **sp_parse_fxportstates** - состояние портов для некоторых Foxgate 60xx | ||
+ | * **sp_parse_fxportbytes** - счетчики байт/ | ||
+ | * **sp_parse_cable_tester** - парсер кабельного тестера для свитчей Dlink | ||
+ | * **sp_parse_time_seconds** - парсер времени из секунд в человеко-читабельный вид | ||
+ | * **sp_parse_power** - парсер наличия электроэнергии (1/0). | ||
+ | * **sp_parse_eping_temp** - парсер температуры с Equicom ping3 (да, она тупо делиться на 10) | ||
+ | * **sp_parse_eping_temp_gauge** - нормальный такой градусник для Equicom ping3 | ||
+ | * **sp_parse_division_temperature** - универсальный градусник с делением значений на DIV и форматом шкалы в виде UNITS=" | ||
+ | |||
+ | Также доступны следующие режимы FDB: | ||
+ | * default | ||
+ | * dlp | ||
+ | * tlp5428ev2 | ||
+ | * tlp2428 | ||
+ | * tlp2210 | ||
+ | * flp | ||
+ | * ciscoebobo | ||
+ | |||
+ | ====== Формат " | ||
+ | Полностью базируется на базовом формате шаблонов, | ||
+ | |||
+ | __Итак, новые параметры секции **[define]**__: | ||
+ | |||
+ | * **POLLMODE** должен быть всегда **cumulative**, | ||
+ | * **FDB_MODE** должен быть всегда **sw_cumulative**, | ||
+ | * **SFPSTARTPORT**, | ||
+ | * **POESTARTPORT**, | ||
+ | * // | ||
+ | |||
+ | __Далее немного об " | ||
+ | |||
+ | **PORTIFACE** - в этой секции указываются OID'ы для получения индексов портов, | ||
+ | <code ini> | ||
+ | [PORTIFACE] | ||
+ | PORTINDEX=" | ||
+ | PORTDESCR=" | ||
+ | PORTALIAS=" | ||
+ | </ | ||
+ | |||
+ | **PORTDESC** - как и следует из комментария к этой секции, | ||
+ | <code ini> | ||
+ | [PORTDESC] | ||
+ | ; just a placeholder | ||
+ | NAME=" | ||
+ | </ | ||
+ | |||
+ | **PORT.1D_FDB**, | ||
+ | <code ini> | ||
+ | [PORT.1D_FDB] | ||
+ | PORTTABLE=" | ||
+ | PORTSTATUS=" | ||
+ | |||
+ | [PORT.1Q_FDB] | ||
+ | PORTTABLE=" | ||
+ | PORTSTATUS=" | ||
+ | </ | ||
+ | |||
+ | А ещё мы теперь можем указывать в секциях единицы измерения и величину, | ||
+ | <code ini> | ||
+ | [SFPTXPOWER] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | DIV=1000 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [CPU TEMP] | ||
+ | NAME=" | ||
+ | SECTPOLLMODE=" | ||
+ | OIDS=" | ||
+ | DIV=10 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units_noport | ||
+ | </ | ||
+ | |||
+ | __Новые парсеры__: | ||
+ | * **sp_parse_raw_trim_tab** - то же, что и sp_parse_raw, | ||
+ | * **sp_parse_division_units** - обрабатывает параметры **DIV** и **UNITS**, если таковые есть в секции и производит соответствующие операции деления и " | ||
+ | * **sp_parse_division_units_noport** - то же, что и sp_parse_division_units, | ||
+ | * **sp_parse_mikrotik_poe** - как несложно догадаться из названия - предназначен для шаблонов устройств Mikrotik с поддержкой питания других устройств по PoE. | ||
+ | * **sp_parse_sw_port_idx** - собственно - сердце кумулятивного опроса, | ||
+ | * **sp_parse_sw_port_descr** - как и предыдущий парсер - предназначен больше для " | ||
+ | |||
+ | |||
+ | Так как же в итоге будет выглядеть кумулятивный шаблон для устройства? | ||
+ | <code ini> | ||
+ | [define] | ||
+ | DEVICE=Mikrotik-CSS106_RB260GSP_SW_SFP | ||
+ | POLLMODE=cumulative | ||
+ | SFPSTARTPORT=5 | ||
+ | SFPENDPORT=5 | ||
+ | POESTARTPORT=2 | ||
+ | POEENDPORT=5 | ||
+ | FDB=true | ||
+ | FDB_MODE=sw_cumulative | ||
+ | FDB_ALLOW_ONLY_PORTS= | ||
+ | FDB_IGNORE_PORTS= | ||
+ | |||
+ | [PORTIFACE] | ||
+ | PORTINDEX=" | ||
+ | PORTDESCR=" | ||
+ | PORTALIAS=" | ||
+ | |||
+ | [PORT.1D_FDB] | ||
+ | PORTTABLE=" | ||
+ | PORTSTATUS=" | ||
+ | |||
+ | [PORT.1Q_FDB] | ||
+ | PORTTABLE=" | ||
+ | PORTSTATUS=" | ||
+ | |||
+ | [PORTSTATE] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportstates | ||
+ | |||
+ | [PORTDESC] | ||
+ | ; just a placeholder | ||
+ | NAME=" | ||
+ | |||
+ | [PORTTX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTRX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTERRTX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTERRRX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTMULTTX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTMULTRX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTBRODTX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [PORTBRODRX] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_zyportbytes | ||
+ | |||
+ | [SFPWAVELENGTH] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | DIV=100 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [SFPTEMP] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [SFPVOLTAGE] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | DIV=1000 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [SFPCURRENT] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [POESTATUS] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_mikrotik_poe | ||
+ | |||
+ | [POECURRENT] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [POEPOWER] | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | DIV=10 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units | ||
+ | |||
+ | [UPTIME] | ||
+ | NAME=" | ||
+ | SECTPOLLMODE=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_raw_trim_tab | ||
+ | |||
+ | [SYSTEM VOLTAGE] | ||
+ | NAME=" | ||
+ | SECTPOLLMODE=" | ||
+ | OIDS=" | ||
+ | DIV=10 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units_noport | ||
+ | |||
+ | [SYSTEM TEMP] | ||
+ | NAME=" | ||
+ | SECTPOLLMODE=" | ||
+ | OIDS=" | ||
+ | DIV=10 | ||
+ | UNITS=" | ||
+ | PARSER=sp_parse_division_units_noport | ||
+ | |||
+ | [SYSTEM VERSION] | ||
+ | NAME=" | ||
+ | SECTPOLLMODE=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_raw_trim_tab | ||
+ | </ | ||
+ | ====== А если требуется делать еще и snmpset? ====== | ||
+ | |||
+ | Начиная с релиза 0.8.4 появилась возможность в процессе опроса, | ||
+ | |||
+ | <code ini> | ||
+ | SETOIDS=" | ||
+ | </ | ||
+ | |||
+ | Где oid является собственно oid-ом, value является значением которое будет установлено, | ||
+ | |||
+ | * i INTEGER | ||
+ | * u INTEGER UNSIGNED | ||
+ | * s STRING | ||
+ | * x HEX STRING | ||
+ | * d DECIMAL STRING | ||
+ | * n NULLOBJ | ||
+ | * o OBJID | ||
+ | * t TIMETICKS | ||
+ | * a IPADDRESS | ||
+ | * b BITS | ||
+ | |||
+ | Следует также заметить, | ||
+ | <code ini> | ||
+ | [portnames] | ||
+ | SETOIDS=" | ||
+ | </ | ||
+ | Хотя да, никто не запрещает быть ей при этом обычной интерактивной секцией и показывать в процессе своей работы какие-то результаты. Например как-то так: | ||
+ | |||
+ | <code ini> | ||
+ | [portnames] | ||
+ | SETOIDS=" | ||
+ | NAME=" | ||
+ | OIDS=" | ||
+ | PARSER=sp_parse_raw | ||
+ | </ | ||
+ | В таком случае, | ||
+ | |||
+ | <code ini> | ||
+ | [define] | ||
+ | PON_ONU_PORT_MAX=128 | ||
+ | </ | ||
+ | Если вы используете две технологии ПОН у себя в сети и вам нужно перекрыть глобальный обязательный параметр [[alteriniconf|alter.ini]] PON_ONU_PORT_MAX - то добавьте этот параметр в SNMP шаблоны для OLT и у вас будет нормально отображаться статистика и другие параметры. | ||
+ | ====== Генератор шаблонов ====== | ||
+ | Также камрадом [[http:// | ||