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. Предусловия выполнения первого запуска Агента проверок версии 2.7.0
Проверьте версию Prostore
Для хранения персистентных данных новой версии Агента проверок требуется Prostore версии 7.6 и выше
Проверьте тип подключенных датасорсов Prostore:
Данные персистентности хранятся в snapshot-таблицах Prostore, которые поддерживаются только в ADP
Если все имеющиеся датасорсы с типом ADP, перейдите к следующему шагу.
Если нет ни одного ADP-датасорса, то разверните СУБД PostgreSQL и настройте подключение к Prostore.
Если имеются и ADP, и датасорсы других типов, то в конфигурационном файле Агента проверок задайте перечень наименований ADP-датасорсов, используемых для обеспечения персистентности.
Перезапустите Агент проверок.
В случае наличия в логах ошибок миграции, устраните возможные причины и повторите запуск Агента проверок.
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 «номер процесса».