Message Router BI
");.FAILED.
;Для более детального анализа, рекоммендуется проделать следующие действия:
1. Удостовериться, что сервис "Message Router BI
" активен.
2. ... и отсутствуют проблемы ([ERROR] или [WARN]) в соответствующем log файле:
C:\Program Files\Mastersoft\MasterETL\MessageRouter\log\BI\{EntityName}\Route.log
NB! надо иметь ввиду, что на сервере KMG-BI кроме основного сервиса Message Router
присутствует дополнительный сервис "Message Router BI (bulk)
" для массовой загрузки (вручную) пропущенных данных
3. Проверить количество сообщений в состоянии ожидания обработки в очередях ActiveMQ http:// BI_SERVER:8161/admin/queues.jsp
В случае "Number of messages pending" <> 0 смотрим пункт №2 "возможных причин отсутствия данных в БД"
Также, можно кликнуть на соответствующую очередь, чтобы просмотреть её содержимое.
NB! Для доступа к админской панели логин admin
и пароль amqadmin
.
1. Проверить, что активен сервис "ActiveMQ
".
2. Проверить, что активен сервис "POS Data Extractor
" и отсутствуют [ERROR] или [WARN] в log файле:
C:\PosDataExtractor\log\PosDataExtractor.log
3. Проверить количество сообщений в состоянии ожидания обработки в очередях ActiveMQ POS http://localhost:8161/admin/queues.jsp
В случае "Number of messages pending" <> 0 удостоверяемся, что АЗС присутствует в списке текущих SSL соединений ActiveMQ BI http:// BI_SERVER:8161/admin/connections.jsp , а её IP адрес соответствует коду станции
4.: При помощи "Manager Console" проверить содержимое очереди "Регистры\ очередь ActiveMQ
" и архива "Просмотр ДТЛ\ архив ActiveMQ
".
Пустая очередь ActiveMQ
означает, что все сообщения POS обработаны и отправлены локальному экземпляру ActiveMQ.
Обработанные сообщения перенесеносятся из очереди ActiveMQ
в архив ActiveMQ
.
Если данные находятся в архиве ActiveMQ
, но на сервере их всё равно нет, то следует проверить поле причина архивирования
. Значением поля должно быть 1, в ином случае запись сообщения в очередь произошло с ошибкой...
С помощью консольной версии PosDataExtractor (pdecli), можно передать отсутствующие данные из POS на сервер KMG-BI. Запуск производится из папки PosDataExtractor.
Данные возможно передавать как за период времени, так и конкретно по номеру, если он известен. За один раз передаётся только один тип ресурса {Entity
}.
Формат записи в случае передачи данных по номеру следующий: pdecli --entity={EntityName} --resource-id={id} --commit
например: pdecli --entity=zreports --resource-id=4 --commit
(передаём Z-отчёт №4)
Формат записи в случае передачи данных за период времени следующий: pdecli --entity={EntityName} --period-begin={Start date-time} --period-end={End date-time} --commit,
где формат даты-времени: гггг-мм-дд Т чч:мм (без пробелов)
например: pdecli --entity=receipts --period-begin=2015-10-11T7:00 --period-end=2015-10-12T20:00 --commit
(передаём чеки за период с 11 октября 2015г. 7:00
до 12 октября 2015г. 20:00
)
Наиболее распространённые типы ресурсов {Entity
}, передаваемые с АЗС:
NB! Приложение автоматически определяет очередь ActiveMQ, необходимую для конкретного ресурса
Полное описание приложения (с примерами использования) дано в англоязычной документации PosDataExtractor console interface (pdecli).
internal: На основании результатов запроса bi_zreportholes_ex.sql
можно сформировать скрипты для автоматической загрузки данных с любой АЗС, которые выполняют массовую загрузку данных за заданный период времени на сервер BI.
Данные попадут в отдельные соответствующие POS.Bulk.>
очереди и будут обрабатываются собственным сервисом "Message Router BI (bulk)
".
Computer\Manage\Services
, либо в коммандной строкеsc query ActiveMQ
sc stop ActiveMQ sc start ActiveMQ
NB! перед остановом сервиса ActiveMQ также рекоммендуется остановить сервис PosDataExtractor
(POS) либо MessageRouterBos
(BOS)
c: cd \activemq\bin\ activemq.bat
c:\activemq\activemq.xml
на кассе и BOS'e неоходимо указать правильное название брокеров ActiveMQ (SAP-код АЗС)Receipts, ZReports, Events, GasFillings, TigMeasurements, CardTrns
необходимо менять содержимое поля ObjectCode
. В дальнейшем, при смене кода АЗС, достаточно будет поменять код станции на кассе и перезапустить инсталлятор MasterETL, который автоматически сделает необходимые настройки ETL рабочего места.
internal: скрипт bi_codereplace.sql
служит для автоматизации процесса замены таблиц.