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. Запуск Агента проверок

Убедитесь, что пользователь {{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.4. Настройка ротации логов (опционально)

Во избежание переполнения диска лог-файлами, рекомендуется настроить ротацию лог-файлов 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 «номер процесса».