Войти

Как читать логи Адаптера

Вся основная статусная информация, касающаяся Адаптера, его процессов и взаимодействия с Единой Системой СМЭВ, записывается в лог файлы ИУА. Данные записи размещаются в папке установки Адаптера, обычно по пути C:\Program Files\SmevAdapter\logs для Windows и  /opt/adapter/logs для Linux. Для каждого дня работы формируется отдельный лог файл (Рисунок 1).

Каталог лог файлов для ИУА в Windows.png

Рисунок 1 – Каталог лог файлов для ИУА в Windows.

Поэтому для получения сведений о конкретной дате нужно открыть соответствующий этой дате файл. Для получения сведений за текущий день смотреть файл с именем smev-adapter.log. В файле storage-tool.log фигурирует результат развертывания объектов для базы данных. Он может быть полезен при получении дополнительных сведений после установки или обновлении Адаптера. Во всех остальных случаях пользуемся smev-adapter файлами.

Записи в логах состоят из даты, времени фиксации события, наименования потока (например, [smevTaskExecutorInbound-1]), типа записи (например, INFO), наименования внутреннего компонента (например, r.r.s.a.c.d.DeliveryServiceImpl ) и самого события.
По наименованию потока можно определить, связаны ли логически соседние строчки логов или нет. Например, здесь записи логически связаны – поток один:

28-04-2022 18:56:06.405 [smevTaskExecutorInbound-1] INFO  r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - Begin upload! 03b868af-c032-4c37-8b8e-af3cc767ef25

28-04-2022 18:56:06.566 [smevTaskExecutorInbound-1] INFO  r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - connected to: "smev3-n0.test.gosuslugi.ru"

А здесь второе событие не связано с первым:

28-04-2022 10:10:13.573 [smevTaskExecutorOutbound-6] INFO  r.r.s.a.i.a.IntegrationAmqpRequestGenerator - checkAvailability=true

28-04-2022 10:10:13.572 [task-scheduler-2] INFO  r.r.s.a.c.c.s.ConfigurationManagerImpl - reload adapter config!

Таким образом, можно делить события по потокам.

Возвращаясь к типам записей, они бывают:

  • INFO – информационные записи;

  • WARN – предупреждающие записи;

  • ERROR – записи, содержащие ошибку.

Но важно помнить, что записи с типом INFO будут присутствовать только в том случае, если используется уровень логирования по умолчанию – INFO – п. 1.5 Общих настроек конфигурации Адаптера (Рисунок 2). Если используется уровень WARN, то будут доступны только типы записей WARN и ERROR.

Варианты использования уровней логирования.png

Рисунок 2 – Варианты использования уровней логирования.

Стоит также отметить, что при необходимости можно включить логирование полных конвертов запросов и ответов в лог файлы – базово они не записываются туда, а хранятся в БД и в виде xml файлов в папке, заданной при установке ИУА.
Но если все же необходимость во включении логирования есть, нужно перейти в Настройки конфигурации адаптера, проставить галочки в пунктах 2.7 и 2.8 (Рисунок 3).

Настройки включения.png 

Рисунок 3 – Настройки включения логирования входных и выходных данных.

Под входными данными понимают ответы и статусные сообщения от СМЭВ для потребителя и запросы и статусные сообщения для поставщика. Под выходными – сообщения, отправляемые ИС участника, в том числе методом GetRequestRequest (опрос очереди ИС) и AckRequest (подтверждение о получении сообщения системой).

Независимо от того, включено логирование входных и выходных данных или нет, в логах будут присутствовать записи, сообщающие об осуществлении отправки и получения сообщений (тип INFO).

При выключенном логировании входных и выходных данных и используемом уровне по умолчанию INFO необходимо ориентироваться на записи следующего формата:

INFO r.r.s.a.l.s.SingleLoggingRequestSender - LogEventMessage{timestamp=время в формате timestamp, moduleId='single-adapter', clientId='идентификатор сообщения, сгенерированный УВ', messageId='идентификатор сообщения, присвоенный СМЭВ', informationSystemCode='Мнемоника ИС', eventType=MESSAGE_SENT_TO_SMEV, message='Message sent to SMEV: …

где   eventType – тип события;

        message – сообщение, описывающее событие.

Также EventType бывают:

  • MODULE_STARTUP – событие запуска службы ИУА;
  • CONFIGURING_EVENT – изменения конфигурации ИУА;

  • MESSAGE_SENT_TO_SMEV – успешно отправлено в СМЭВ, содержит бизнес-сведения запроса (MessagePrimaryContent) в поле messageContent;

  • MESSAGE_SENT_TO_IS – получено сообщение для ИС, содержит бизнес-сведения ответа (MessagePrimaryContent) в поле messageContent;

  • PROCESSING_ERROR – ошибка ИУА в ходе отправки сообщения;

  • FS_METADATA_SENDING_ERROR – ошибка в ходе отправки вложения в ФХ.

Это список наиболее часто встречающихся типов событий. Каждый из них сопровождается сообщением, описывающем событие (message) - как в последнем примере.

Также при формировании конвертов ИУА и сохранении их в заданную директорию будут зафиксированы записи, подтверждающие данную операцию. Например:

INFO  r.v.s.c.a.t.impl.v1_3.WSTemplateImpl - save SendRequestRequest to C:UsersUserXMLStoragemessagesTest123{accbd9f6-c70b-11ec-a518-9eb6d0fdc8a9}-{SendRequestRequest}-{SUCCESS}.xml

При включенном логировании входных и выходных данных будут фигурировать все записи, касающиеся отправленных и полученных сообщений, в том числе записи опроса очереди и подтверждения получения сообщения (Таблица 1).

Таблица 1. Примеры логов используемых методов отправки сообщений в СМЭВ при включенном логировании входных и выходных данных.

INFO  r.v.s.c.a.t.impl.v1_3.WSTemplateImpl - Send request-request <Конверт сообщения>

Отправка запроса в СМЭВ

INFO  r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Get request-request <Конверт сообщения>

Отправка запроса на вычитку очереди запросов

INFO  r.v.s.c.a.t.impl.v1_3.WSTemplateImpl - Send response-request <Конверт сообщения>

Отправка ответа в СМЭВ

INFO  r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Get response-request <Конверт сообщения>

Отправка запроса на вычитку очереди ответов

INFO  r.r.s.a.i.s.i.r.AbstractReceiver - calling ack with messageId=a8f1bd50-c6e8-11ec-a42f-4f363b3fd82d

Отправка подтверждения получения сообщения

INFO  r.r.s.a.i.s.i.r.AbstractReceiver - ack done for a received message a8f1bd50-c6e8-11ec-a42f-4f363b3fd82d

Подтверждение сообщения осуществлено

В случае возникновения проблем в ходе отправки сообщения (напр., недоступности адреса) ИУА будет продолжать попытки отправить конверт. О чем будут свидетельствовать следующие записи:

INFO  r.r.s.a.c.d.DeliveryServiceImpl - called getRetryDeliveryLogRecords: maxRetryCount=4, retryIntervalSec=5

INFO  r.r.s.a.s.DeliveryLogProcessor - Send to retry record=DeliveryLog{id=a2d82cab-997f-8f0e-53f1-2cd39a378675, client_id=a2d82cab-997f-8f0e-53f1-2cd39a378675, message_id=null, reference_client_id=null, reference_message_id=null, isMnemonic=Test123, retry_msg_txt='93 bytes, is_message='null', smev_message='null', smev_response='null', stage='INNER', status='ERROR', message_type='REQUEST', direction='IS_2_SMEV', error_code='SYSTEM', stacktrace='9503 bytes', try_count=-1, created_at=2022-04-28T12:00:00.000, changed_at=2022-04-28T14:00:00.000}

где maxRetryCount и retryIntervalSec - значения, задаваемые в пунктах 6.2 и 6.3 соответственно настроек Гарантированной доставки в Конфигурации адаптера. По умолчанию гарантированная доставка включена. Если ее выключить, ИУА перестанет проверять неотправленные сообщения, и выше указанные записи будут отсутствовать.

Также в случае использования вложений могут быть полезны следующие записи:

INFO  r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - Begin download! (идентификатор сообщения, к которому относится вложение)

говорит о начале скачивания вложения из ФХ

INFO  r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - Begin upload! (идентификатор сообщения, к которому относится вложение)

говорит о начале загрузки вложения из ФХ


В случае возникновения ошибок в ходе работы ИУА они будут зафиксированы с категорией ERROR. Примеры наиболее распространённых ошибок с их описанием представлено в таблице 2.

Таблица 2. Примеры основных ошибок в логах ИУА.

ERROR r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Ошибка получения ответа

Получена статусная ошибка в GetResponseResponse. Далее в этой же записи фигурирует текст ошибки с конвертом самого сообщения. Подробнее о том, как расшифровать статусные сообщения и рекомендациях по исправлению тут (ссылка на «Возвращаемые ошибки СМЭВ»).

ERROR r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Ошибка получения запроса

Получена статусная ошибка в GetRequestResponse. Далее в этой же записи фигурирует текст ошибки с конвертом самого сообщения. Подробнее о том, как расшифровать статусные сообщения и рекомендациях по исправлению тут (ссылка на «Возвращаемые ошибки СМЭВ»).

ERROR r.r.s.a.i.w.i.SMEVServiceAdapterService - send failure: Недопустимый идентификатор Информационной системы: "Test112"

Ошибка при идентификации ИС. Необходимо убедиться, что мнемоника ИС-отправителя указана верно и добавлена в ИУА.

ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl – Мнемоника ИС receiveMessages from REQUEST failure: private key or certificate not set

Ошибка в ходе проверки открытой части сертификата. Подробнее об исправлении в описании ошибки.

ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl - Мнемоника ИС receiveMessages from RESPONSE failure: Возникли проблемы при инициализации XmlSec!

Не подложены файлы commons-logging-1.1.jar и xmlsec-1.4.5.jar в /usr/java/jre1.8.0_201/lib/ext

ERROR r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - connect to: "smev3-n0.test.gosuslugi.ru" failure: connect timed out

Ошибка в ходе подключения к ФХ.

FileException: Error while invoke upload files to FTP

Ошибка в ходе загрузки вложений. Необходимо убедиться в верности указанного адреса ФТП-сервера СМЭВ и его сетевой доступности с машины, на которой установлен ИУА (п.3.1 Конфигурации Адаптера).

ERROR r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - login failure: Login incorrect.

it.sauronsoftware.ftp4j.FTPException: Login incorrect.

Неверно указаны учетные данные для подключения к ФХ (п.7 Конфигурации информационной системы).

ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl - 1202 receiveMessages from RESPONSE failure: Не удалось инициализировать фабрику!

Рекомендуется переустановить КриптоПро JCP

ERROR Exception: Client receivedSOAP Fault from server: Ошибка системы генерации кодов транзакций!

Ошибка в обращении к системе генерации кодов транзакций (СГКТ). Необходимо убедиться в корректности используемого адреса в п.2.4 Конфигурации адаптера. С версии ИУА 2.2.0 обращение в СГКТ не обязательно, можно генерировать код транзакций самостоятельно.

ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl – Test123 receiveMessages from RESPONSE failure: Smev not available!

Недоступность среды СМЭВ – убедиться в корректности заполнения адресов в п.2 Конфигурации адаптера; восстановить сетевую доступность до конечных адресов.

Авторизуйтесь, чтобы оставить комментарий к статье