# Дополнительные модули usm ## usm_abills Модуль для организации импорта данных из биллинговой системы ABillS в ERP. ### Установка Для работы модуля достаточно установить PHP-расширение mysqli (входит в метапакет mysql). Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y php8.3-mysql unzip sudo mkdir -p /opt/usm /var/log/usm_abills && cd /opt/usm sudo mv ~/usm_abills-*.zip . sudo unzip usm_abills-*.zip && rm usm_abills-*.zip sudo mv usm_abills-* usm_abills && cd usm_abills sudo cp usm_abills.conf.php-example usm_abills.conf.php ``` ### Настройка Отредактируйте файл usm_abills.conf.php. Смысл всех параметров прописан в комментариях конфигурационного файла. Запустите модуль вручную, чтобы убедиться в его корректной настройке: ```shell sudo php8.3 usm_abills.php ``` Нормальная работа модуля выглядит следующим образом: ```text $ sudo php8.3 usm_abills.php usm_abills ==================================== Start module at 2025-05-20 14:19:25 Finish module at 2025-05-20 14:19:39 ==================================== $ _ ``` Если вместо этого вы видите ошибки, которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной `$isSilence = 1;` в файле usm_abills.conf.php и добавьте в системный планировщик запуск модуля: ```text */10 * * * * root php8.3 usm_abills.php ``` ## usm_asterisk Модуль, взаимодействующий с Asterisk и обрабатывающий информацию о поступающих телефонных вызовах абонентов на службу техподдержки оператора связи. ### Установка Модуль требует установки perl-пакетов. Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y unzip sudo cpan \ Asterisk::AMI \ EV HTTP::Request \ Data::Dumper \ FindBin \ LWP::Protocol::https \ LWP::UserAgent \ Time::Local \ URI \ URI::Escape \ JSON sudo mkdir -p /opt/usm /var/log/usm_asterisk && cd /opt/usm sudo mv ~/usm_asterisk-*.zip . sudo unzip usm_asterisk-*.zip && rm usm_asterisk-*.zip sudo mv usm_asterisk-* usm_asterisk && cd usm_asterisk sudo cp usm_asterisk.conf.example usm_asterisk.conf ``` ### Настройка #### Asterisk Создайте учетную запись менеджера в Asterisk. Для этого в файл /etc/asterisk/manager.conf добавьте конфигурацию: ```text [cubalink] secret = ПАРОЛЬ deny = 0.0.0.0/0.0.0.0 permit = IP-СЕРВЕРА-С-МОДУЛЕМ/255.255.255.255 read = all,system,call,log,verbose,command,agent,user,config write = all,system,call,log,verbose,command,agent,user,config ``` + Замените `ПАРОЛЬ` на настоящий пароль учетной записи (придумайте). + Замените `IP-СЕРВЕРА-С-МОДУЛЕМ` на IP-адрес хоста, на котором работает модуль usm_asterisk. Можно указать подсеть при необходимости. + Также вместо `cubalink` можно использовать любое другое имя пользователя. Чтобы изменения вступили в силу, нужно подать команду `reload` в asterisk: ```shell $ asterisk -r > reload > exit ``` #### Модуль Отредактируйте файл usm_asterisk.conf. Укажите параметры только что созданного менеджера Asterisk, параметры подключния API в ERP, укажите версию AMI (вероятно вы используете AMI v2, поэтому `our $zastertype = 3;`). Перечислите все контексты, из которых нужно обрабатывать вызовы в параметре `our @zasterfromcontexts = ("from-trunk");`. Путь к логам установите в `/var/log/usm_asterisk`. Установите временно значение `our $ps_consolelog = 1;` — это пригодится для тестового запуска. Запустите модуль вручную: ```shell sudo perl usm_asterisk.pl ``` Модуль должен запуститься без ошибок. Если есть какие-либо ошибки, которые вы не можете исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. После того как ручной запуск модуля пройдет успешно, остановите его `Ctrl+C`, измените в конфигурации usm_asterisk.conf значение `our $ps_consolelog = 0;`. ### Постоянный запуск Так как этот модуль рассчитан на постоянную работу, а не на периодический запуск, создайте конфигурацию в supervisor, который будет автоматически запускать модуль и контролироват его работу. Создайте файл /etc/supervisor/conf.d/usm_asterisk.conf следующего содержания: ```text [program:usm_asterisk] command=/usr/bin/perl /opt/usm/usm_asterisk/usm_asterisk.pl pidfile=/opt/usm/usm_asterisk/usm_asterisk.pid autostart=true autorestart=true user=root redirect_stderr=true stdout_logfile=/var/log/usm_asterisk/supervisor.log ``` Перезапустите службу supervisor: ```shell sudo systemctl restart supervisor ``` Через 20..60 секунд после выполнения перезапуска проверьте, что службы запустились и работают (состояние RUNNING): ```shell sudo supervisorctl status ``` ## usm_bgbilling Модуль для организации импорта данных из биллинговой системы BGBilling в ERP. ### Установка Для работы модуля достаточно установить PHP-расширение mysqli (входит в метапакет mysql). Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y php8.3-mysql unzip sudo mkdir -p /opt/usm /var/log/usm_bgbilling && cd /opt/usm sudo mv ~/usm_bgbilling-*.zip . sudo unzip usm_bgbilling-*.zip && rm usm_bgbilling-*.zip sudo mv usm_bgbilling-* usm_bgbilling && cd usm_bgbilling sudo cp usm_bgbilling.conf.php-example usm_bgbilling.conf.php ``` ### Настройка Отредактируйте файл usm_bgbilling.conf.php. Смысл всех параметров прописан в комментариях конфигурационного файла. Запустите модуль вручную, чтобы убедиться в его корректной настройке: ```shell sudo php8.3 usm_bgbilling.php ``` Нормальная работа модуля выглядит следующим образом: ```text $ sudo php8.3 usm_bgbilling.php usm_bgbilling ==================================== Start module at 2025-05-20 14:19:25 Finish module at 2025-05-20 14:19:39 ==================================== $ _ ``` Если вместо этого вы видите ошибки, которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной `$isSilence = 1;` в файле usm_bgbilling.conf.php и добавьте в системный планировщик запуск модуля: ```text */10 * * * * root php8.3 usm_bgbilling.php ``` ## usm_billing Модуль для организации импорта данных из биллинговых систем в ERP с использованием универсального API. ### Установка Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y unzip sudo mkdir -p /opt/usm /var/log/usm_billing && cd /opt/usm sudo mv ~/usm_billing-*.zip . sudo unzip usm_billing-*.zip && rm usm_billing-*.zip sudo mv usm_billing-* usm_billing && cd usm_billing sudo cp usm_billing.conf.php-example usm_billing.conf.php ``` ### Настройка Отредактируйте файл usm_billing.conf.php. Смысл всех параметров прописан в комментариях конфигурационного файла. Запустите модуль вручную, чтобы убедиться в его корректной настройке: ```shell sudo php8.3 usm_billing.php ``` Нормальная работа модуля выглядит следующим образом: ```text $ sudo php8.3 usm_billing.php usm_billing ==================================== Start module at 2025-05-20 14:19:25 Finish module at 2025-05-20 14:19:39 ==================================== $ _ ``` Если вместо этого вы видите ошибки, которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной `$isSilence = 1;` в файле usm_billing.conf.php и добавьте в системный планировщик запуск модуля: ```text */10 * * * * root php8.3 usm_billing.php ``` ## usm_checker Модуль предназначен для автоматического определения доступности узлов сети (в т.ч. доступности абонентских устройств). ### Установка Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. Так как модуль использует язык Python, рекомендуется запускать его в виртуальном окружении (venv). Для работы модуля подходит [любая поддерживаемая на данный момент версия](https://devguide.python.org/versions/) Python. ```shell sudo apt install -y unzip libsnmp-dev sudo mkdir -p /opt/usm /var/log/usm_checker && cd /opt/usm sudo mv ~/usm_checker-*.zip . sudo unzip usm_checker-*.zip && rm usm_checker-*.zip cd usm_checker sudo cp settings.yml-example settings.yml sudo python3 -m venv venv sudo venv/bin/pip install --upgrade pip sudo venv/bin/pip install -r requirements.txt ``` ### Настройка Отредактируйте файл settings.yml. Конфигурация "проверок" (checks) может содержать любое количество проверок различных методов. Существует возможность сгруппировать разные проверки в группы (например, equipment или customers) путем указания одинаковых наименований групп в нескольких проверках. Имя группы можно использовать в качестве аргумента при запуске модуля. Каждый параметр настройки документирован, так что с конфигурацией проверок не должно возникнуть проблем. Запустите модуль вручную, чтобы убедиться в его корректной настройке: ```shell venv/bin/python usm_checker.py ``` В консоль будут выводиться различные сообщения о работе модуля. Убедитесь, что среди них нет ошибок. Если ошибки все же есть и вы не можете исправить их самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск Измените в конфигурационном файле settings.yml параметры: `log: level: 2` и `log: to_console: no` и добавьте в системный планировщик запуск модуля: ```text */5 * * * * root /opt/usm/usm_checker/venv/bin/python /opt/usm/usm_checker/usm_checker.py ``` Если вы использовали группы, например, отдельные проверки для оборудования (группа equipment) и для абонентов (группа customers), то настройка планировщика будет отличаться: ```text */5 * * * * root /opt/usm/usm_checker/venv/bin/python /opt/usm/usm_checker/usm_checker.py equipment */15 * * * * root /opt/usm/usm_checker/venv/bin/python /opt/usm/usm_checker/usm_checker.py customers ``` ## usm_gps Модуль предназначен для приема координан местоположения от GNSS-трекеров (в том числе программных) с целью определения местоположения персонала и автотранспорта. ### Протоколы Модуль поддеривает множество наиболее популярных GNSS-протоколов. ````{note} **Название GNSS-протокола не всегда соответствует названию трекера.** Например, трекер, который называется GT-06 может иметь прошивку с протоколом TK103, а другой, точно такой же трекер, может иметь прошивку с протоколом GT02A. Нужно всегда отталкиваться от протокола, а не от названия трекера. Чаще всего понять, какой протокол используется трекером, можно только экспериментально. ```` ### Установка Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. Так как модуль использует язык Python, рекомендуется запускать его в виртуальном окружении (venv). Для работы модуля подходит [любая поддерживаемая на данный момент версия](https://devguide.python.org/versions/) Python. ```shell sudo apt install -y unzip sudo mkdir -p /opt/usm /var/log/usm_gps && cd /opt/usm sudo mv ~/usm_gps-*.zip . sudo unzip usm_gps-*.zip && rm usm_gps-*.zip cd usm_gps sudo cp .env-example .env sudo python3 -m venv venv sudo venv/bin/pip install --upgrade pip sudo venv/bin/pip install -r requirements.txt ``` ### Настройка Настройка этого модуля выполняется через переменные окружения (файл .env). Помимо прочего, настройка сводится к раскомментированию необходимых протоколов и, при необходимости, смены их номеров портов. Перед пробным запуском также рекомендуется изменить значение `USM_GPS__LOG__FILE=STDOUT`, чтобы журнал выводился в консоль вместо файла. Выполните пробный ручной запуск модуля: ```shell sudo venv/bin/python main.py ``` Модуль должен успешно запуститься и начать прослушивать подключение на портах, которые вы разрешили в настройках. Перенастройте ваш GPS-трекер на IP-адрес вашего сервера и порт, который вы указали в настройках (файл .env) и убедитесь, что трекер подключается к серверу, о чем вы увидите записи в консоли. Если подключение не происходит, проверьте настройки фаервола в вашей сети. После того как модуль успешно начал свою работу, остановите его `Ctrl+C` и измените в файле .env путь к логам: `USM_GPS__LOG__FILE=/var/log/usm_gps`. ### Постоянный запуск Так как этот модуль рассчитан на постоянную работу, а не на периодический запуск, создайте конфигурацию в supervisor, который будет автоматически запускать модуль и контролироват его работу. Создайте файл /etc/supervisor/conf.d/usm_gps.conf следующего содержания: ```text [program:usm_gps] command=/opt/usm/usm_gps/venv/bin/python /opt/usm/usm_gps/main.py directory=/opt/usm/usm_gps autostart=true autorestart=true user=root ``` Перезапустите службу supervisor: ```shell sudo systemctl restart supervisor ``` Через 20..60 секунд после выполнения перезапуска проверьте, что службы запустились и работают (состояние RUNNING): ```shell sudo supervisorctl status ``` ## usm_iferr Модуль для периодического опроса (по SNMP) счетчиков ошибок на интерфейсах оборудования. ### Установка Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. Так как модуль использует язык Python, рекомендуется запускать его в виртуальном окружении (venv). Для работы модуля подходит [любая поддерживаемая на данный момент версия](https://devguide.python.org/versions/) Python. ```shell sudo apt install -y unzip sudo mkdir -p /opt/usm /var/log/usm_iferr && cd /opt/usm sudo mv ~/usm_iferr-*.zip . sudo unzip usm_iferr-*.zip && rm usm_iferr-*.zip cd usm_iferr sudo cp settings.ini-example settings.ini sudo python3 -m venv venv sudo venv/bin/pip install --upgrade pip sudo venv/bin/pip install -r requirements.txt ``` ### Настройка Отредактируйте файл settings.ini. Параметры конфигурации документированы и конфигурация не должна вызвать проблем. Выполните проверочный ручной запуск модуля: ```shell sudo venv/bin/python usm_iferr.py ``` Вы должны увидеть в консоли различные сообщения о работе модуля. Если в выводе вы видите ошибки которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение параметров в секции `[log]`: `level = 2` и `to_console = no` в файле settings.ini и добавьте в системный планировщик запуск модуля: ```text */5 * * * * root /opt/usm/usm_iferr/venv/bin/python /opt/usm/usm_iferr/usm_iferr.py ``` ## usm_lanbilling Модуль для организации импорта данных из биллинговой системы LANBilling в ERP. ### Установка Для работы модуля достаточно установить PHP-расширение mysqli (входит в метапакет mysql). Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y php8.3-mysql unzip sudo mkdir -p /opt/usm /var/log/usm_lanbilling && cd /opt/usm sudo mv ~/usm_lanbilling-*.zip . sudo unzip usm_lanbilling-*.zip && rm usm_lanbilling-*.zip sudo mv usm_lanbilling-* usm_lanbilling && cd usm_lanbilling sudo cp usm_lanbilling.conf.php-example usm_lanbilling.conf.php ``` ### Настройка Отредактируйте файл usm_lanbilling.conf.php. Смысл всех параметров прописан в комментариях конфигурационного файла. Запустите модуль вручную, чтобы убедиться в его корректной настройке: ```shell sudo php8.3 usm_lanbilling.php ``` Нормальная работа модуля выглядит следующим образом: ```text $ sudo php8.3 usm_lanbilling.php usm_lanbilling ==================================== Start module at 2025-05-20 14:19:25 Finish module at 2025-05-20 14:19:39 ==================================== $ _ ``` Если вместо этого вы видите ошибки, которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной `$isSilence = 1;` в файле usm_lanbilling.conf.php и добавьте в системный планировщик запуск модуля: ```text */10 * * * * root php8.3 usm_lanbilling.php ``` ## usm_observer Модуль для постоянного контроля средствами SNMP настраиваемых показателей у устройств и оповещения сотрудников и подразделений о фактах выхода значений этих показателей за пределы установленных значений. ### Установка Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. Так как модуль использует язык Python, рекомендуется запускать его в виртуальном окружении (venv). Для работы модуля подходит [любая поддерживаемая на данный момент версия](https://devguide.python.org/versions/) Python. ```shell sudo apt install -y unzip sudo mkdir -p /opt/usm /var/log/usm_observer && cd /opt/usm sudo mv ~/usm_observer-*.zip . sudo unzip usm_observer-*.zip && rm usm_observer-*.zip cd usm_observer sudo cp settings.yaml-example settings.yaml sudo python3 -m venv venv sudo venv/bin/pip install --upgrade pip sudo venv/bin/pip install -r requirements.txt ``` ### Настройка Отредактируйте файл settings.yaml. Параметры конфигурации документированы и конфигурация не должна вызвать проблем. Перед первым запуском установите `log: path: STDOUT`, чтобы видеть журнал работы в консоли вместо его записи в файл. Выполните проверочный ручной запуск модуля: ```shell sudo venv/bin/python main.py ``` Вы должны увидеть в консоли различные сообщения о работе модуля. Если в выводе вы видите ошибки которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение `log: path: /var/log/usm_observer` в файле settings.yaml и добавьте в системный планировщик запуск модуля: ```text */2 * * * * root /opt/usm/usm_observer/venv/bin/python /opt/usm/usm_observer/main.py ``` ## usm_peleng Модуль для опроса управляемого оборудования в части съема FDB-таблиц (MAC-адреса). ### Установка Модуль требует установки perl-пакетов. Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y unzip sudo cpan \ Net::SNMP \ Net::Telnet \ Data::Dumper \ FindBin \ LWP::Protocol::https \ LWP::UserAgent \ Time::Local \ URI \ URI::Escape \ JSON sudo mkdir -p /opt/usm /var/log/usm_peleng && cd /opt/usm sudo mv ~/usm_peleng-*.zip . sudo unzip usm_peleng-*.zip && rm usm_peleng-*.zip sudo mv usm_peleng-* usm_peleng && cd usm_peleng sudo cp usm_peleng.conf-example usm_peleng.conf ``` ### Настройка Отредактируйте usm_peleng.conf. Параметры файла документированы и настройка не должна вызвать трудности. Выполните пробный ручной запуск: ```shell sudo perl usm_peleng.pl ``` Вы должны увидеть в консоли различные сообщения о работе модуля. Если в выводе вы видите ошибки которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной конфигурационного файла usm_peleng.conf `$isSilence = 1;` и добавьте в системный планировщик запуск модуля: ```text * * * * * root perl /opt/usm/usm_peleng/usm_peleng.pl ``` Запуска одной копии раз в минуту достаточно для опроса около 500 устройств раз в 6 часов, чего выполне достаточно для поддержания актуального списка MAC-адресов. Если устройств больше, вы можете добавить еще одну точно такую же строку ниже. Однако, слишком частый опрос FDB не рекомендуется, так как это может быть достаточно ресурсоемкая операция для вашего оборудования, потребляющая ресурсы MCU. ## usm_pon Модуль для опроса OLT с целью мониторинга работоспособности PON-сети. ### Установка Модуль требует установки perl-пакетов. Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y unzip sudo cpan \ Socket \ Data::Dumper \ FindBin \ LWP::Protocol::https \ LWP::UserAgent \ Time::Local \ URI \ URI::Escape \ JSON sudo mkdir -p /opt/usm /var/log/usm_pon && cd /opt/usm sudo mv ~/usm_pon-*.zip . sudo unzip usm_pon-*.zip && rm usm_pon-*.zip sudo mv usm_pon-* usm_pon && cd usm_pon sudo cp usm_pon.conf-example usm_pon.conf ``` ### Настройка Отредактируйте usm_pon.conf. Параметры файла документированы и настройка не должна вызвать трудности. Выполните пробный ручной запуск: ```shell sudo perl usm_pon.pl ``` Вы должны увидеть в консоли различные сообщения о работе модуля. Если в выводе вы видите ошибки которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной конфигурационного файла usm_pon.conf `$isSilence = 1;` и добавьте в системный планировщик запуск модуля: ```text */5 * * * * root perl /opt/usm/usm_pon/usm_pon.pl ``` Частота запуска модуля зависит от количества OLT. Каждый запуск модуля приводит к опросу одного из OLT. Рассчитайте частоту запуска таким образом, чтобы каждый OLT опрашивался не чаще одного раза в час, но и не реже одного раза в 8 часов. ## usm_radio Модуль, который осуществляет периодический опрос радиооборудования, определяет подключенных радиоабонентов и уровни сигналов к ним. ### Установка Модуль требует установки perl-пакетов. Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y unzip sudo cpan \ Data::Dumper \ FindBin \ LWP::Protocol::https \ LWP::UserAgent \ Time::Local \ URI \ URI::Escape \ JSON sudo mkdir -p /opt/usm /var/log/usm_radio && cd /opt/usm sudo mv ~/usm_radio-*.zip . sudo unzip usm_radio-*.zip && rm usm_radio-*.zip sudo mv usm_radio-* usm_radio && cd usm_radio sudo cp usm_radio.conf-example usm_radio.conf ``` ### Настройка Отредактируйте usm_radio.conf. Параметры файла документированы и настройка не должна вызвать трудности. Выполните пробный ручной запуск: ```shell sudo perl usm_radio.pl ``` Вы должны увидеть в консоли различные сообщения о работе модуля. Если в выводе вы видите ошибки которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной конфигурационного файла usm_radio.conf `$isSilence = 1;` и добавьте в системный планировщик запуск модуля: ```text */30 * * * * root perl /opt/usm/usm_radio/usm_radio.pl ``` ## usm_stat Модуль для фиксации истории по активности абонентов в сети/интернете. ### Установка Модуль требует установки perl-пакетов. Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y unzip sudo cpan \ Data::Dumper \ FindBin \ LWP::Protocol::https \ LWP::UserAgent \ Time::Local \ URI \ URI::Escape \ JSON sudo mkdir -p /opt/usm /var/log/usm_stat && cd /opt/usm sudo mv ~/usm_stat-*.zip . sudo unzip usm_stat-*.zip && rm usm_stat-*.zip sudo mv usm_stat-* usm_stat && cd usm_stat sudo cp usm_stat.conf-example usm_stat.conf ``` ### Настройка Отредактируйте usm_stat.conf. Параметры файла документированы и настройка не должна вызвать трудности. Выполните пробный ручной запуск: ```shell sudo perl usm_stat.pl ``` Вы должны увидеть в консоли различные сообщения о работе модуля. Если в выводе вы видите ошибки которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной конфигурационного файла usm_stat.conf `$isSilence = 1;` и добавьте в системный планировщик запуск модуля: ```text */25 * * * * root perl /opt/usm/usm_stat/usm_stat.pl ``` ## usm_utm5 Модуль для организации импорта данных из биллинговой системы UTM5 в ERP. ### Установка Для работы модуля достаточно установить PHP-расширение mysqli (входит в метапакет mysql). Предполагается, что архив с модулем скопирован на сервер в домашний каталог пользователя. ```shell sudo apt install -y php8.3-mysql unzip sudo mkdir -p /opt/usm /var/log/usm_utm5 && cd /opt/usm sudo mv ~/usm_utm5-*.zip . sudo unzip usm_utm5-*.zip && rm usm_utm5-*.zip sudo mv usm_utm5-* usm_utm5 && cd usm_utm5 sudo cp usm_utm5.conf.php-example usm_utm5.conf.php ``` ### Настройка Отредактируйте файл usm_utm5.conf.php. Смысл всех параметров прописан в комментариях конфигурационного файла. Запустите модуль вручную, чтобы убедиться в его корректной настройке: ```shell sudo php8.3 usm_utm5.php ``` Нормальная работа модуля выглядит следующим образом: ```text $ sudo php8.3 usm_utm5.php usm_utm5 ==================================== Start module at 2025-05-20 14:19:25 Finish module at 2025-05-20 14:19:39 ==================================== $ _ ``` Если вместо этого вы видите ошибки, которые не удается исправить самостоятельно, обратитесь в нашу техподдержку через личный кабинет. #### Периодический запуск После того как проверочный запуск будет выполнен корректно, измените значение переменной `$isSilence = 1;` в файле usm_utm5.conf.php и добавьте в системный планировщик запуск модуля: ```text */10 * * * * root php8.3 usm_utm5.php ```