Содержание

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

Настройка

SNMP шаблоны


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


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


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

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

Типы устройств


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


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

Устройства


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


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


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

Использование


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

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


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


Таким образом под каждый тип устройства можно использовать свой скрипт, либо один скрипт для всех типов устройств а данные забирать с другой системы (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
      }
   }
}

CRON


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

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