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

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

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

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

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

  1. Клиент лицензирования, интегрированный в продукты CSI, периодически отправляет запросы SetAgent'у по http-протоколу.
  2. Для разных продуктов существуют следующие виды запросов:
    1. получение лицензий на нужные продукту фичи;
    2. передача в SetAgent информации о продукте (версия, ИНН, тип кассы и прочее).

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

ПроцессорОЗУ (RAM)Жесткий диск HDD
  • Core 2 Duo
  • i3 1 GHz
  • Atom 1 GHz
2 ГБ и более
  • Размер от 10 ГБ
  • Скорость диска 10 мегабайт в секунду

Oracle Java 8:

  • Для Windows — устанавливается вместе с SetAgent
  • Для Linux — требуется установить отдельно

Порты:

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

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

Windows

Установка SetAgent

1. Запустите файл инсталлятора SetAgent-1.0.exe с правами администратора.

2. Нажмите Далее.

3. Выберите путь для установки и нажмите Далее.

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

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

5. Нажмите Установить.

6. Дождитесь окончания установки.

7. Нажмите Завершить.

8. Проверьте оснастку служб, что она отображается в списке.

9. Откройте файл {Путь установки}\SetAgent\logs\SetAgent.log

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

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

28.07 17:16:12.707 INFO  [ServerEngine]	SetAgent upgrade from 1.0.4 to 1.0.17


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

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

09.06 13:48:24.255 ERROR [ServerEngine]	Invalid answer token (Next try in 1 minutes)
java.lang.Exception: Invalid answer token

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

Удаление

1. Запустите файл unis000.exe в папке со службой.

2. Нажмите Yes и дождитесь окончания процесса.


Linux

Установка SetAgent

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

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

sh ./setagent.sh

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

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

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

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

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

systemctl start setagent.service

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

cd /opt/SetAgent/logs

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

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

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

 

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

20.07 16:33:04.228 INFO  [ServerEngine]	SetAgent upgrade from 1.0.4 to 1.0.17

Если в логе найдено событие вида 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“.

systemctl restart setagent.service


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

КомандаОписание
systemctl start setagent.serviceЗапуск службы
systemctl restart setagent.serviceПерезапуск службы
systemctl stop setagent.serviceОстанов службы
systemctl status setagent.service

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

Удаление

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

cd /opt/SetAgent/

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

sh ./uninstall.sh

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

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

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

  • Windows: {Путь установки}\SetAgent\config.conf
  • Linux: /opt/SetAgent/config.conf
ПараметрЗначения
logLevel
  • ALL - все уровни логирования
  • TRACE - вывод всех технических событий по работе службы
  • DEBUGжурналирование моментов вызова «крупных» операций. Старт/остановка потока, запрос пользователя и т.п
  • INFOразовые операции, которые повторяются крайне редко, но не регулярно
  • WARNнеожиданные параметры вызова, странный формат запроса, использование дефолтных значений в замен не корректных. Вообще все, что может свидетельствовать о не штатном использовании.
  • ERROR - вывод ошибки в работе службы и места её окружения
  • FATAL - серьезные ошибки, которые привели с останову службы
  • OFF - отключить логирования
port

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

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

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


Пример 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'

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

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

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

cat /etc/systemd/system/setagent.service

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

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

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

ls -lh /opt/SetAgent

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

systemctl daemon-reload
systemctl restart setagent

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

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


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

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