Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Для работы WNAM Radar QoW на ваших собственных вычислительных мощностях (on-premises, не в облаке) вам необходимо подготовить соответствующую инфраструктуру. Понадобится виртуальная или физическая машина с ОС Linux.

Рекомендуемые аппаратные характеристики сервера в зависимости от ожидаемой нагрузки:

Тип инсталляцииCPURAMHDDКомментарий
Минимальная (до 3 сенсоров и до 20 точек доступа)2850
Стандартная (до 10 сенсоров и до 100 точек доступа)41650+50Второй дисковый раздел: типа SSD, файловая система xfs


Большая (до 100 сенсоров и до 1000 точек доступа)

2850Сервер Proxy+MQTT
41650Сервер приложения QoW
416100Сервер базы данных, диск типа SSD, файловая система xfs

Для системных нужд достаточно диска стандартной производительности (типа SATA).WNAM Radar требует

Выбор операционной системы

Рекомендуется использовать тот дистрибутив Линукса, с которым у вас больше опыта. WNAM QoW может работать на любом дистрибутиве, при наличии в его составе необходимых пакетов. Мы рекомендуем использовать Debian последнего поколения (релизы 10 или 11).

Работа под Windows также возможна при условии самостоятельной настройки вами необходимых системных пакетов (брокера MQTT, nginx, mongodb, авто-запуска приложения qow).

WNAM QoW требует следующих системных компонентов:

  • HTTP прокси-сервера nginx для работы веб-интерфейса
  • виртуальной машины Java версии 1.8 для работы приложения сервера, который называется qos-server
  • базы данных MongoDB версии 4.2 4 или выше
  • Брокера MQTT, mosquitto

Вы можете установить все эти компоненты на одном сервере, а можете установить и на разных, в том числе в кластерной конфигурации. Минимальные настройки приведены далее.

Установка

...

Java 

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
apt install adoptopenjdk-8-hotspot

вы также можете установить Java JRE из штатного пакета вашего дистрибутива.

Установка фронт-прокси сервера 

apt-get install nginx

Отредактируйте конфигурационный файл /etc/nginx/sites-available/qow:

server {
listen 80;
 access_log /var/log/nginx/access.log;
 location / { 
  proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 120;
proxy_connect_timeout 120;
}

Если вы имеете SSL сертификат (купленный, или от Let's Encrypt) и хотите использовать сервер WNAM QoW так, чтобы он был доступен вам по протоколу HTTPS, используйте следующую конфигурацию:

server {
listen 80 default_server;
return 301 https://$server_name$request_uri;
server_name имя_вашего_сервера;
}
server {
listen 443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/имя_вашего_сервера/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/имя_вашего_сервера/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
root /var/www/html;
index index.html;
server_name имя_вашего_сервера;
location / { 
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120;
proxy_connect_timeout 120;
}
}

не забудьте сгенерировать файл dhparams:

openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096

Затем создайте ссылку: 

cd /etc/nginx/sites-enabled
ln -s ../sites-available/qow qow

Обязательно удалите /etc/nginx/sites-enabled/default :

rm /etc/nginx/sites-enabled/default

Проверьте правильность конфигурационного файла через: 

nginx -t

Перезапустите сервис:

service nginx restart

Установка брокера MQTT

apt-get install nginx mosquittomosquitto mosquitto-clients

Отредактируйте конфигурационные файлы /etc/mosquitto/mosquitto.conf :

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d


и /etc/mosquitto/conf.d/qow.conf :

port 1883

listener 8883
cafile /etc/mosquitto/ca_certificates/qow-ca.crt
certfile /etc/mosquitto/certs/qow-server.crt
keyfile /etc/mosquitto/certs/qow-server.key
tls_version tlsv1.2

Файлы qow-server.crt и qow-server.key вы можете запросить на support@netams.com

Перезапустите службу: systemctl restart mosquitto.service и проверьте лог-файл  /var/log/mosquitto/mosquitto.log

Установка MongoDB

Внимание! Работа с MongoDB версий 3.х и 5.х не поддерживается!

Вы можете воcпользоваться инструкцией с сайта производителя: https://docs.mongodb.com/v4.4/administration/install-on-linux/

wgetwget -qO - https://www.mongodb.org/static/pgp/server-4.24.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.24 main" | tee /etc/apt/sources.list.d/mongodb-org-4.24.list
apt-get update 
apt-get install -y mongodb-org
systemctl unmask mongod
systemctl enable mongod
systemctl start mongod

Создания служебного пользователя и установка приложения QoW

useradd -m -U -s /bin/false radarqow
mv qos-server.jar /home/radarqow
chmod +x /home/radarqow/qos-server.jar
chown radarqow:radarqow /home/radarqow/qos-server.jar

В файл /etc/systemd/system/qos-server.service помещаем поместите конфигурацию авто-запуска:

[Unit]
Description=WNAM QoS Server Service

[Service]
WorkingDirectory=/home/radarqow
ExecStart=/usr/bin/java -jar -Dspring.profiles.active=qos -Dspring.config.location=/home/radarqow/application.properties /home/radarqow/qos-server.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
User=radarqow
Group=radarqow

StandardOutput=file://home/qow/logs/console.log

[Install]
WantedBy=multi-user.target

Делаем ссылки на Включите авто-запуск:

systemctl enable qos-server

В файл /home/radarqow/application.properties помещаем поместите следующие настройки:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=radar
spring.mvc.locale=ru_RU
spring.mvc.locale-resolver=fixedapplication.name=WNAM QoS Server
server.use-forward-headers=true
server.tomcat.protocol-header=x-forwarded-proto
server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.basedir=.
server.port=8080
server.address=127.0.0.1
server.servlet.session.timeout=300m

netams.createDefaultAdmin=true
netams.serverUri=https://имя_вашего_сервера

ya.apiKey=880c9fc2-78c7-46c5-9457-8dbb5eac419d
ya.auth.clientSecret=секрет
ya.auth.clientId=айдиqos.stomp.sockjs=false
qos.db.init=true
qos.radar.silent=false
ya.api.key=
ya.client.secret=
ya.client.id=
ya.auth.callback=https://имявашегосервераимя_вашего_сервера/ya/auth/callback
qosya.notificationslocator.enabled=truespring.mail.host=smtp.gmail.comapiKey=AHqZql8BAAAA09JiAwIA1G7QasD2nDWlgY2PiEEozTaXlIIAAAAAAAAAAAARAi0kd2og83NEZIGkvj0pFHfBkw==

spring.mail.port=587
spring.mail.username=USERNAMEdata.mongodb.database=qow

spring.mail.password=PASSWORDhost=имя_вашего_почтового_сервера
spring.mail.properties.mail.smtp.auth=true
springport=25
netams.mail.properties.mail.smtp.starttls.enable=true

qos.sms.provider=dummy
qos.sms.smsc.login=login
qos.sms.smsc.password=password

from=admin@имя_вашего_сервера

netams.mqtt.serverUriqos.mqtt.server_uri=tcp://127.0.0.1localhost:1883qos

netams.mqtt.client_idclientId=wnamradarserverqow
qosnetams.mqtt.venueremoteToken=wnamsnasjdfhasjkdflasdlkasdkjlasdgf
qosnetams.mla.port=20003

qos.remote.token=ldsmgkalsgjklsdfgjsdklghj

licenseKey=ваш_лицензионный_ключ
netams.deviceType=qos


ЗапуститеЗапускаем:

systemctl start qos-server
systemctl status qos-server

Смотрим в Проверьте лог-файл /home/radarqow/qos.log

Открываем Попробуйте открыть веб-интерфейс сервера по http://имясервера/ или https:8000//имясервера/

Логин и пароль по умолчанию: admin

...