billing:howto:mbp_add_to_pon_monitor

Добавление устройства в мониторинг PON


Для начала нужно создать SNMP шаблон.
Сделать это можно в разделе: Настройки ⇒ Система ⇒ SNMP Шаблоны


У шаблона есть параметр система опроса которая указывает модулю сбора данных что нужно делать с устройством у которого указан данный шаблон.
У данного параметра есть два значения:

  • Биллинг - MikBiLL будет стараться автоматически определить тип устройства и если обнаруженный тип есть в списке поддерживаемых устройств, модуль начнет сбор данных.
  • Внешний скрипт - модуль сбора данных запустит определенный скрипт и будет ожидать в результате нужные данные


После создания шаблона, нужно создать тип устройства где и будет указан созданный шаблон

На данный момент в автоматическом режиме биллинг поддерживает устройства:

  • BDCOM
    • P3310
    • P3608
    • P3616
    • GP3600-08B


Для этого перейдем в раздел Настройки ⇒ Система ⇒ Типы устройств


В новом типе устройства нужно выбрать

  • Тип оборудования - OLT
  • Мониторинг - ранее созданный snmp шаблон


Теперь можно создать устройство, перейдем в Настройки ⇒ Система ⇒ Устройства


В новом устройстве нужно

  • Указать тип устройства
  • Указать IP адрес (должен быть доступен с сервера биллинга)
  • Заполнить SNMP comunity
  • Включить галочку SNMP
  • В разделе "внешние ссылки" указать SNMP порт если он отличается от 161


Если нужно, можете заполнить логин и пароль и указать telnet порт в разделе "внешние ссылки"


Модуль сбора данных запускается консольной командой mbp_pon_poll, в случаи если в snmp шаблоне система опроса указана Внешний скрипт, то модуль проверит наличие файла:

/var/mikbill/custom_scripts/mikbill_pon_collector/olt_info/template_1/devtype_6.sh


в данном пути:

  • template_1 - префикс template_ и ID шаблона.
  • devtype_6 - префикс devtype_ и ID тип устройства.


Таким образом под каждый тип устройства можно использовать свой скрипт, либо один скрипт для всех типов устройств а данные забирать с другой системы (MySQL, Zabbix, PMon и т.д.)
При запуске на скрипт будут переданы параметры:

$1 - ID Устройства
$2 - Название устройства
$3 - IP адрес
$4 - SNMP port
$5 - SNMP comunity
$6 - SNMP version
$7 - telnet port
$8 - telnet user
$9 - telnet password


Пример скрипта:

#!/bin/bash

cd /var/mikbill/custom_scripts/mikbill_pon_collector/olt_info/template_1
result=$(php devtype_6.php "$@")
echo $result


Остальные файлы можно глянуть на Github

{
   "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
      }
   }
}
  • 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 к терминалу


Для автоматического запуска модуля сборщика, нужно добавить в крон запуск команды через скрипт

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!

Дадим скрипту права запуска:

chmod +x mbp_pon_poll.sh

Далее добавим данный скрипт в крон на запуск каждые 5 минут:

echo "*/5 * * * * root /var/mikbill/custom_scripts/mbp_pon_poll.sh" >> /etc/crontab 

И перезапустим cron

service cron restart
service crond restart
  • billing/howto/mbp_add_to_pon_monitor.txt
  • Последнее изменение: 10 мес. назад
  • alexd