Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3

Сборщик PON информации.

  • Собирает информацию о PON устройствах.

  • Рисует графики сигнала.

  • Работает через cron.

Code Block
languagebash
/usr/abills/libexec/billd equipment_pon [ [NAS_IDS='1;2;5;7'] [STEP=600] [RELOAD=1] [SKIP_RRD=1] [multi=1 [THREADS=30]] [TIMEOUT=60] [QUERY_OIDS="ONU_DESC;ONU_IN_BYTE;ONU_OUT_BYTE"] [TRANSACTION=1] ] |
[CPE_CHECK=1] |
[ [CPE_FILL=1]|[FORCE_FILL=1]|[FILL_CPE_FROM_NAS_AND_PORT=1] [NAS_IDS='1;2;5;7'] ] |
[SERIAL_SCAN=1] |
[SNMP_SERIAL_SCAN_ALL=1]
[DEBUG=1] 

По умолчанию выполняется сбор информации про PON устройства. Если указан какой-то из параметров: CPE_CHECK=1, CPE_FILL=1, FORCE_FILL=1, FILL_CPE_FROM_NAS_AND_PORT=1, SERIAL_SCAN=1, SNMP_SERIAL_SCAN_ALL=1, вместо этого выполняется соответствующее действие.

Дополнительные параметры:

RELOAD=1Перезагрузить данные для OLT. Вытираются старые записи и сбор статистики начинается с начала. Когда не заданы NAS_IDS, удаляются все ONU, в том числе не привязанные ни к какому порту на OLT'е, или привязанные к удалённым OLT'ам
DEBUG=1Режим отладки
NAS_IDS=Список NAS-ов. По умолчанию он работает со всеми активными OLT
NAS_IDS='1;2;5;7'
SKIP_RRD=1Не рисовать графики RRD
STEP=600

Если запуск плагина производится раз в 10 мин (Default 300).

Если неправильно указать период запуска (например, указать 10 минут, а запускать раз в час), графики на странице ONU могут не работать.

CPE_CHECK=1Автоматическая проверка значений порт и сервер доступа, для пользователей у которых прописан CPE_MAC существующей ОНУ. Только выводит расхождения на консоль, ничего не изменяет в БД.
CPE_FILL=1

Автоматическое заполнение значений порт и сервер доступа, для пользователей у которых прописан CPE_MAC существующей ОНУ.  (Только если у пользователя эти поля не заполнены). Игнорирует ОНУ, которые не привязаны к серверу доступа.

FORCE_FILL=1Автоматически перезаписывает значение порта и сервера доступа у пользователей.
FILL_CPE_FROM_NAS_AND_PORT=1Заполняет CPE_MAC у пользователей по заполненным серверу доступа и порту (только если у пользователя CPE_MAC не заполнен). Полезно, когда сервер доступа и порт заполнялись вручную, а нужно заполнить CPE_MAC и перейти на автозаполнение с помощью CPE_FILL=1 и FORCE_FILL=1.
TIMEOUT=60Timeout опроса по SNMP в секундах. Нужно изменять, когда OLT долго отвечает по SNMP и не укладывается в стандартный timeout. По умолчанию 5.
multi=1Запускать в многопоточном режиме, каждый NAS в отдельном потоке. Значительно уменьшает время выполнения, если NAS-ов много.
THREADS=30Максимальное количество потоков для многопоточного режима (multi=1). По умолчанию 10.
QUERY_OIDS= "ONU_DESC;ONU_IN_BYTE;ONU_OUT_BYTE"

Опрашивать только указанные OID'ы. Помогает ускорить опрос OLT'а, если он на какие-то OID'ы отвечает очень долго (например, OLT_RX_POWER и ONU_RX_POWER на Huawei) - их можно не опрашивать.

OID'ы разделяются знаком ";". Обязательные OID'ы (ONU_MAC_SERIAL, ONU_STATUS) будут опрашиваться всегда, независимо от значения этого параметра. Если указано значение "only_required", будут опрашиваться только обязательные OID'ы. Параметр работает только для BDCOM, Huawei, ZTE.

Список возможных OID'ов: ONU_MAC_SERIAL, ONU_STATUS, ONU_TX_POWER, ONU_RX_POWER, OLT_RX_POWER, ONU_DESC, ONU_IN_BYTE, ONU_OUT_BYTE, TEMPERATURE, SRV_PROFILE, LINE_PROFILE, VLAN.

TRANSACTION=1Вносить все данные одной транзакцией (ускоряет работу)

При добавлении новых ONU на E-mail администратора приходит сообщение.

Если не работают графики на странице ONU, возможно, Pon Grabber выполняется слишком долго, и не укладывается в интервал. Тогда нужно увеличить интервал, так, чтобы Pon Grabber успевал выполниться и/или запускать его в многопоточном режиме опцией multi=1. Из-за особенностей работы RRDTool, возможно, нужно будет подождать несколько интервалов, прежде чем графики начнут рисоваться.

При добавлении новой платы на OLT она не начинает опрашиваться автоматически. Нужно вручную запустить PON Grabber с параметром RELOAD=1, чтобы появились ветки с новой платы.

Anchor
две_ONU_с_одинаковым_MAC_адресом
две_ONU_с_одинаковым_MAC_адресом

Параметры CPE_FILL, FORCE_FILL, CPE_CHECK: обработка ситуации, когда в БД две или более ONU с одинаковым MAC-адресом

Если среди ONU с одинаковым MAC-адресом есть ровно одна онлайн ONU, она будет назначена абоненту. Иначе никаких изменений произведено не будет.

Пример, когда может возникнуть такая ситуация: перенесли ONU/ветку на другой OLT. Может случиться, что на старом OLT ONU останется со статусом оффлайн, а на новом OLT та же ONU появиться со статусом онлайн. Получается, что в БД как бы две ONU с одинаковым MAC-адресом.

Параметр SERIAL_SCAN

Поиск дублирующихся серийников на разных OLT, и оповещение администратора о проблеме.

Пример:

Code Block
languagebash
/usr/abills/libexec/billd equipment_pon SERIAL_SCAN=1

Пример оповещения:

Параметр SNMP_SERIAL_SCAN_ALL

Поиск дублирующихся серийников на всех OLT, и оповещение администратора о проблеме.

Пример:

Code Block
languagebash
/usr/abills/libexec/billd equipment_pon SNMP_SERIAL_SCAN_ALL=1

Тестовая проверка работы

Code Block
languagebash
/usr/abills/libexec/billd equipment_pon DEBUG=1
Debug mode 1
NAS_TYPE : ELTEX, MODEL_NAME: OLT LTE-8X, NAS_IP: 192.168.12.4, NAS_ID: 17, ONU: 3 GT: 0.02133

Граббер отработал и занес в базу 3 ONU (ONU: 3)

Если pon grabber работает корректно, то в разделе информации об ONU появляются данные:

Пример для crontab

Запуск утилиты каждые 5 минут:

Code Block
languagebash
*/5    *       *       *       *       root    /usr/abills/libexec/billd equipment_pon

Если запускать нужно каждые 10 минут:

Code Block
languagebash
*/10    *       *       *       *       root    /usr/abills/libexec/billd equipment_pon STEP=600


При большом количестве onu  и не очень быстрой дисковой системе можно уменьшать приоритет выполнения граббера:

Code Block
# nice -n 19 ionice -c2 -n7 /usr/abills/libexec/billd equipment_pon STEP=86400 >/dev/null 2>&1