СОРМ Январь, версия 2020 (архивная)

Skip to end of metadata
Go to start of metadata

Новая версия интеграции с СОРМ МФИ Софт согласно документации 2020 года.

Как развернуть

  1. Скачайте архив с файлами интеграции и распакуйте в нужной директории:
    yum install -y wget 
    wget --no-check-certificate https://docs.carbonsoft.ru/download/attachments/186286305/sorm3-mfi_20210831.tar.gz
    mkdir /app/asr_billing/cfg/sorm3-mfi
    tar xzf sorm3-mfi_20210831.tar.gz -C /app/asr_billing/cfg/sorm3-mfi/
    
  2. Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала
    /app/asr_billing/cfg/sorm3-mfi/configure.sh
  3. Исправьте файл /app/asr_billing/cfg/sorm3-mfi/config.ini - укажите там параметры Вашего FTP. Секция FTP в конфигурационном файле должна выглядеть приблизительно так:
    [ftp]
    # Данные подключения к FTP 
    ftp_ip=10.90.1.185
    ftp_login=carbon
    ftp_pass=carbon
    

Что нужно знать о выгрузках, скриптах и тд

Примечания по архитектуре интеграции

  • По-умолчанию автоматический делаются выгрузки:
    • раз в сутки: abonents abonent_ident abonent_address abonent_service
    • раз в час: undefined_payment
  • Если хотите изменить частоту или набор выгрузок - поправьте /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload.sh и перезапустите cron
  • Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так:
    /app/asr_billing/cfg/sorm3-mfi/upload.sh ip_gateway ip_plan commutators gateways regions supplementary_service
    

Какие выгрузки формируются

  • Данные об абонентах
    • ABONENT
    • ABONENT_IDENT
    • ABONENT_SERVICE
    • ABONENT_ADDRESS
  • Справочные данные
    • COMMUTATORS
    • GATEWAYS
    • IP_GATEWAY
    • IP_PLAN
    • SUPPLEMENTARY_SERVICE
    • DOC_TYPE
    • PAY_TYPE
    • UNDEFINED_PAYMENT

Как сделать выгрузку вручную

Скриптом upload.sh, в качестве параметров через пробел перечислите нужные отчёты для выгрузки, например:

/app/asr_billing/cfg/sorm3-mfi/upload.sh gateways

Можете запустить без параметров, скрипт напшиет краткую справку и список отчётов которые можно выполнить:

Команда
/app/asr_billing/cfg/sorm3-mfi/upload.sh
Вывод
2021-08-11 12:17:58 скрипт запущен

Укажите какие отчёты надо выгружать. Например:

  upload.sh abonent abonent_ident abonent_address abonent_service

Справочники и данные об абонентах, которые можно выгрузить этим скриптом:

  abonent
  abonent_address
  abonent_ident
  abonent_service
  commutators
  gateways
  ip_gateway
  ip_plan
  regions
  supplementary_service
  undefined_payment
  doc_type
  pay_type


Ещё скрипт можно запустить с дебагом, тогда файлы будут созданы, но без выгрузки на FTP. Например:

  upload.sh abonent --debug

Как запустить настройку

Запустите скрипт configure.sh:

/app/asr_billing/cfg/sorm3-mfi/configure.sh all

Если нужно выполнить только какую-то часть, например добавить массово атрибут новым абонентам, укажите это первым агрументом функции, например:

./configure.sh prepare_references

Если запустить скрипт без парамеров, он выведет справку

Укажите, что нужно настроить:

   prepare_references - создать реквизит с типами документов, удостоверяющих личность
   prepare_abonents - добавить всем абонентам реквизит с типом документа Паспорт гражданина РФ
   make_doc_type - сформировать справочник с типами документов для выгрузки на СОРМ
   install_cron - настроить CRON
   install_logrotate - настроить logrotate
   prepare_payment_report - выгрузить справочник используемых платёжных систем и подготовить sql для выгрузки платежей
   all - всё вышеперечисленное


Например:

  configure.sh all

Отладка

Если выгрузка не прошла, или произошла с какой-либо ошибкой (пустые файлы, или оборванные "на середине"), посмотреть, как проходила выгрузка можно в файле журнала на сервере:

Путь к файлу журнала
/app/asr_billing/var/log/sorm3_upload.log

Есть три наиболее распространённые причины.

1. Проблема с CRON

Если выгрузка совсем не проходила и данных в журнале нет, возможно есть проблема с планировщиком задач - он может быть выключен, может неправильно сконфигурирован, или самим скриптом /etc/cron.d/sorm3-mfi-upload.sh - возможно на нём не установлены права на выполнение.

  • Возможно cron просто выключен, включить можно командой:
    /etc/init.d/crond start
  • Убедитесть что файл /etc/init.d/cron исполняемый:
    chmode a+x /etc/init.d/crond
  • Проверьте, чтобы скрипт имел следующие права
     [root@carbontesst]# ll /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload
    -rw-r--r-- 1 root root /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload

    Выставить данные права можно с помощью команды

    chmod 644 /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload
  • Если есть какие-то ошибки в работе, Вы можете найти информацию о них в файле /var/log/cron. К сожалению, отладка крона уже выходит за рамки документации продукта Carbon Billing. Пожалуйста, обратитесь к документации CRON если это Ваш случай.

2. Проблема в формировании выгрузки (в отчётах)

Мы написали краткую статью по отладке отчётов: Отладка отчетов. По ней Вы можете решить такую проблему.

3. Проблема с выгрузкой на FTP

Наша система резервного копирования так же использует FTP-сервера для хранения резервных копий удалённо.

В документаци по отладке выгрузки резервных копий мы описали распространённые причины, почему данные могут не выгружаться: [ALARM Ошибка автоматической резервной копии!]

4. Можно формировать выгрузки, но не выгружать на FTP, чтобы их отлаживать?

Можно, для этого добавьте флаг --debug скрипту upload.sh, например:

/app/asr_billing/cfg/sorm3-mfi/upload.sh regions ip_plan --debug

Если справочники в биллинге заполнены и по структуре запросов есть подходящие данные для выгрузки, то в выводе скрипт напишет пути к файлам:

...
2021-08-11 12:03:01 Пукть к файлу: /app/asr_billing/var/sorm3_data/done//REGIONS_20210811_1203.csv
...
2021-08-11 12:03:01 Пукть к файлу: /app/asr_billing/var/sorm3_data/done//IP_PLAN_20210811_1203.csv

Если в биллинге не заведены данные, которы можно выгрузить, то скрипт напишет что файлы сырой выгрузки пусты, например:

2021-08-11 12:02:49 Файл /app/asr_billing/var/sorm3_data/gateways.csv_raw пуст
2021-08-11 12:02:49 Файл /app/asr_billing/var/sorm3_data/undefined_payment.csv_raw пуст

Отладить это Вы можете по статье Отладка отчетов

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.