Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Общее описание

С версии SoftWLC 1.24 возможен запуск сервиса eltex-radius-nbi в контейнере.

При запуске сервиса в контейнере надо учитывать, что доступ к БД Mysql и MongoDB потребуется разрешить с любого адреса. Так же потребуется переопределить настройки проксирующего сервиса nginx.

Подготовка окружения

Разрешить доступ к БД

Mysql

Чтобы разрешить доступ до БД  с любого адреса:

  • закомментировать параметр bind-address в /etc/mysql/mysql.conf.d/mysqld.cnf
  • перезапустить сервис mysql
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak
sudo sed -i -e "s/\(bind-address.*=.*\)/#\1/" /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql.service

Добавить права для доступа к БД:

GRANT ALL ON Syslog.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON eltex_alert.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON eltex_auth_service.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON eltex_ems.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON eltex_ont.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON wireless.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON radius.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
GRANT ALL ON ELTEX_PORTAL.* TO 'javauser'@'%' IDENTIFIED BY 'javapassword';
FLUSH PRIVILEGES;

MongoDB

Чтобы разрешить доступ до БД  с любого адреса:

  • можно указать bindIp: 0.0.0.0 в /etc/mongod.conf
  • перезапустить сервис mongod

sudo cp /etc/mongod.conf /etc/mongod.conf.bak
sudo sed -i -e "s/\(.*bindIp:\)\(.*\)/#\1\2\n\1 0.0.0.0/g" /etc/mongod.conf
sudo systemctl restart mongod.service

Файлы конфигурации 

Для запуска сервиса требуется создать папку для запуска контейнера и в ней подготовить файлы с переменными окружения ".env", "eltex-radius-nbi.env" и файл конфигурации для запуска сервиса с помощью docker-compose "docker-compose.yaml"

docker-compose.yaml
version: '3'
 
services:
  eltex-radius-nbi:
    image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
    ports:
      - "8081:8080/tcp"
      - "9010:9010/tcp"
    hostname: NbiDocker
    env_file: eltex-radius-nbi.env
    environment:
      - TZ=${TZ}
    volumes:
      - eltex-radius-ca:/var/lib/eltex-radius-nbi
    
    restart: unless-stopped
 
volumes:
  eltex-radius-ca:
.env
# Публичный docker registry: hub.eltex-co.ru/softwlc
ELTEX_HUB=hub.eltex-co.ru/softwlc
 
# Версия сервиса
SWLC_VERSION=1.24-latest

Параметры окружения в файле "eltex-radius-nbi.env"  приведены исходя из дефолтных настроек конфигурации eltex-radius-nbi, которые находятся в файле "/etc/eltex-radius-nbi/radius_nbi_config.txt" за исключением IP-адресов, которые после запуска сервиса в контейнере не смогут быть доступны через localhost. Если выполняется переход на запуск "eltex-radius-nbi" в контейнере - необходимо перенести значения параметров из файла конфигурации, которые были изменены и отличаются от дефолтных.

eltex-radius-nbi.env
#Set maximum Java heap size, remove comment to use
#CATALINA_OPTS=-Xmx1024m

# DB  radius(alias=radius)
RADIUS_JDBC_DBURL=jdbc:mysql://<IP-адрес Mysql>/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
RADIUS_JDBC_USERNAME=javauser
RADIUS_JDBC_PASSWORD=javapassword
RADIUS_JDBC_MAXPOOLSIZE=48
RADIUS_JDBC_INUSE=yes

# DB  radius replica(alias=radiusReplicaPool)
RADIUS_JDBC_REPLICA_DBURL=jdbc:mysql://<IP-адрес Mysql>/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
RADIUS_JDBC_REPLICA_USERNAME=javauser
RADIUS_JDBC_REPLICA_PASSWORD=javapassword
RADIUS_JDBC_REPLICA_MAXPOOLSIZE=48
RADIUS_JDBC_REPLICA_INUSE=yes
 
# DB ems(alias=ems)
EMS_JDBC_DBURL=jdbc:mysql://<IP-адрес Mysql>/eltex_ems?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true
EMS_JDBC_USERNAME=javauser
EMS_JDBC_PASSWORD=javapassword
EMS_JDBC_MAXPOOLSIZE=48
EMS_JDBC_INUSE=yes
 
# DB  wireless (alias=wireless)
WIRELESS_JDBC_DBURL=jdbc:mysql://<IP-адрес Mysql>/wireless?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
WIRELESS_JDBC_USERNAME=javauser
WIRELESS_JDBC_PASSWORD=javapassword
WIRELESS_JDBC_MAXPOOLSIZE=48
WIRELESS_JDBC_INUSE=yes
 
# DB logs (alias=logs)
LOGS_JDBC_DBURL=jdbc:mysql://<IP-адрес Mysql>/eltex_alert?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
LOGS_JDBC_USERNAME=javauser
LOGS_JDBC_PASSWORD=javapassword
LOGS_JDBC_MAXPOOLSIZE=48
LOGS_JDBC_INUSE=yes
 
# DB logs (alias=eltex_auth_service)
ELTEX_AUTH_SERVICE_JDBC_DBURL=jdbc:mysql://<IP-адрес Mysql>/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
ELTEX_AUTH_SERVICE_JDBC_USERNAME=javauser
ELTEX_AUTH_SERVICE_JDBC_PASSWORD=javapassword
ELTEX_AUTH_SERVICE_JDBC_MAXPOOLSIZE=48
ELTEX_AUTH_SERVICE_JDBC_INUSE=yes

# EMS-northbound
EMS_NBI_HOST=<IP-адрес сервера EMS>
EMS_NBI_PORT=8080
EMS_NBI_PATH=northbound
EMS_NBI_PROTOCOL=http

#Tomcat URL
TOMCAT_HOST=<IP-адрес eltex-radius-nbi>
TOMCAT_PORT=<Порт eltex-radius-nbi>

# pcrf stuff
PCRF_ENABLED=true
PCRF_URL=http://<IP-адрес Eltex-PCRF>:7070
PCRF_USERNAME=admin
PCRF_PASSWORD=password
PCRF_READTIMEOUT=11
PCRF_WRITETIMEOUT=11
 
# pcrf mongodb connector
PCRF_MONGODB_ENABLED=true
PCRF_MONGODB_URI=mongodb://<IP-адрес MongoDB>:27017/pcrf
 
# wifi-customer-cab mongodb connector
WIFICAB_MONGODB_ENABLED=true
WIFICAB_MONGODB_URI=mongodb://<IP-адрес MongoDB>:27017/wifi-customer-cab
 
# Eltex.SORM2.replicator MongoDB 'sorm2' connect
SORM2_MONGODB_ENABLED=true
SORM2_MONGODB_URI=mongodb://<IP-адрес MongoDB>:27017/sorm2
 
# wifi-customer-cab request settings
WIFICAB_TIMEOUT=90000
 
# Eltex.SORM2.replicator host to use API
SORM2_ENABLED=false
SORM2_URL=http://<IP-адрес eltex-sorm-replicator>:7071
SORM2_USERNAME=admin
SORM2_PASSWORD=password
 
#It enables records export to SORM3 while editing wifi users
SORM3_ENABLED=false
 
# ott mongodb connector
OTT_MONGODB_ENABLED=false
OTT_MONGODB_URI=mongodb://<IP-адрес MongoDB>:27017/ott

# metrics
METRIC_PORT=9010

# SSO settings
SSO_ENABLED=false
#the client secret settings only matter when "provider=rtk"
SSO_CLIENTSECRET=
#the client ID settings only matter when "provider=rtk"
SSO_CLIENTID=

# SSO REST
SSO_REST_SERVER_PROTOCOL=http
SSO_REST_SERVER_ADDRESS=
SSO_REST_SERVER_PORT=80
SSO_REST_SERVER_TIMEOUT_SEC=10
# possible value for provider are "rtk", "keycloak"
SSO_REST_PROTOCOL_PROVIDER=rtk
#the version settings only matter when "provider=rtk"
SSO_REST_PROTOCOL_VERSION=2.0
#the username settings only matter when "provider=rtk"
SSO_REST_USERNAME=
#the password settings only matter when "provider=rtk"
SSO_REST_PASSWORD=

SSO_REST_GETTOKEN_PATH=/apiman-gateway/b2b_test/getToken
SSO_REST_GETUSERINFO_PATH=/apiman-gateway/b2b_test/getUserInfo

#the least below sso settings only matter when "provider=rtk"
SSO_REST_ADDUSER_PATH=/apiman-gateway/b2b_test/addUser
SSO_REST_UPDATEUSER_PATH=/apiman-gateway/b2b_test/updateUser
SSO_REST_DELUSER_PATH=/apiman-gateway/b2b_test/delUser
SSO_REST_ADDUSERPARAM_PATH=/apiman-gateway/b2b_test/addUserParam
SSO_REST_DELUSERPARAM_PATH=/apiman-gateway/b2b_test/delUserParam
SSO_REST_GETUSERBYNAME_PATH=/apiman-gateway/b2b_test/getUserByName
SSO_REST_GETUSERBYEMAIL_PATH=/apiman-gateway/b2b_test/getUserByEmail
SSO_REST_RESETPASSWORD_PATH=/apiman-gateway/b2b_test/resetPassword
SSO_REST_GETUSERBYPARAM_PATH=/apiman-gateway/b2b_test/getUserByParam
 
###########################################################################
##########################DB ELTEX_PORTAL settings#########################
###########################################################################
PORTAL_DB_URL=jdbc:mysql://<IP-адрес Mysql>:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8
PORTAL_DB_USERNAME=javauser
PORTAL_DB_PASSWORD=javapassword
 
# NGW
NGW_URL=http://<IP-адрес Eltex-NGW>:8040
 
# DOORS
DOORS_URL=http://<IP-адрес Eltex-DOORS:9097/
DOORS_TIMEOUT=60
DOORS_USERNAME=user
DOORS_PASSWORD=password
 
# ELVIS
ELVIS_URL=http://<IP-адрес Eltex-portal-constructor>:9001/epadmin/
ELVIS_TIMEOUT=60

#Log
NBI_LOG_LEVEL=INFO
NBI_CONSOLE_LEVEL=INFO

GELF_LEVEL=OFF
GELF_HOST=udp:localhost
GELF_PORT=12201

#Настройка часового пояса
TZ=Asia/Novosibirsk

Создание/копирование сертификата

При установке сервиса eltex-radius-nbi как приложения создается сертификат CA. При запуске сервиса в контейнере сертификат не создается - потребуется создать его вручную.

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

При разворачивании сервиса надо учитывать два возможных сценария:

  • Сервис разворачивается в первые - потребуется сгенерировать новый сертификат CA.
  • Выполняется перевод ранее установленного сервиса на работу в контейнере - в этом случае рекомендуется использовать ранее созданный сертификат.

Создание сертификата при запуске сервиса в контейнере

В случае, если выполняется первый запуск сервиса в контейненере - потребуется сгенерировать сертификат CA. Для этого потребуется  создать файл для docker-compose "docker-compose-ca.yml":

docker-compose-ca.yml
version: '3'

services:
  eltex-radius-ca:
    image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
    environment:
      - ANSWER_NBI_MAKE_SERVER_CERTIFICATE=1
      - ANSWER_NBI_SERVER_CERTIFICATE_PERIOD=3650
      - ANSWER_NBI_SERVER_CERTIFICATE_KEY=1234
    command:
      - /usr/lib/eltex-radius-nbi/eltex-radius-ca.sh
    volumes:
      - eltex-radius-ca:/var/lib/eltex-radius-nbi

volumes:
  eltex-radius-ca:

Выполнить запуск:

sudo docker-compose -f docker-compose-ca.yml up

После этого в системе появится новый docker volume 'compose_eltex-radius-ca' с файлами сертификатов.

Пример
$ docker-compose -f docker-compose-ca.yml up
Starting compose_eltex-radius-nbi_1 ... done
Attaching to compose_eltex-radius-nbi_1
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | CA certificate already exists
eltex-radius-nbi_1  | Generating server certificate...
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | *** Input parameters ***
eltex-radius-nbi_1  | * MODE=server_cert
eltex-radius-nbi_1  | * CSR=server
eltex-radius-nbi_1  | * CSR_KEY=1234
eltex-radius-nbi_1  | * DAYS=3650
eltex-radius-nbi_1  | * DOMAIN=
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | * O=Eltex
eltex-radius-nbi_1  | * C=RU
eltex-radius-nbi_1  | * ST=Novosibirsk Oblast
eltex-radius-nbi_1  | * L=Novosibirsk
eltex-radius-nbi_1  | * OU=Wireless network IT
eltex-radius-nbi_1  | * EMAIL=eltex@eltex.nsk.ru
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | Invoked by root
eltex-radius-nbi_1  | ************************
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | RADIUS server certificate: radius.crt
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | Create certificate key: server.key
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | Generating RSA private key, 2048 bit long modulus (2 primes)
eltex-radius-nbi_1  | ..........................................................+++++
eltex-radius-nbi_1  | ............................................+++++
eltex-radius-nbi_1  | e is 65537 (0x010001)
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | Create certificate request: server.csr
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | Sign certificate server.crt by CA wireless-ca
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | CA signing: server.csr -> server.crt:
eltex-radius-nbi_1  | Using configuration from /var/lib/eltex-radius-nbi/certificates/ca.config
eltex-radius-nbi_1  | Check that the request matches the signature
eltex-radius-nbi_1  | Signature ok
eltex-radius-nbi_1  | The Subject's Distinguished Name is as follows
eltex-radius-nbi_1  | commonName            :ASN.1 12:'server'
eltex-radius-nbi_1  | organizationName      :ASN.1 12:'Eltex'
eltex-radius-nbi_1  | organizationalUnitName:ASN.1 12:'Wireless network IT'
eltex-radius-nbi_1  | emailAddress          :IA5STRING:'eltex@eltex.nsk.ru'
eltex-radius-nbi_1  | countryName           :PRINTABLE:'RU'
eltex-radius-nbi_1  | stateOrProvinceName   :ASN.1 12:'Novosibirsk Oblast'
eltex-radius-nbi_1  | localityName          :ASN.1 12:'Novosibirsk'
eltex-radius-nbi_1  | Certificate is to be certified until Sep 12 10:36:50 2032 GMT (3650 days)
eltex-radius-nbi_1  | 
eltex-radius-nbi_1  | Write out database with 1 new entries
eltex-radius-nbi_1  | Data Base Updated
eltex-radius-nbi_1  | updating: wireless-ca.crt (deflated 36%)
eltex-radius-nbi_1  | updating: server.crt (deflated 31%)
eltex-radius-nbi_1  | updating: server.csr (deflated 23%)
eltex-radius-nbi_1  | updating: server.key (deflated 23%)
eltex-radius-nbi_1  | updating: server.txt (deflated 25%)
eltex-radius-nbi_1  | Successfully generated the server certificate
eltex-radius-nbi_1  | URL of the server certificates:
eltex-radius-nbi_1  |     http://localhost:8080/eltex-radius-nbi/certificates/server.zip
eltex-radius-nbi_1  | Run the script to setup Eltex RADIUS server:
eltex-radius-nbi_1  |     /var/lib/eltex-radius-nbi/setup_er_eap.sh
compose_eltex-radius-nbi_1 exited with code 0


$ docker volume ls
DRIVER    VOLUME NAME
local     compose_eltex-radius-ca

$ docker inspect compose_eltex-radius-ca
[
    {
        "CreatedAt": "2022-09-15T17:36:50+07:00",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "compose",
            "com.docker.compose.version": "1.25.0",
            "com.docker.compose.volume": "eltex-radius-ca"
        },
        "Mountpoint": "/var/lib/docker/volumes/compose_eltex-radius-ca/_data",
        "Name": "compose_eltex-radius-ca",
        "Options": null,
        "Scope": "local"
    }
]

$ sudo ls -la /var/lib/docker/volumes/compose_eltex-radius-ca/_data
total 44
drwxrwxr-x 4 root root 4096 Sep 15 17:36 .
drwx-----x 3 root root 4096 Sep 15 17:35 ..
drwxr-xr-x 2 root root 4096 Sep 15 17:36 ca.db.certs
-rw-r--r-- 1 root root  429 Sep 15 17:36 ca.db.index
-rw-r--r-- 1 root root   20 Sep 15 17:36 ca.db.index.attr
-rw-r--r-- 1 root root    3 Sep 15 17:36 ca.db.serial
drwxrwxr-x 2 root root 4096 Sep 15 17:36 certificates
-rwxr-xr-x 1 root root 5771 Sep 15 17:36 setup_er_eap.sh
-rw-r--r-- 1 root root 1517 Sep 15 17:35 wireless-ca.crt
-rw------- 1 root root 1751 Sep 15 17:35 wireless-ca.key

После создания сертификата контейнер завершит работу. При повторном запуске будет выполнена повторная генерация сертификата, старый при этом будет перезаписан.

Имя папки, в которой создается сертификат определяется именем папки, в которой находится файл docker-compose-ca.yml и выполняется запуск контейнера.

"/var/lib/docker/volumes/<имя папки в которой выполняется запуск контейнера>_eltex-radius-ca/_data"

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

В случае, если выполняется переход на запуск eltex-radius-nbi  в контейнере - потребуется скопировать старый сертификат в новое месторасположение (создавать сертификат заново не надо!):

За архивировать папку с сертификатом на хосте, где установлен пакет eltex-radius-nbi:

sudo tar cvzf certs.tar.gz -C /var/lib/eltex-radius-nbi .

Перенести на новый сервер (при необходимости) и распаковать:

sudo tar xvzf certs.tar.gz -C /var/lib/docker/volumes/compose_eltex-radius-ca/_data

Проконтролировать владельца:

sudo chown -Rv root. /var/lib/docker/volumes/compose_eltex-radius-ca/_data

Запуск контейнера

Запуск на хосте, где ранее уже была проведена однохостовая установка скриптом-установщиком eltex-softwlc-helper-latest.sh

Если выполняется запуск контейнера на хосте, где ранее уже была проведена однохостовая установка скриптом-установщиком eltex-softwlc-helper-latest.sh - то нельзя будет использовать порт 8081, который уже будет занят сервисом tomcat8, который используется в работе EMS. Поэтому потребуется использовать отдельный порт для работы в контейнере сервиса eltex-radius-nbi. Изменим его в настройках "docker-compose.yaml" на 8084:

docker-compose.yaml
version: '3'
 
services:
  eltex-radius-nbi:
    image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
    ports:
      - "8084:8080/tcp"
      - "9010:9010/tcp"
    hostname: NbiDocker
    env_file: eltex-radius-nbi.env
    environment:
      - TZ=Asia/Novosibirsk
    volumes:
      - eltex-radius-ca:/var/lib/eltex-radius-nbi
    
    restart: unless-stopped
 
volumes:
  eltex-radius-ca:

Перед запуском контейнера надо убедиться, что сертификат CA создан и расположен в папке, как описано в разделе "Создание/копирование сертификата"!

Выполнить запуск контейнера командой:

sudo docker-compose up -d

После запуска контейнера проверить с помощью curl доступность ресурсов:

  • http://localhost:8084/eltex-radius-nbi/asciidoc/
  • http://localhost:8084/axis2/services/RadiusNbiService?wsdl
  • http://localhost:8084/eltex-radius-nbi/certificates/server.zip
  • http://localhost:9010/

В файле конфигурации nginx "/etc/nginx/conf.d/softwlc.conf" исправить порт для секций "location /axis2" и "location /eltex-radius-nbi":

softwlc.conf
    location /axis2 {
        proxy_pass http://127.0.0.1:8084;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

    location /eltex-radius-nbi {
        proxy_pass http://127.0.0.1:8084;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

Следует учитывать, что файл конфигурации nginx для SoftWLC не обязательно может быть "/etc/nginx/conf.d/softwlc.conf" и может отличаться расположением/названием в случае если его создание и конфигурирование выполнялось вручную.

Перечитать конфигурацию nginx:

sudo nginx -s reload

Удалить пакеты:

sudo apt purge eltex-radius-nbi
sudo apt purge eltex-axis

Команда purge полностью удалит вместе с папками логи "/var/log/eltex-axis2" и сертификаты "/var/lib/eltex-radius-nbi"!

Запуск на отдельном хосте

Если запуск контейнера выполняется на отдельном хосте - выполнить запуск командой:

sudo docker-compose up -d

При необходимости изменить настройки проксирующего сервера nginx в файле "/etc/nginx/conf.d/softwlc.conf" в разделах, отвечающих за перенаправление трафика axis2 и eltex-radius-nbi:

softwlc.conf
    location /axis2 {
        # адрес tomcat
        proxy_pass http://<IP-адрес нового сервера с контейнером eltex-radius-nbi>:8081;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

    location /eltex-radius-nbi {
        proxy_pass http://<IP-адрес нового сервера с контейнером eltex-radius-nbi>:8081;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

Перечитать конфигурацию nginx:

sudo nginx -s reload

Управление логированием

В рамках поддержанных переменных окружения можно указать уровень логирования сервиса eltex-radius-nbi и вывод логов в консоль или отправку на сторонний сервер. Значения переменных задаются в файле "eltex-radius-nbi.env".

NBI_LOG_LEVEL=INFO - уровень логирования сервиса eltex-radius-nbi.

Уровень логирования, указанный в настройках "NBI_LOG_LEVEL" определяет максимальный уровень логирования, который может быть выведен в консоль или перенаправлен на сторонний сервер.

NBI_CONSOLE_LEVEL=INFO - уровень логов консоли (но не выше уровня, указанного в настройке "NBI_LOG_LEVEL").

GELF_LEVEL=OFF - уровень логов, перенаправляемых на сторонний сервер (но не выше уровня, указанного в настройке "NBI_LOG_LEVEL").

GELF_HOST=udp:localhost - адрес стороннего сервера сбора логов.

GELF_PORT=12201 - порт стороннего сервера сбора логов. 

Приложения

Список используемых переменных

ПеременнаяЗначение по умолчанию
CATALINA_OPTSнет
RADIUS_JDBC_DBURLjdbc:mysql://localhost/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
RADIUS_JDBC_USERNAMEjavauser
RADIUS_JDBC_PASSWORDjavapassword
RADIUS_JDBC_MAXPOOLSIZE48
RADIUS_JDBC_INUSEyes
RADIUS_JDBC_REPLICA_DBURLjdbc:mysql://localhost/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
RADIUS_JDBC_REPLICA_USERNAMEjavauser
RADIUS_JDBC_REPLICA_PASSWORDjavapassword
RADIUS_JDBC_REPLICA_MAXPOOLSIZE48
RADIUS_JDBC_REPLICA_INUSEyes
EMS_JDBC_DBURLjdbc:mysql://localhost/eltex_ems?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true
EMS_JDBC_USERNAMEjavauser
EMS_JDBC_PASSWORDjavapassword
EMS_JDBC_MAXPOOLSIZE48
EMS_JDBC_INUSEyes
WIRELESS_JDBC_DBURLjdbc:mysql://localhost/wireless?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
WIRELESS_JDBC_USERNAMEjavauser
WIRELESS_JDBC_PASSWORDjavapassword
WIRELESS_JDBC_MAXPOOLSIZE48
WIRELESS_JDBC_INUSEyes
LOGS_JDBC_DBURLjdbc:mysql://localhost/eltex_alert?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
LOGS_JDBC_USERNAMEjavauser
LOGS_JDBC_PASSWORDjavapassword
LOGS_JDBC_MAXPOOLSIZE48
LOGS_JDBC_INUSEyes
ELTEX_AUTH_SERVICE_JDBC_DBURLjdbc:mysql://localhost/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
ELTEX_AUTH_SERVICE_JDBC_USERNAMEjavauser
ELTEX_AUTH_SERVICE_JDBC_PASSWORDjavapassword
ELTEX_AUTH_SERVICE_JDBC_MAXPOOLSIZE48
ELTEX_AUTH_SERVICE_JDBC_INUSEyes
EMS_NBI_HOST127.0.0.1
EMS_NBI_PORT8080
EMS_NBI_PATHnorthbound
EMS_NBI_PROTOCOLhttp
TOMCAT_HOST
127.0.0.1
TOMCAT_PORT
8080
PCRF_ENABLEDtrue
PCRF_URLhttp://localhost:7070
PCRF_USERNAMEadmin
PCRF_PASSWORDpassword
PCRF_READTIMEOUT11
PCRF_WRITETIMEOUT11
PCRF_MONGODB_ENABLEDtrue
PCRF_MONGODB_URImongodb://localhost:27017/pcrf
WIFICAB_MONGODB_ENABLEDtrue
WIFICAB_MONGODB_URImongodb://localhost:27017/wifi-customer-cab
WIFICAB_TIMEOUT90000
SORM2_MONGODB_ENABLEDfalse
SORM2_MONGODB_URImongodb://localhost:27017/sorm2
SORM2_ENABLEDfalse
SORM2_URLhttp://localhost:7071
SORM2_USERNAMEadmin
SORM2_PASSWORDpassword
SORM3_ENABLEDfalse
OTT_MONGODB_ENABLEDtrue
OTT_MONGODB_URImongodb://localhost:27017/ott
METRIC_PORT9010
SSO_ENABLEDfalse
SSO_CLIENTSECRETнет
SSO_CLIENTIDнет
SSO_REST_SERVER_PROTOCOLhttp
SSO_REST_SERVER_ADDRESSнет
SSO_REST_SERVER_PORT80
SSO_REST_SERVER_TIMEOUT_SEC10
SSO_REST_PROTOCOL_VERSION2.0
SSO_REST_USERNAMEнет
SSO_REST_PASSWORDнет
SSO_REST_GETTOKEN_PATH/apiman-gateway/b2b_test/getToken
SSO_REST_GETUSERINFO_PATH/apiman-gateway/b2b_test/getUserInfo
SSO_REST_ADDUSER_PATH/apiman-gateway/b2b_test/addUser
SSO_REST_UPDATEUSER_PATH/apiman-gateway/b2b_test/updateUser
SSO_REST_DELUSER_PATH/apiman-gateway/b2b_test/delUser
SSO_REST_ADDUSERPARAM_PATH/apiman-gateway/b2b_test/addUserParam
SSO_REST_DELUSERPARAM_PATH/apiman-gateway/b2b_test/delUserParam
SSO_REST_GETUSERBYNAME_PATH/apiman-gateway/b2b_test/getUserByName
SSO_REST_GETUSERBYEMAIL_PATH/apiman-gateway/b2b_test/getUserByEmail
SSO_REST_RESETPASSWORD_PATH/apiman-gateway/b2b_test/resetPassword
SSO_REST_GETUSERBYPARAM_PATH/apiman-gateway/b2b_test/getUserByParam
PORTAL_DB_URLjdbc:mysql://localhost:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8
PORTAL_DB_USERNAMEjavauser
PORTAL_DB_PASSWORDjavapassword
NGW_URLhttp://127.0.0.1:8040
DOORS_URLhttp://localhost:9097/
DOORS_TIMEOUT60
DOORS_USERNAMEuser
DOORS_PASSWORDpassword
ELVIS_URLhttp://localhost:9001/epadmin/
ELVIS_TIMEOUT60
NBI_LOG_LEVELINFO
NBI_CONSOLE_LEVELINFO
GELF_LEVELOFF
GELF_HOSTudp:localhost
GELF_PORT12201
TZAsia/Novosibirsk

Настройка /etc/hosts

В файле "/etc/hosts" могут быть записи для разрешения доменных имен в IP-адреса. Данный файл не рекомендуется напрямую пробрасывать в контейнер, т.к. контейнер может изменять его. В таком случае следует в файл "docker-compose.yaml" добавить раздел:

    extra_hosts:
      - "<имя 1>:<IP-адрес 1>" 
      - "<имя 2>:<IP-адрес 2>" 
      - "<имя 3> <имя 4>:<IP-адрес 3>" 
Пример docker-compose.yaml
version: '3'
 
services:
  eltex-radius-nbi:
    image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
    ports:
      - "8084:8080/tcp"
      - "9010:9010/tcp"
    hostname: NbiDocker
    env_file: eltex-radius-nbi.env
    environment:
      - TZ=Asia/Novosibirsk
    volumes:
      - eltex-radius-ca:/var/lib/eltex-radius-nbi
    extra_hosts:
      - "<имя 1>:<IP-адрес 1>" 
      - "<имя 2>:<IP-адрес 2>" 
      - "<имя 3> <имя 4>:<IP-адрес 3>" 
    
    restart: unless-stopped
 
volumes:
  eltex-radius-ca:
  • Нет меток