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

Основные понятия#

В таблице приведены основные аббревиатуры и сокращения:

Аббревиатура, сокращение

Определение

АС

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

БД

База данных

BPMS

Business Process Management System. Система управления бизнес-процессами

RPC

Remote Procedure Call. Удаленный вызов процедур

В таблице приведены основные термины:

Термин

Определение

Вторая рука

Пользователь, осуществляющий функции по подтверждению обработки или подтверждению отклонения обработки ошибок в интерфейсе Продукта

Инцидент, отклонение, ошибка

Изменение, произошедшее во внешней или внутренней среде, зафиксированное в Продукте, факт возникновения которого повлек негативные последствия (материальные или нематериальные) для функционирования бизнес-процессов организации

Продукт

Компонент Устранение Сбойных Ситуаций (USSX) продукта Platform V Incident Manager (USS)

Platform V

Набор продуктов Platform V, правообладателем которых является АО «СберТех». Перечень таких продуктов обозначен в документации на конкретный продукт

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

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

Сценарии администрирования, выполняемые системным администратором при работе в административном интерфейсе, приведены в разделе Настройки администратора документа Руководство оператора.

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

  • контроль состояния работы Продукта;

  • мониторинг производительности Продукта;

  • контроль свободного места на жестких дисках всех серверов Продукта, а также в файловой системе.

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

  • проверить работоспособность всех сервисов Продукта;

  • проверить логи на наличие ошибок.

В рамках выполнения требований безопасной работы Продукта, администратор выполняет следующие функции:

  • осуществляет контроль использования средств защиты информации;

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

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

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

Доступ должен ограничиваться минимально необходимым объемом данных.

Должны разделяться среды разработки, тестирования и эксплуатации. При этом производится разделение обязанностей между разработчиками, тестирующим персоналом и сотрудниками, непосредственно эксплуатирующими уже введенный в промышленную эксплуатацию Продукт.

Особых рекомендаций по использованию средств защиты информации в Продукте не предусмотрены.

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

Просмотр системного журнала доступен в логах подов компонентов в среде контейнеризации Kubernetes или Red Hat OpenShift 4+ (опционально) и в UI компонента Журналирование (LOGA) продукта Platform V Monitor (OPM) при его включении (компонент является опциональным). Мониторинг доступен в случае инсталляции с включением компонента Объединенный мониторинг Unimon (MONA) продукта Platform V Monitor (OPM) (компонент является опциональным).

Справочники#

В Продукте поддерживаются следующие справочники:

  • Справочник Настройки для ошибок (DICTERRORSETTING).

Справочник содержит информацию по режиму запуска корректирующих сценариев и подтверждению второй рукой. В справочнике хранятся настроечные данные по обработке инцидента:

Наименование

Расшифровка

errorCode

Код ошибки

originSystemCode

Код АС

serviceCode

Код сервиса

operCode

Код операции

innerProcessName

Имя внутреннего процесса. DELAYED_CALL для автозапуска корректирующего сценария

bpmsProcessName

Имя сценария для запуска в BPMS

processingSLA

SLA по обработке ошибки (часы)

selectedCorrectiveServiceName

Корректирующий сценарий по умолчанию (техническое наименование)

delay

Задержка перед автозапуском корректирующего сценария (мс)

repeatCount

Количество повторов ошибочного шага / операции перед отправкой в Продукт

repeatInterval

Временной интервал между попытками повтора (секунды)

dictCorrectiveService

Ссылка на список корректирующих сценариев по ошибке из справочника Корректирующий сценарий

needApprove

Необходимость подтверждения второй рукой

  • Справочник Корректирующий сценарий (DICTCORRECTIVESUBPROCESS).

Справочник содержит список параметров корректирующих сценариев по данной ошибке (коду ошибки). Справочник привязан к справочнику Настройки для ошибок (DICTERRORSETTING). В справочнике хранятся параметры корректирующих сценариев:

Наименование

Расшифровка

code

Техническое наименование корректирующего сервиса

name

Имя корректирующего сценария, отображаемое пользователю

mmtModule

Ссылка для вызова корректирующего сценария по JSON-RPC

waitingTime

Время ожидания ответа от корректирующего сценария в мс. (по умолчанию 60 сек.)

  • Справочник Текст ошибки (ErrorText).

Справочник содержит тексты бизнес-описания ошибки:

  • errorCode — код ошибки;

  • serviceCode — код сервиса;

  • operCode — код операции;

  • errorMessage — текст ошибки.

Настройка вызова корректирующего сценария#

Корректирующий сценарий вызывается автоматически или пользователем вручную при обработке инцидента в интерфейсе Продукта.

Результат обработки инцидента корректирующим сценарием не возвращается из Продукта в АС-источник. Если по результатам отработки корректирующего сценария необходимо изменить статус экземпляра сервиса (операции) или уведомить АС-источник, то это должно быть реализовано в корректирующем сценарии.

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

  • В справочнике Настройки для ошибок (ErrorSetting) по коду ошибки errorCode и коду сервиса serviceCode указываются параметры:

    • innerProcessName — значение DELAYED_CALL;

    • selectedCorrectiveServiceName — техническое наименование (code) сценария из списка доступных сценариев в CorrectiveServices;

    • delay — значение по умолчанию 0 (без ожидания).

  • Список доступных сценариев по данной ошибке задается по коду ошибки errorCode и коду сервиса serviceCode в связанном справочнике Корректирующий сценарий (CorrectiveSubProcess). Указываются реквизиты каждого сценария.

Обновление сервиса#

Обновление сервиса осуществляется согласно документу Руководство по установке.

Регламентные работы / работы по восстановлению#

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

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

В Продукте реализован механизм логирования с использованием компонента Журналирование (LOGA) продукта Platform V Monitor (OPM).

Уровень логирования прописан в сущностях ConfigMap в среде контейнеризации Kubernetes или Red Hat OpenShift 4+ (опционально) с суффиксом в названии "-logback" и доступен для изменения администратору компонента.

Местонахождение событий системного журнала: /mnt/logs/application.log.

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

  • ERROR:

    • Любые ошибки вызова сервисов Platform V, кроме отправки метрик в Продукт.

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

    Пример кода:

    logger.error("Error during FieldLengthCache initialization", e);
    

    Пример сообщения:

    16:40:51,640 INFO  [stdout] (transport-[16H29M59S52385]-[error-processor]-[rejecting]-request-processing-[error-processor]-thread-0) [transport-[16H29M59S52385]-[error-processor]-[rejecting]-request-processing-[error-processor]-thread-0] ERROR [FieldLengthCache:init:116] - Error during FieldLengthCache initializationjava.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
    
  • WARNING:

    • Ошибки отправки метрик в Продукт.

    • Любые некритичные ошибки, кроме ошибок отправки метрик.

    Пример кода:

    logger.warn("OperDay value contain time: {}. Truncation performed.", rawOperDay);
    

    Пример сообщения:

    16:40:51,613 INFO  [stdout] (transport-[16H29M59S52385]-[error-processor]-[rejecting]-request-processing-[error-processor]-thread-0) [transport-[16H29M59S52385]-[error-processor]-[rejecting]-request-processing-[error-processor]-thread-0] WARN  [UssServiceImpl:fillErrorInfoCommonFieldsFromMmtDto:972] - OperDay value contain time: Thu Jun 02 16:40:51 MSK 2022. Truncation performed
    
  • INFO: сообщения о вызове и возврате из вызова интеграционного адаптера.

    Пример кода:

    logger.info("DictUssSettingsCache инвалидация кэша");
    

    Пример сообщения:

    17:17:03,157 INFO  [stdout] (pool-294-thread-1) [pool-294-thread-1] INFO  [DictUssSettingsDao:reloadCache:100] - DictUssSettingsCache инвалидация кэша
    
  • DEBUG:

    • Все входные и выходные параметры операций сервисов.

    • Все входные и выходные параметры вызовов интеграционных адаптеров.

    Пример кода:

    logger.debug("Полный состав пришедших значений: " + errorInfoMmt.toString());
    

    Пример сообщения:

    16:40:51,643 INFO  [stdout] (transport-[16H29M59S52385]-[error-processor]-[rejecting]-request-processing-[error-processor]-thread-0) Полный состав пришедших значений: innerProcessName=<значение>, bpmsProcessName=null, dateTime=Thu Jun 02 16:40:51 MSK 2022, timeZone=USS_UNKNOWN, operDay=Thu Jun 02 16:40:51 MSK 2022, serviceId=<значение>, serviceCode=USS_UNKNOWN, serviceName=USS_UNKNOWN, subprocessId=<значение>, subprocessCode=<значение>, subprocessName=<значение>, operId=<значение>, operCode=<значение>, operName=<значение>, moduleFrom=USS_UNKNOWN, clientName=<значение>, clientId=<значение>, errorCode=USS_UNKNOWN, errorTechnoInfo=USS_UNKNOWN, errorBusinessInfo=USS_UNKNOWN, productTypeCode=<значение>, needApprovefalse, tb=<значение>, osb=<значение>, vsp=<значение>, selectedCorrectiveServiceName=null
    

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

В Продукте реализован мониторинг событий с использованием компонента Объединенный мониторинг Unimon (MONA) продукта Platform V Monitor (OPM).

Метрики компонента Объединенный мониторинг Unimon (MONA) продукта Platform V Monitor (OPM) приведены в таблице ниже.

Название метрики

Точка мониторинга

Тип метрики

Название сервиса

uss.take_to_process_stopwatch

Время взятия инцидента в работу в Продукте

Состояние

App-api

uss.availability

Доступность Продукта

Состояние

App-api

uss.standin_receive_stopwatch

Время обработки вызова компонента Прикладной Журнал (APLJ) продукта Platform V Backend (#BD)

Состояние

App-api

error-processor.counter_error_1

Счетчик ошибок

Состояние

App-api

error-processor.counter_error_1.errors

Счетчик инцидентов в Технологическом сервисе Продукта в разрезе Тип сервиса-Сервис-Код ошибки

Состояние

App-api

error-processor.summary_error_counter

Общий счетчик инцидентов в Технологическом сервисе Продукта

Состояние

App-api

error-processor.initiate_process_stopwatch

Время сохранения нового инцидента в Технологическом сервисе Продукта

Состояние

App-api

error-processor.primary.db.availability

Доступность основного источника данных Продукта

Состояние

App-api

error-processor.availability

Доступность модуля Технологический сервис Продукта

Состояние

App-api

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

Продукт использует репликатор для обеспечения безотказного функционирования рабочего состояния БД в случае сбоев или отказов.

Проблема:

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

Решение:

При большом потоке / нагрузке можно ограничить поток входящих инцидентов через настройки Продукта: Настройки администратора → Балансировка входящих.