SetAgent ◾️ Установка и настройка Ubuntu

Публичное пространство

SetAgent ◾️ Установка и настройка Ubuntu

 

Правила схемы лицензирования

  1. С одним SetID может быть установлен только один экземпляр службы. Не устанавливайте SetAgent на каждый сервер магазина или для каждого продукта.

  2. Не производите переустановку SetAgent с удалением его локальной БД или установку экземпляра на другую рабочую станцию. Такие действия приведут к остановке работы службы и к отказу выдаче лицензии. Для восстановления работы SetAgent обращайтесь в службу поддержки CSI.

  3. Переустановка лицензируемого продукта приведёт к изменению его GUID. Этому продукту будет выдана новая лицензия, если есть свободные. В противном случае, если номер устройства и привязка его к магазину остались теми же, то лицензия для предыдущей инсталляции высвободится через сутки. Если номер устройства и/или привязка к магазину изменились, то лицензия будет сохраняться за предыдущим экземпляром в течение 10-ти дней. Для досрочного высвобождения привязанных лицензий обращайтесь в службу поддержки CSI.

Логика взаимодействия

  1. Клиент лицензирования, интегрированный в продукты CSI, периодически отправляет запросы SetAgent'у по http-протоколу.

  2. Для разных продуктов существуют следующие виды запросов:

    1. получение лицензий на нужные продукту фичи;

    2. передача в SetAgent информации о продукте (версия, ИНН, тип кассы и прочее).

Требования к серверу

 

Процессор

ОЗУ (RAM)

Жесткий диск HDD

Процессор

ОЗУ (RAM)

Жесткий диск HDD

  • Core 2 Duo

  • i3 1 GHz

  • Atom 1 GHz

2 ГБ и более

  • Размер от 10 ГБ

  • Скорость диска 10 мегабайт в секунду

Oracle Java 8:

  • Для Windows — устанавливается вместе с SetAgent

  • Для Linux — устанавливается вместе с SetAgent

Порты:

  • 8089 - открыт на входящие и исходящие подключения во внутренней сети

  • 80 - открыт на входящие и исходящие подключения для связи с сервером лицензирования по адресу setlicense.crystals.ru

 

Установка и настройка

Откройте порты перед установкой SetAgent.

Linux (Ubutnu)

Установка SetAgent

1. Запустите для установки файл setagent.sh:

Выполните команду:

sudo sh ./setagent.sh
image-20241018-081847.png

 

2. В процессе установки будет предложено ввести идентификатор клиента SetID. Данный идентификатор предоставляется менеджером.

Введите идентификатор клиента SetID. 

SetID предоставляется менеджером.

image-20241018-081858.png

3. Дождитесь окончания процесса и статуса сообщения Extracting Set Agent files... OK.

image-20241018-082017.png

4. Запустите службу SetAgent, для этого выполните команду:

systemctl start setagent.service
image-20241018-082049.png

5. Перейдите в папку /opt/SetAgent/logs, содержащую лог-файлы установки и обновления SetAgent:

cd /opt/SetAgent/logs
image-20241018-082108.png

6. Наберите команду mc для запуска Midnight Commander.

image-20241018-082205.png

7. Откройте файл SetAgent.log клавишей F3.

image-20241018-082221.png

9. Найдите в файле лога событие SetAgent upgrade from, подтверждающее, что обновление началось.

Пример записи:

18.10 11:20:43.227 INFO  [ServerEngine] SetAgent upgrade from 1.0.4 to 1.0.17
image-20241018-082253.png

 

Если в лог-файле появилось событие вида Invalid answer token - обратитесь в службу поддержки CSI для сброса статуса SetID.

Пример записи:

28.07 15:00:10.069 ERROR [ServerEngine] Invalid answer token (Next try in 2 minutes) java.lang.Exception: Invalid answer token

После выполнения заявки службой поддержки и подтверждения сброса SetID перезапустите службу SetAgent и проверьте в логе наличие сообщения SetAgent upgrade from.

sudo systemctl restart setagent.service
image-20241028-133332.png

 

Команды управления службой

Команда

Описание

Команда

Описание

systemctl start setagent.service

Запуск службы

systemctl restart setagent.service

Перезапуск службы

systemctl stop setagent.service

Останов службы

systemctl status setagent.service

Просмотр состояния службы

Удаление

1. Перейдите в папку со службой:

cd /opt/SetAgent/
image-20241018-082706.png

2. Выполните команду для удаления → подтвердите удаление, введя символ y.

sudo sh ./uninstall.sh

После сообщения Removing Set Agent service...Done служба удалена.

image-20241018-082737.png

3. Удалите лог-файлы инсталлятора командами:

sudo rm -rf /tmp/install_sa.log sudo rm -rf /tmp/uninstall_sa.log

 

Конфигурация службы

Для того чтобы внести дополнительные настройки в конфигурацию службы, откройте для редактирования файл config.conf:

  • Linux: /opt/SetAgent/config.conf

Параметр

Значения

Параметр

Значения

logLevel

  • ALL - все уровни логирования

  • TRACE - вывод всех технических событий по работе службы

  • DEBUG - журналирование моментов вызова «крупных» операций. Старт/остановка потока, запрос пользователя и т.п

  • INFO - разовые операции, которые повторяются крайне редко, но не регулярно

  • WARN - неожиданные параметры вызова, странный формат запроса, использование дефолтных значений в замен не корректных. Вообще все, что может свидетельствовать о не штатном использовании.

  • ERROR - вывод ошибки в работе службы и места её окружения

  • FATAL - серьезные ошибки, которые привели с останову службы

  • OFF - отключить логирования

port

Номер порта для работы службы от 0 - 65536.

По умолчанию 8089

SetId

SetID предоставленный менеджером

 

Пример config.conf

# Настройки агента   logLevel=INFO port=8089   [default] SetId=00000000000012341234

Настройка лимитов файлов и потребления памяти

Кейс

При установке Set Agent на тот же сервер, где установлен Set Centrum, может возникнуть проблема технического характера при выдаче лицензий кассам:

  • В логе SetAgent возникают ошибки вида ERROR [ServerEngine] Too many open files и ERROR [ServerEngine] sendAgentStatistics error: HikariPool-1 - Connection is not available, request timed out after 30000ms

  • Кассы не могут получить лицензию, сообщают об отсутствии лицензии, не могут обновляться, не получают настройки с сервера по “Новой кассе“.

Порядок действий

1. Выполните команду для проверки существующих ограничений максимального количества открытых файлов для Set Agent:

cat /proc/$(pgrep -f "SetAgent.jar")/limits | fgrep 'Max open files'
image-20241018-094010.png

 

2. Выполните команду, чтобы проверить текущее потребление файловых дескрипторов процессами java, в том числе SetAgent:

for pid in `pidof java`; do echo "$(< /proc/$pid/cmdline)"; egrep 'files|Limit' /proc/$pid/limits; echo "Currently open files: $(sudo ls -1 /proc/$pid/fd | wc -l)"; echo; done
image-20241018-094320.png

3. Выполните команду для проверки настроек юнита в systemd для Set Agent:

cat /etc/systemd/system/setagent.service

 

По умолчанию сервис Set Agent запускается от имени пользователя root.

image-20241018-094354.png

 

4. Откройте на редактирование файл /etc/systemd/system/setagent.service 

5. Отредактируйте файл → сохраните изменения.

  • Отредактируйте следующие параметры:

    • ExecStart=/opt/SetAgent/jre/bin/java -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=6 -XX:NewRatio=3 -server -XX:MaxMetaspaceSize=50M -Xms128M -Xmx1024M -jar SetAgent.jar

    • User=jboss

  • Добавьте параметр LimitNOFILE=32768

6. Выполните команду для выдачи прав пользователю jboss на каталоги SetAgent

sudo chown -R jboss:users /opt/SetAgent
image-20241028-133408.png

 

7. Убедитесь, что права на файлы и каталоги соответствуют выводу:

ls -lh /opt/SetAgent
image-20241028-133712.png

8. Выполните команду для перезапуска службы SetAgent:

sudo systemctl daemon-reload sudo systemctl restart setagent
image-20241028-133807.png

 

10. Убедитесь, что настройки применились:

cat /proc/$(pgrep -f "SetAgent.jar")/limits | fgrep 'Max open files'

 

© 1994-2025, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных