Показать страницуСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Добавление устройства в мониторинг PON ====== <alert type="info">Работает начиная с версии биллинга: 3.13.04</alert> ===== Настройка ===== ==== SNMP шаблоны ==== \\ Для начала нужно создать SNMP шаблон. \\ Сделать это можно в разделе: **Настройки => Система => SNMP Шаблоны** {{:billing:howto:snmp_templates.jpg?500|}} \\ У шаблона есть параметр **система опроса** которая указывает модулю сбора данных что нужно делать с устройством у которого указан данный шаблон. \\ У данного параметра есть два значения: * Биллинг - MikBiLL будет стараться автоматически определить тип устройства и если обнаруженный тип есть в списке поддерживаемых устройств, модуль начнет сбор данных. * Внешний скрипт - модуль сбора данных запустит определенный скрипт и будет ожидать в результате нужные данные \\ После создания шаблона, нужно создать тип устройства где и будет указан созданный шаблон На данный момент в автоматическом режиме биллинг поддерживает устройства: * BDCOM * P3310 * P3600-04 * P3600-08 * P3600-16 * P3608 * P3616 * GP3600-08B * C-DATA * FD1104 * FD1216 * Eltex * LTP8X * SmartFiber * GPON ==== Типы устройств ==== \\ Для этого перейдем в раздел **Настройки => Система => Типы устройств** {{:billing:howto:snmp_devtype.jpg?800|}} \\ В новом типе устройства нужно выбрать * **Тип оборудования** - OLT * **Мониторинг** - ранее созданный snmp шаблон ==== Устройства ==== \\ Теперь можно создать устройство, перейдем в **Настройки => Система => Устройства** {{:billing:howto:snmp_device.jpg?500|}} \\ В новом устройстве нужно * Указать тип устройства * Указать IP адрес (должен быть доступен с сервера биллинга) * Заполнить SNMP comunity * Включить галочку SNMP * В разделе "внешние ссылки" указать SNMP порт если он отличается от 161 \\ Если нужно, можете заполнить логин и пароль и указать telnet порт в разделе "внешние ссылки" ===== Использование ===== \\ Модуль сбора данных запускается консольной командой **mbp_pon_poll**, в случаи если в snmp шаблоне система опроса указана **Внешний скрипт**, то модуль проверит наличие файла: <code>/var/mikbill/custom_scripts/mikbill_pon_collector/olt_info/template_1/devtype_6.sh</code> \\ в данном пути: * **template_1** - префикс **template_** и ID шаблона. * **devtype_6** - префикс **devtype_** и ID тип устройства. <alert type="warning">Данные скрипты нужно создавать вручную</alert> \\ Таким образом под каждый тип устройства можно использовать свой скрипт, либо один скрипт для всех типов устройств а данные забирать с другой системы (MySQL, Zabbix, PMon и т.д.) \\ При запуске на скрипт будут переданы параметры: <code> $1 - ID Устройства $2 - Название устройства $3 - IP адрес $4 - SNMP port $5 - SNMP comunity $6 - SNMP version $7 - telnet port $8 - telnet user $9 - telnet password </code> \\ Пример скрипта: <code> #!/bin/bash cd /var/mikbill/custom_scripts/mikbill_pon_collector/olt_info/template_1 result=$(php devtype_6.php "$@") echo $result </code> \\ Остальные файлы можно глянуть на [[https://github.com/Nekkoy/ponCollector|Github]] - [[https://github.com/Nekkoy/ponCollector/blob/main/devtype_6.php|devtype_6.php]] - [[https://github.com/Nekkoy/ponCollector/blob/main/bdcom_3310.php|bdcom_3310.php]] - [[https://github.com/Nekkoy/ponCollector/blob/main/NetSNMP.php|NetSNMP.php]] <alert type="warning">Файлы **bdcom_3310.php** и **NetSNMP.php** должны размещаться рядом с **devtype_6.php**</alert> ==== Ожидаемый формат ответа ==== <code> { "olt":{ "status":1, "uptime":"5d 23h 9m", "model":"P3310B", "version":"10.1.0B", "interfaces":{ "8":{ "index":8, "iface":"EPON0\/1", "sfp":1, "temperature":37, "signal":4.3, "operState":"up" }, "9":{ "index":9, "iface":"EPON0\/2", "sfp":1, "temperature":48.27, "signal":6.4, "operState":"down" } } }, "onu":{ "12":{ "index":12, "mac":"98:45:62:2f:24:eb", "ifname":"EPON0\/1:1", "distance":512, "online":1, "signal_rx":-21.5 }, "13":{ "index":13, "mac":"84:79:73:64:ee:b4", "ifname":"EPON0\/1:2", "distance":419, "online":1, "signal_rx":-25.4 } } } </code> * **olt.status** - устройство включено/выключено [1/0] * **olt.uptime** - время работы устройства * **olt.model** - модель устройства * **olt.version** - версия прошивки * **olt.interfaces** - список интерфейсов * index - индекс интерфейса * index - индекс интерфейса * iface - название интерфейса * sfp - это sfp интерфейс, да/нет [1/0] * temperature - температура интерфейса * signal - сигнал интерфейса * operState - статус интерфейса * **olt.onu** - список onu/ont терминалов * index - индекс терминала * index - индекс терминала * mac - mac адрес терминала * ifname - интерфейс терминала * distance - дистанция до терминала * online - статус терминала, онлайн/нет [1/0] * signal_rx - сигнал от OLT к терминалу ==== CRON ==== \\ Для автоматического запуска модуля сборщика, нужно добавить в крон запуск команды через скрипт <code> cd /var/mikbill/custom_scripts/ cat <<-EOF! > mbp_pon_poll.sh #!/bin/bash cd /var/www/mikbill/admin php index.php mbp_pon_poll EOF! </code> Дадим скрипту права запуска: <code> chmod +x mbp_pon_poll.sh </code> Далее добавим данный скрипт в крон на запуск каждые 5 минут: <code> echo "*/5 * * * * root /var/mikbill/custom_scripts/mbp_pon_poll.sh" >> /etc/crontab </code> И перезапустим cron <tabs> * [[#tab-debian|Debian]] * [[#tab-radhat|Centos]] <pane id="tab-debian"> <code> service cron restart </code> </pane> <pane id="tab-radhat"> <code> service crond restart </code> </pane> </tabs> billing/howto/mbp_add_to_pon_monitor.txt Последнее изменение: 7 мес. назад — alexd