Руководство по системному администрированию Platform V Exchange Rates#

Термины и сокращения#

Термин

Определение

API

Application programming interface — программный интерфейс приложения

OTT

One Time Token — одноразовый пароль

АС

Автоматизированная система

БД

База данных

Сценарии администрирования#

  • Администратору рекомендуется регулярно выполнять:

    • контроль состояния работы Platform V Exchange Rates;

    • мониторинг производительности Platform V Exchange Rates.

  • При выявлении нештатных ситуаций необходимо:

    • проверить работоспособность всех сервисов Platform V Exchange Rates;

    • проверить логи на наличие ошибок, возможно c помощью компонента Журналирование (LOGA) продукта Platform V Monitor (примеры логов представлены в разделе События системного журнала настоящего документа).

  • В рамках выполнения требований безопасной работы Platform V Exchange Rates Администратор выполняет следующие функции:

    • несет ответственность за качество проводимых им работ;

    • следит за сроками действия сертификатов.

Доступ к Platform V Exchange Rates имеют только те сотрудники, которым он необходим в соответствии с их должностными обязанностями. Доступ должен ограничиваться минимально необходимым объемом данных. Должны разделяться среды разработки, тестирования и эксплуатации, при этом, необходимо производить разделение обязанностей между разработчиками АС, тестирующим персоналом.

Специалисты, занимающиеся администрированием Platform V Exchange Rates, должны обладать следующими навыками:

  • развертывание и администрирование приложений в Wildfly;

  • работа с СУБД PostgreSQL.

Сценарии администрирования, выполняемые системными администраторами при установке дистрибутива, приведены в документе Руководство по установке Продукта Platform V Exchange Rates в разделе Установка.

Описание настроек#

В Platform V Exchange Rates настройки конфигурации выполняются через опциональный инструмент Platform V Configuration. Подробная инструкция по работе с Platform V Configuration представлена в документации Platform V Configuration в разделе Руководство оператора.

События системного журнала#

Для системного журнала применимы следующие уровни логирования:

  • FATAL — критические ошибки, при которых невозможна работа приложения.

  • Error — записываются сообщения обо всех ситуациях или событиях в приложении, которые считаются ошибочными:

    • ошибки вызова компонентов платформы;

    • ошибки интеграционных вызовов.

  • Warning — предупреждения.

  • Info — информация о работе приложения и текущем состоянии процессов.

  • Debug — подробности о работе приложения, позволяющие восстановить последовательность выполнения операций при обслуживании вызовов и вызовах внешних систем.

  • TRACE — подробные записи о действиях приложения. Нужны в исключительных случаях для отладки.

Все события попадают в платформенный журнал.

Описание событий error:

Класс

Сообщение

Причина возникновения

CachePersistenceImpl

cache {} is null

Возникает если кэш с нужным именем не найден

ObjectUtils

Возникла ошибка в момент парсинга объекта

Возникает если парсинг объекта произошел с ошибкой

ContextAvailabilityMonitor

Ошибка мониторинга

Возникает если при установке значения метрики для сервиса мониторинга произошла ошибка

ContextAvailabilityMonitor

Ошибка при проверке доступности БД ЕКПиТ ({})

Возникает при ошибках проверки доступности БД ЕКПиТ

ContextAvailabilityMonitor

Ошибка при проверке доступности БД Platform V Exchange Rates ({})

Возникает при ошибках проверки доступности БД Platform V Exchange Rates

OfficesCacheWarmer

cache {} is null

Возникает если кэш с нужным именем не найден

CompensationServiceImpl

При компенсации объектов произошла ошибка

Возникает при ошибках компенсации объектов

WarmUpCacheServiceImpl

Error in warming

Возникает при ошибках при разогреве кэшей с данными

RateRequestDaoHibernateImpl

segmentsIds are empty

Возникает, когда при подготовке sql запроса для поиска распоряжений передан пустой список ай ди сегментов

RateRequestDaoHibernateImpl

Сегментов нашлось больше, чем может поместиться в in условие запроса. Срочно обратитесь к разработчикам Platform V Exchange Rates. количество {} шт

Возникает, когда при подготовке sql запроса для поиска распоряжений передан список ай ди сегментов содержащий более 1000 записей

DataBasePropertyUtil

Ошибка при получении информации о СУБД

Возникает при попытке получения дополнительной информации из объекта connection о параметрах подключения к БД и результирующему набору, извлекаемому из БД

CurrencyAuditServiceImpl

Ошибка аудита

Возникает если при отправке события в аудит произошла ошибка

CurrencyRatesSaverServiceImpl

Ошибка сохранения курсов из Platform V Exchange Rates

Общая ошибка при неудачном сохранения курсов из Platform V Exchange Rates

CurrencyRatesSaverServiceImpl

Ошибка валидации входящего распоряжения

Возникает при ошибки валидации входящего распоряжения

CurrencyRatesSaverServiceImpl

Ошибка при сохранении входящего распоряжения

Общая ошибка при неудачном сохранении входящего распоряжения

CurrencyRatesSaverServiceImpl

Something is wrong with saving EOD price [unknown rquid] from PJ: %s

Общая ошибка происходит при неудачном сохранении сообщения

CurrencyRatesSaverServiceImpl

Ошибка обработки сообщения от Platform V Exchange Rates

Общая ошибка при проблемах с обработкой сообщения от Platform V Exchange Rates

CurrencyRatesSaverServiceImpl

Ошибка при сохранении входящего распоряжения

Общая ошибка возникает при ошибках сохранения распоряжение на сохранение курса ЮЛ от АС АРК

CurrencyRatesSaverServiceImpl

Ошибка обработки сообщения от Platform V Exchange Rates: {}

Возникает при ошибках сохранения Platform V Exchange Rates

CurrencyRatesSaverServiceImpl

Произошла ошибка при компенсации данных

Возникает если случаются ошибки при компенсации данных, начатой из-за ошибки при отправке сообщения в опциональный компонент Прикладной журнал продукта Platform V Data Tools

LegalRateServiceImpl

Все входные параметры обязательны и не могут быть пустыми

Возникает если какой либо параметр для поиска курсов пустой

ExrRateServiceImpl

Курс ЦБ для валюты %s отсутствует

Возникает если в БД не удалось найти курс ЦБ

ExrRateServiceImpl

Переданные валюты не найдены в справочнике %s

Возникает если в БД не удалось найти валюты по переданным кодам

IndividualRateServiceImpl

Все входные параметры обязательны и не могут быть пустыми

Возникает если какой либо параметр для поиска курсов пустой

IndividualRateServiceImpl

Подходящее распоряжение не найдено: [%s%s%s] - [{%s}] - [{%s}]

Возникает когда по текущим входным данным не найдено распоряжение в БД

IndividualRateServiceImpl

Модуль курса валют. Подходящее распоряжение не найдено: [%s%s%s] - [{%s}] - [{%s}]

Возникает когда переданы пустая коллекция распоряжений для поиска курсов валют

IndividualRateServiceImpl

Модуль курса валют. Распоряжение относится к курсам для мерных слитков. Rquid: %s

Возникает когда распоряжение не содержит курсов валют

IndividualRateServiceImpl

сообщение от исключения

Возникает если единица измерения не найдена

IndividualRateServiceImpl

Модуль курса валют. Отсутствует курс валют. Регион: %s; Региональное отделение: %s; ВСП: %s; тип валюты: %s; Код базовой валюты: %s

Ошибка возникает когда не удалось найти курс валют для заданных кодов

IndividualRateServiceImpl

Модуль курса валют. Отсутствует курс для металла. Регион: %s; Региональное отделение: %s; ВСП: %s; тип валюты: %s;Код металла: %s; Покупка: %s

Ошибка возникает когда не удалось найти курс для металла для заданных кодов

IndividualRateServiceImpl

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

Ошибка в методе подготовки курсов для распоряжений если не переданы выборочные распоряжения

ExchangeRatesForLegalEntitiesImpl

Отсутствует обязательный параметр [%s]

Возникает в методе для получения курсов ЮЛ при валидации запроса для курса ЮЛ в случае когда дата запроса отсутствует

ExchangeRatesForLegalEntitiesImpl

Отсутствует обязательный параметр [%s]

Возникает в методе для получения курсов ЮЛ при валидации запроса для курса ЮЛ в случае когда в запросе отсутствуют курсы

ExchangeRatesForLegalEntitiesImpl

Не поддерживаемый тип финансовых инструментов [%s]

Возникает в методе для получения курсов ЮЛ когда передан неизвестный тип инструмента

ExchangeRatesForLegalEntitiesImpl

{сообщение от пойманного исключения}

Возникает при пойманных исключениях во время выполнения запроса для курса ЮЛ

RatesXlsxImportFromResourceServiceImpl

Ошибка при импорте исторических данных {}

Возникает при импорте исторических данных когда статус ответа при сохранении курсов КФИ не равен статусу ОК

RatesXlsxImportFromResourceServiceImpl

Ошибка при импорте исторических данных {}

Возникает при импорте исторических данных когда во время сохранения курсов КФИ произошла ошибка

RatesXlsxImportFromResourceServiceImpl

Ошибка при импорте исторических данных. Отсутствует источник

Возникает при импорте исторических данных когда не удалось обнаружить источник с данным

RatesXlsxImportFromResourceServiceImpl

Ошибка при импорте исторических данных

Возникает при импорте исторических данных когда произошло что-то не так. Общая ошибка

Описание событий warning:

Класс

Сообщение

Причина возникновения

WarmUpCacheServiceImpl

Error in warming

При любом пойманном исключении при разогреве кэшей

RateRequestDaoHibernateImpl

запрос {} был уже изменен

Возникает в случае когда проверка номера версии или метки не выполнилась

RatesTypeDaoImpl

В запросе присутствуют взаимоисключающие даты

Происходит при получении ставки межбанковского кредитования, когда дата использования совпадает с датой публикации

RatesTypeDaoImpl

В запросе отсутствуют даты

Происходит при получении ставки межбанковского кредитования, когда дата использования и дата публикации переданы пустыми

RatesTypeDaoImpl

На указанные наименование [%s] и дату [%s] ставки отсутствуют

Возникает если не удалось найти ставку в БД для переданной даты запроса имени ставки

JsonServiceImpl

Не удалось сериализовать объект

Возникают при ошибках сериализации

CurrencyRatesSaverServiceImpl

Ошибка обработки сообщения от Platform V Exchange Rates: {}

Общая ошибка возникает при обработке сообщения-запроса для передачи курсов валют и курсов металлов

RateAveragesServiceImpl

Не найдены курсы ЦБ для валюты %s в интервале %s-%s

Возникает когда не удалось найти курсы ЦБ в указанный период дат

RateRequestMonitorServiceImpl

Ошибка сортировки списка распоряжений

Возникает при ошибка сортировки распоряжений

CurrencyRateFilterImpl

фильтрация использует неоптимальную версию

Возникает при ошибка в методе получения подходящего сегмента для запроса

SanitizedStringSerializer

Разные строки после санитайза. Было: {}, Стало {}

Происходит во время сериализации когда санитизированная строка не равна исходной строке

События мониторинга#

Все микросервисы продукта публикуют прикладные метрики стандартным для управляемой среды выполнения способом (через «сервис» prometheus). Прикладные метрики Platform V Exchange Rates.

Идентификатор метрики

Описание

currency-rates.availability

Метрика контроля доступности модуля currency-rates

currency-rates.health.db.main

Метрика контроля доступности базы данных для модуля currency-rates

currency-rates.health.db.si

Метрика контроля доступности базы данных для модуля currency-rates

currency-rates.health.db.ekpit.main

Метрика контроля доступности базы данных для модуля currency-rates

currency-rates.health.db.ekpit.si

Метрика контроля доступности базы данных для модуля currency-rates

currency-rates.version

Информация о версии модуля currency-rates

currency-rates.getRate

Метрика-таймер времени предоставления курса

currency-rates.saveRate

Метрика-таймер времени сохранения курсов

currency-rates.successfulApiCall

Количество успешных вызовов API КВ

currency-rates.failedApiCall

Количество неуспешных вызовов API КВ

Для времени выполнения метода также предоставляются данные, для построения гистограммы по процентному соотношению (для отсечек в 50%, 80%, 95% случаев). Кроме того отдельно регистрируются непредвиденные долгие и быстрые случаи выполнения методов (более 2 сек, и менее 5мс), а также отклонения от ожидаемого значения (100мс). Метрики по длительности выполнения одного из методов API, передаются в мониторинг, который производит их анализ.

Часто встречающиеся проблемы и пути их устранения#

В данном разделе собраны наиболее частые проблемы и описаны пути их устранения.

Проблема

Причина

Способ устранения

Загрузка конфигурационных элементов

Некорректная загрузка

Просмотреть логи на наличие ошибок

При накате скриптов Liquibase

Обратиться в команду разработки

При развертывании Продукта

Обратиться к администраторам Wildfly