6. Запуск модуля

6.1. Состав и содержание дистрибутивного пакета

Состав дистрибутива Агента проверок:

  • check-adapter-<version>.jar – исполняемый файл;

  • application.yml – файл конфигурации Агента проверок;

  • schema.sql – файл с описанием схемы базы данных, подлежащей проверке. Файл также содержит описание ограничений между таблицами.

6.2. Предварительные операции (установка «пре-реквизитов»)

Перед запуском Агента проверок выполните от имени root-пользователя (либо используя команду sudo) следующие действия:

  1. Создайте пользователя {{user}} и группу {{user_group}}, под которым будет работать Агент проверок. Распакуйте дистрибутивный пакет в каталог /distr/app.

  2. Добавьте в каталог /distr/app конфигурационный файл application.yml, подготовленный согласно описанию Раздел 2.2.2.1.

3. Добавьте в каталог /distr/app конфигурационный файл schema.sql, (имя файла должно соответствовать имени схемы, подлежащей проверке) подготовленный согласно описанию Раздел 2.2.2.3.

6.3. Предусловия выполнения первого запуска Агента проверок версии 2.7.0

  1. Проверьте версию Prostore

    Для хранения персистентных данных новой версии Агента проверок требуется Prostore версии 7.6 и выше

  2. Проверьте тип подключенных датасорсов Prostore:

Данные персистентности хранятся в snapshot-таблицах Prostore, которые поддерживаются только в ADP

  • Если все имеющиеся датасорсы с типом ADP, перейдите к следующему шагу.

  • Если нет ни одного ADP-датасорса, то разверните СУБД PostgreSQL и настройте подключение к Prostore.

  • Если имеются и ADP, и датасорсы других типов, то в конфигурационном файле Агента проверок задайте перечень наименований ADP-датасорсов, используемых для обеспечения персистентности.

  1. Перезапустите Агент проверок.

В случае наличия в логах ошибок миграции, устраните возможные причины и повторите запуск Агента проверок.

6.4. Запуск Агента проверок

Убедитесь, что пользователь {{user}} имеет доступ к директории, в которой установлен Агент проверок (/distr/app).

Пример раздела конфигурации скрипта для запуска Агента проверок с использованием сервиса systemd.

Данный файл, с названием dqf-check-adapter.service, необходимо сохранить в каталог /etc/systemd/system/, указав, при необходимости, корректные пути к файлам:

[Unit]
Description="Check-adapter-dqf-service"
After=syslog.target

[Service]
Type=simple

WorkingDirectory=/distr/app
LimitNOFILE=1048576:1048576

User={{user}}          # указать пользователя
Group={{user_group}}   # указать группу

Environment="JAVA_HOME=/usr/lib/jdk/jdk-17.0.7"
ExecStart=/usr/lib/jdk/jdk-17.0.7/bin/java
      -XX:+FlightRecorder
      -XX:+UseZGC
      -XX:MaxRAMPercentage=80.0
      -XX:+UseContainerSupport
      -XX:+ExplicitGCInvokesConcurrent
      -XX:+HeapDumpOnOutOfMemoryError
      -XX:HeapDumpPath=./heapdump.hprof
      -Dlog4j.configurationFile=./conf/logback.xml
      -Duser.language=ru
      -Dfile.encoding=UTF-8
      -Dcatalina.base=/distr/app
      -jar /distr/app/check-adapter.jar
      --spring.config.location=/distr/app/application.yml

[Install]
WantedBy=multi-user.target

Далее от имени root-пользователя или используя sudo выполните команду по включению, запуску сервиса и проверке его статуса:

sudo systemctl daemon-reload
sudo systemctl enable dqf-check-adapter
sudo systemctl start dqf-check-adapter
sudo systemctl -l status dqf-check-adapter

6.5. Настройка ротации логов (опционально)

Во избежание переполнения диска лог-файлами, рекомендуется настроить ротацию лог-файлов systemd сервиса.

Настройка логирования осуществляется с помощью файлов конфигурации logrotate и systemd сервиса.

Если этих файлов не существует, их необходимо создать.

Установите пакет logrotate, для rpm-base дистрибутивов выполните команду:

sudo yum install logrotate

Добавьте в файл systemd сервиса (/etc/systemd/system/dqf-check-adapter.service) следующие настройки логирования:

...
[Service]
Type=simple

StandardOutput=append:/var/log/{{ file_name }}
StandardError=append:/var/log/{{ file_name }}

...

Создайте файл конфигурации logrorate (поместить файл в /etc/logrotate.cron/dqf-check-adapter.conf) и поместите в него следующие строки:

/var/log/{{ file_name }} {
   rotate {{ rotate }}
   size {{ file_size }}
   create
   nocompress
   copytruncate
}

где:

  • rotate – какое количество лог файлов оставлять;

  • file_size – размер лог-файла при котором будет происходить ротация.

Создайте файл со скриптом запуска утилиты logrotate, поместите скрипт по пути /etc/logrotate.cron/datasteward_logrotate.sh.

7. Остановка модуля

Для ручной остановки необходимо подключиться по ssh к серверу, найти процесс, который содержит jar-файл и остановить его.

Пример:

ps aux | grep   check-adapter
kill <pid>

kill «номер процесса».