Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Попередня ревізія Наступна ревізія По сторонах наступні версії | ||
switchpoller [2021/03/10 13:38] |
switchpoller [2023/06/16 19:01] 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]** є обов' | ||
+ | Також існують необов' | ||
+ | * **FDB_ALLOW_ONLY_PORTS** - вказує, | ||
+ | * **FDB_IGNORE_PORTS** - вказує порти, MAC-адреси, | ||
+ | Слід зазначити, | ||
+ | | ||
+ | Далі кожна із секцій описує унікальний набір параметрів, | ||
+ | Починаючи з релізу 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:// | ||