Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія | Попередня ревізія | ||
|
switchpoller [2019/08/12 17:10] |
switchpoller [2025/03/01 15:18] (поточний) nightfly [Підтримуване з коробки обладнання] |
||
|---|---|---|---|
| Рядок 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 | ||
| + | * Juniper MX | ||
| + | |||
| + | |||
| + | І багато-багато інших, про які ми вже задовбалися писати. Давайте ви самі подивитеся що буде працювати з коробки заглянувши в директорію **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 | ||
| + | </ | ||
| + | Якщо ви використовуєте дві технології ПОН у себе в мережі і вам потрібно перекрити глобальний обов' | ||
| + | ====== Генератор шаблонів ====== | ||
| + | Також камрад [[http:// | ||