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