6. Запуск модуля
6.1. Состав и содержание дистрибутивного пакета
Состав дистрибутива Агента проверок:
check-adapter-<version>.jar– исполняемый файл;application.yml– файл конфигурации Агента проверок;schema.sql– файл с описанием схемы базы данных, подлежащей проверке. Файл также содержит описание ограничений между таблицами.
6.2. Предварительные операции (установка «пре-реквизитов»)
Перед запуском Агента проверок выполните от имени root-пользователя (либо используя команду sudo) следующие действия:
Создайте пользователя {{user}} и группу {{user_group}}, под которым будет работать Агент проверок. Распакуйте дистрибутивный пакет в каталог
/distr/app.Добавьте в каталог
/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 «номер процесса».