Инсталляция и настройка
Модуль lorain
Модуль десериализует пакет LORAWAN по входным данным Устройство, производитель
Установка в качестве демона линукс:
Создать директорию /opt/lorain и поместить в нее lorain.jar, application.yml, lorain.conf
mkdir /opt/lorain
cp sem-engine.jar /opt/lorain
cp application.yml /opt/lorain
cp lorain.conf /opt/lorain
Создать файл сервиса /etc/systemd/system/lorain.service следующего содержания:
[Unit]
Description=lorain
After=syslog.target
[Service]
User=root
Group=root
ExecStart=/opt/lorain/lorain.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
Перечитать список сервисов linux
systemctl daemon-reload
Запуск и остановку сервиса можно осуществлять стандартными командами, т.е.
service lorain start
service lorain status
service lorain stop
Если нужно добавить в автозапуск при рестарте, это делается так:
systemctl enable lorain
Ограничение памяти в качестве демона
Для установки лимитов памяти нужно создать (если его нет) в директории lorain.jar файл конфигурации lorain.conf и задать в нем нужные лимиты, например:
JAVA_OPTS="-Xms100m -Xmx200m"
Настройки
Настройки хранятся в файле application.yml.
Следует указать HTTP порт, на котором lorain будет обрабатывать запросы:
# порт http сервера
сфе server:
port: 8089
servlet:
context-path: /lorain
Настройки позволяют выбрать профиль логирования (console - вывод в консоль, file - вывод в файл).
spring:
profiles:
# console - вывод в консоль, file - вывод в файлы logs/logN с ротацией по размеру
active: console
Имеется возможность задать логирование какого-то конкретного компонента или класса, что удобно для отладки:
logging:
level:
root: INFO
Если модуль lorain подключается через Config Server, настройка может выглядеть так:
spring:
# наименование приложения, должно совпадать с именем папки в git-проекте
application:
name: lorain
# профили логирования, console - вывод в консоль, file - вывод в файл
profiles:
active: console
config:
import: optional:configserver:http://user:user@localhost:8888
cloud:
config:
fail-fast: true
label: develop
Модуль lora-gate
Установка в качестве службы systemd
Для регистрации в качестве systemd демона следует создать файл сервиса /etc/systemd/system/lora-gate.service следующего содержания:
[Unit]
Description=lora-gate
After=syslog.target
[Service]
User=sem
Group=sem
ExecStart=/opt/lora-gate/lora-gate.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
Автоматический запуск модуля (если требуется)
Если нужно добавить в автозапуск при рестарте:
systemctl enable lora-gate
Настройки
Настройки хранятся в файле application.yml.
Метрики производительности http://localhost:8027/metrics
# порт и контекст http сервера
server:
port: 8027
Настройки позволяют выбрать профиль логирования (console - вывод в консоль, file - вывод в файл).
spring:
profiles:
# console - вывод в консоль, file - вывод в файлы logs/logN с ротацией по размеру
active: console
Следует задать настройки подключения к рест-сервисам inspark
# подключение к рест-сервисам inspark (должен заканчиваться слэшем)
rest:
url: http://localhost:8080/sem-restservices/
user: user
password: password
Следует задать настройки подключения к брокеру сообщений inspark (используется artemis), url, user, password. Остальные настройки трогать не рекомендуется.
# параметры подключения к артемис inspark
artemis:
url: tcp://localhost:61616
user: artemis
password: artemis
# количество потоков в пуле для отправки JMS-сообщений
senderThreads: 8
# настройки очередей (см. имена свойств и дефолты в lib-gate)
queue:
measure:
destination: jms.queue.Measure
event:
destination: jms.queue.Event
extcommand:
destination: jms.queue.extCommand
concurrency: 8-8