|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (35)
просмотр истории страницыНовая версия интеграции с СОРМ МФИ Софт согласно докумнетации документации 2020 года. |
|
h2. Про новую версию |
{toc} |
|
h3. Для чего новая версия? |
h2. Как развернуть |
|
* За 2 года МФИ обновили структуру СОРМ и добавились новые поля * Предыдущая версия сложна в установке. |
# Скачайте архив с файлами интеграции и распакуйте в нужной директории: {code} 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/ {code} # Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала {code}/app/asr_billing/cfg/sorm3-mfi/configure.sh{code} # Исправьте файл */app/asr_billing/cfg/sorm3-mfi/config.ini* - укажите там параметры Вашего FTP. Секция FTP в конфигурационном файле должна выглядеть приблизительно так: {code} [ftp] # Данные подключения к FTP ftp_ip=10.90.1.185 ftp_login=carbon ftp_pass=carbon {code} |
|
h3. Отличия от старой интеграции |
h2. Что нужно знать о выгрузках, скриптах и тд |
|
# Полностью переписан скрипт выгрузки и принцип интеграции в cron # Добавлены файлы заголовков |
h3. Примечания по архитектуре интеграции |
|
h3. Что не готово |
* По-умолчанию автоматический делаются выгрузки: ** раз в сутки: abonents abonent_ident abonent_address abonent_service ** раз в час: undefined_payment * Если хотите изменить частоту или набор выгрузок - поправьте */app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload.sh* и перезапустите cron * Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так: {code}/app/asr_billing/cfg/sorm3-mfi/upload.sh ip_gateway ip_plan commutators gateways regions supplementary_service {code} |
|
Практический готово, не хватает только отчёта payments и скрипта для cron в архиве |
h3. Какие выгрузки формируются |
|
h2. Как развернуть |
- Данные об абонентах -* ABONENT -* ABONENT_IDENT -* ABONENT_SERVICE -* ABONENT_ADDRESS - Справочные данные -* COMMUTATORS -* GATEWAYS -* IP_GATEWAY -* IP_PLAN -* SUPPLEMENTARY_SERVICE -* DOC_TYPE -* PAY_TYPE -* UNDEFINED_PAYMENT |
|
# Скачайте и разместите все файлы с нужными правами в нужных местах: |
h3. Как сделать выгрузку вручную Скриптом upload.sh, в качестве параметров через пробел перечислите нужные отчёты для выгрузки, например: {code}/app/asr_billing/cfg/sorm3-mfi/upload.sh gateways{code} Можете запустить без параметров, скрипт напшиет краткую справку и список отчётов которые можно выполнить: {code:title=Команда}/app/asr_billing/cfg/sorm3-mfi/upload.sh{code} {code:title=Вывод} 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 |
{code} |
yum install -y wget wget --no-check-certificate https://docs.carbonsoft.ru/download/attachments/186286305/sorm3-mfi_2020.07_beta.tar.gz tar xzf sorm3-mfi_2020.07_beta.tar.gz -C /app/asr_billing/cfg/ chown -R root:root /app/asr_billing/cfg/sorm3-mfi mv /app/asr_billing/cfg/sorm3-mfi/sorm3-mfi_cron_script /etc/cron.d/ /etc/init.d/crond restart |
h2. Как запустить настройку Запустите скрипт configure.sh: {code}/app/asr_billing/cfg/sorm3-mfi/configure.sh all{code} Если нужно выполнить только какую-то часть, например добавить массово атрибут новым абонентам, укажите это первым агрументом функции, например: |
{code} |
# Выполните скрипт, который добавит системный атрибут с типами документов (паспорт, загранпаспорт и тд) {code}bash /app/asr_billing/cfg/sorm3-mfi/script_add_doc_type_attr.sh{code} # Всем физлицам добавьте реквизит с типом документа "Паспорт гражданина РФ". Если у есть абоненты заведённые с другими типами документов - актуализируйте врунчую |
./configure.sh prepare_references |
{code} |
sqlexec -l "select distinct a.id from abonents a left join attribute_values av on a.id=av.abonent_id and attribute_id=-332891 where coalesce(a.company,0)=0 and coalesce(a.category_id,1)=1 and a.is_folder=0 and a.id>0 and (av.id is null)" | awk '$2{print $2}' | while read abon_id; do curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AttributeValues/' --data 'method1=objects.create&arg1={"abonent_id":'$abon_id',"attribute_id":"-332891","attribute_value":"Паспорт гражданина РФ"}'; done |
Если запустить скрипт без парамеров, он выведет справку |
{code} |
# Исправьте файл */app/asr_billing/cfg/sorm3-mfi/config* - укажите там параметры Вашего FTP. Должно быть что-то вроде этого: |
Укажите, что нужно настроить: prepare_references - создать реквизит с типами документов, удостоверяющих личность prepare_abonents - добавить всем абонентам реквизит с типом документа Паспорт гражданина РФ make_doc_type - сформировать справочник с типами документов для выгрузки на СОРМ install_cron - настроить CRON install_logrotate - настроить logrotate prepare_payment_report - выгрузить справочник используемых платёжных систем и подготовить sql для выгрузки платежей all - всё вышеперечисленное Например: configure.sh all |
{code} |
sql_dir="/app/asr_billing/cfg/sorm3-mfi" data_dir="/app/asr_billing/var/sorm3_data" log_file="/app/asr_billing/var/log/sorm-upload.log" ftp_ip=192.168.0.1 ftp_login=user ftp_pass=password {code} |
|
* По-умолчанию автоматический раз в день делаются выгрузки: *abonents abonent_ident abonent_address abonent_service* * Если хотите изменить частоту или набор выгрузок - поправьте /etc/cron.d/sorm3-mfi_cron_script и перезапустите cron * Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так: |
h2. Отладка |
{code} |
/app/asr_billing/cfg/sorm3-mfi/upload.sh ip_gateway ip_plan commutators gateways regions supplementary_service |
Если выгрузка не прошла, или произошла с какой-либо ошибкой (пустые файлы, или оборванные "на середине"), посмотреть, как проходила выгрузка можно в файле журнала на сервере: {code:title=Путь к файлу журнала}/app/asr_billing/var/log/sorm3_upload.log{code} Есть три наиболее распространённые причины. |
{code} |
h3. 1. Проблема с CRON Если выгрузка совсем не проходила и данных в журнале нет, возможно есть проблема с планировщиком задач - он может быть выключен, может неправильно сконфигурирован, или самим скриптом /etc/cron.d/sorm3-mfi-upload.sh - возможно на нём не установлены права на выполнение. * Возможно cron просто выключен, включить можно командой: {code}/etc/init.d/crond start{code} * Убедитесть что файл /etc/init.d/cron исполняемый: {code}chmode a+x /etc/init.d/crond{code} * Проверьте, чтобы скрипт имел следующие права {code} [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{code} Выставить данные права можно с помощью команды {code}chmod 644 /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload{code} * Если есть какие-то ошибки в работе, Вы можете найти информацию о них в файле */var/log/cron*. К сожалению, отладка крона уже выходит за рамки документации продукта Carbon Billing. Пожалуйста, обратитесь к документации CRON если это Ваш случай. h3. 2. Проблема в формировании выгрузки (в отчётах) Мы написали краткую статью по отладке отчётов: [CarbonBilling:Отладка отчетов]. По ней Вы можете решить такую проблему. h3. 3. Проблема с выгрузкой на FTP Наша система резервного копирования так же использует FTP-сервера для хранения резервных копий удалённо. В документаци по отладке выгрузки резервных копий мы описали распространённые причины, почему данные могут не выгружаться: [ALARM Ошибка автоматической резервной копии!|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=51019784#Системамониторинга-ALARMОшибкаавтоматическойрезервнойкопии\!] h3. 4. Можно формировать выгрузки, но не выгружать на FTP, чтобы их отлаживать? Можно, для этого добавьте флаг *--debug* скрипту upload.sh, например: {code}/app/asr_billing/cfg/sorm3-mfi/upload.sh regions ip_plan --debug{code} Если справочники в биллинге заполнены и по структуре запросов есть подходящие данные для выгрузки, то в выводе скрипт напишет пути к файлам: {code} ... 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 {code} Если в биллинге не заведены данные, которы можно выгрузить, то скрипт напишет что файлы сырой выгрузки пусты, например: {code} 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 пуст {code} Отладить это Вы можете по статье [CarbonBilling:Отладка отчетов] |