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

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

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

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

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

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

MariaDB

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

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

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

GRANT ALL PRIVILEGES ON *.* TO 'javauser'@'%' WITH GRANT OPTION       
GRANT ALL PRIVILEGES ON `eltex-jobs`.* TO 'javauser'@'%'              
GRANT ALL PRIVILEGES ON `radius`.* TO 'javauser'@'%'                  
GRANT ALL PRIVILEGES ON `wireless`.* TO 'javauser'@'%'                
GRANT ALL PRIVILEGES ON `eltex_jerry`.* TO 'javauser'@'%'             
GRANT ALL PRIVILEGES ON `eltex_sorm2`.* TO 'javauser'@'%'             
GRANT ALL PRIVILEGES ON `eltex_pcrf`.* TO 'javauser'@'%'              
GRANT ALL PRIVILEGES ON `eltex_ott`.* TO 'javauser'@'%'               
GRANT ALL PRIVILEGES ON `eltex_wifi_customer_cab`.* TO 'javauser'@'%' 
GRANT ALL PRIVILEGES ON `eltex_jobs`.* TO 'javauser'@'%'              
GRANT ALL PRIVILEGES ON `eltex_wids`.* TO 'javauser'@'%'              
GRANT ALL PRIVILEGES ON `eltex_auth_service`.* TO 'javauser'@'%'      
GRANT ALL PRIVILEGES ON `eltex_bruce`.* TO 'javauser'@'%'             
GRANT ALL PRIVILEGES ON `eltex_ont`.* TO 'javauser'@'%'               
GRANT ALL PRIVILEGES ON `eltex_ems`.* TO 'javauser'@'%'               
GRANT ALL PRIVILEGES ON `eltex_alert`.* TO 'javauser'@'%'             
GRANT ALL PRIVILEGES ON `ELTEX_PORTAL`.* TO 'javauser'@'%'            
GRANT ALL PRIVILEGES ON `eltex_ngw`.* TO 'javauser'@'%'               
GRANT ALL PRIVILEGES ON `eltex_doors`.* TO 'javauser'@'%'             
GRANT SELECT ON `mysql`.`proc` TO 'javauser'@'%'   
FLUSH PRIVILEGES;

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

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

docker-compose.yaml
vversion: '3'

services:
  eltex-radius-nbi:
    image: ${ELTEX_HUB}/eltex-radius-nbi:${SWLC_VERSION}
    ports:
      - "8081:8081/tcp"
      - "9010:9010/tcp"
    hostname: NbiDocker
    env_file: eltex-radius-nbi.env
    environment:
      # Настройки таймзоны
      - TZ=${TZ}
      # Настройки логирования
      - NBI_LOG_LEVEL=${NBI_LOG_LEVEL}
      - NBI_CONSOLE_LEVEL=${NBI_CONSOLE_LEVEL}
      # Настройки Graylog
      - GELF_LEVEL=${GELF_LEVEL}
      - GELF_HOST=${GELF_HOST}
      - GELF_PORT=${GELF_PORT}
    volumes:
      - eltex-radius-ca:/var/lib/eltex-radius-nbi
      # логи
      - /var/log/eltex-radius-nbi:/var/log/eltex-radius-nbi
    restart: unless-stopped

volumes:
  eltex-radius-ca:
.env
ELTEX_HUB=hub.eltex-co.ru/softwlc

SWLC_VERSION=1.30

# Настройки таймзоны
TZ=Asia/Novosibirsk

# Настройки логирования
NBI_LOG_LEVEL=INFO
NBI_CONSOLE_LEVEL=INFO

# Настройки Graylog
# Вместо <graylog_server_ip> нужно указать настоящий адрес сервера Graylog или localhost
GELF_LEVEL=OFF
GELF_HOST=udp:localhost
GELF_PORT=12201

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

eltex-radius-nbi.env
# DB  radius(alias=radius)
RADIUS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
RADIUS_JDBC_USERNAME=javauser
RADIUS_JDBC_PASSWORD=javapassword

# DB  radius replica(alias=radiusReplicaPool)
RADIUS_JDBC_REPLICA_DBURL=jdbc:mysql://<ip mariaDB>/radius?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
RADIUS_JDBC_REPLICA_USERNAME=javauser
RADIUS_JDBC_REPLICA_PASSWORD=javapassword

# DB ems(alias=ems)
EMS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/eltex_ems?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true
EMS_JDBC_USERNAME=javauser
EMS_JDBC_PASSWORD=javapassword

# DB  wireless (alias=wireless)
WIRELESS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/wireless?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
WIRELESS_JDBC_USERNAME=javauser
WIRELESS_JDBC_PASSWORD=javapassword

# DB logs (alias=logs)
LOGS_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/eltex_alert?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
LOGS_JDBC_USERNAME=javauser
LOGS_JDBC_PASSWORD=javapassword

# DB logs (alias=eltex_auth_service)
ELTEX_AUTH_SERVICE_JDBC_DBURL=jdbc:mysql://<ip mariaDB>/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

# адрес ems-northbound
# IP-адрес сервера EMS
EMS_NBI_HOST=<ip ems>
EMS_NBI_PORT=8087

# tomcat url
# IP-адрес eltex-radius-nbi
TOMCAT_HOST=<ip eltex-radius-nbi>
TOMCAT_PORT=8081

# pcrf stuff
PCRF_ENABLED=true
# адрес Eltex-PCRF
PCRF_URL=http://<ip адрес сервиса>:7070
PCRF_USERNAME=admin
PCRF_PASSWORD=password
PCRF_READTIMEOUT=11
PCRF_WRITETIMEOUT=11

# pcrf mariaDB
PCRF_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_pcrf?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
PCRF_JDBC_USERNAME=javauser
PCRF_JDBC_PASSWORD=javapassword

# wifi-customer-cab mariaDB
WIFI_CAB_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_wifi_customer_cab?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
WIFI_CAB_JDBC_USERNAME=javauser
WIFI_CAB_JDBC_PASSWORD=javapassword

# Eltex.SORM2.replicator MariaDB 'sorm2' connect
SORM2_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_sorm2?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
SORM2_JDBC_USERNAME=javauser
SORM2_JDBC_PASSWORD=javapassword

# ott mariaDB
OTT_JDBC_DBURL=jdbc:mysql://localhost:3306/eltex_ott?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
OTT_JDBC_USERNAME=javauser
OTT_JDBC_PASSWORD=javapassword

# wifi-customer-cab request settings
WIFICAB_TIMEOUT=90000

# Eltex.SORM2.replicator host to use API
SORM2_ENABLED=false
SORM2_URL=http://<ip адрес сервиса>:7071
SORM2_USERNAME=admin
SORM2_PASSWORD=password

#It enables records export to SORM3 while editing wifi users
SORM3_ENABLED=false

# ott mariaDB
OTT_JDBC_DBURL=jdbc:mysql://eltex-mysql:3306/eltex_ott?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
OTT_JDBC_USERNAME=javauser
OTT_JDBC_PASSWORD=javapassword

# 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

BRUCE_HOST=<ip адрес сервиса>
BRUCE_PORT=8008

###########################################################################
##########################DB ELTEX_PORTAL settings#########################
###########################################################################
PORTAL_DB_URL=jdbc:mysql://<ip mariaDB>:3306/ELTEX_PORTAL?max_allowed_packet=32362048&useUnicode=true&characterEncoding=utf8
PORTAL_DB_USERNAME=javauser
PORTAL_DB_PASSWORD=javapassword

# NGW
NGW_URL=http://<ip адрес сервиса>:8040

# DOORS
DOORS_URL=http://<ip ip адрес сервиса>:9097/
DOORS_TIMEOUT=60
DOORS_USERNAME=user
DOORS_PASSWORD=password

# ELVIS
ELVIS_URL=http://<ip адрес сервиса>:9001/epadmin/
ELVIS_TIMEOUT=60

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

При установке сервиса 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

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

Запуск на хосте контроллера

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

Остановить сервис eltex-radius-nbi

sudo service eltex-radius-nbi stop

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

sudo docker-compose up -d

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

  • http://localhost:8081/eltex-radius-nbi/asciidoc/
  • http://localhost:8081/eltex-radius-nbi/certificates/server.zip
  • http://localhost:9010/

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

sudo apt purge eltex-radius-nbi

Команда purge полностью удалит вместе с папками логи "/var/log/eltex-radius-nbi" и сертификаты "/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_JDBC_DBURL jdbc:mysql://localhost:3306/eltex_pcrf?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
PCRF_JDBC_USERNAMEjavauser
PCRF_JDBC_PASSWORDjavapassword
WIFI_CAB_JDBC_DBURL jdbc:mysql://localhost:3306/eltex_wifi_customer_cab?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
WIFI_CAB_JDBC_USERNAMEjavauser
WIFI_CAB_JDBC_PASSWORDjavapassword
WIFICAB_TIMEOUT90000
SORM2_JDBC_DBURLjdbc:mysql://localhost:3306/eltex_sorm2?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
SORM2_JDBC_USERNAMEjavauser
SORM2_JDBC_PASSWORDjavapassword
SORM2_ENABLEDfalse
SORM2_URLhttp://localhost:7071
SORM2_USERNAMEadmin
SORM2_PASSWORDpassword
SORM3_ENABLEDfalse
OTT_JDBC_DBURLjdbc:mysql://localhost:3306/eltex_ott?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000
OTT_JDBC_USERNAMEjavauser
OTT_JDBC_PASSWORDjavapassword
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
BRUCE_HOSTeltex-bruce
BRUCE_PORT8008
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:
      - "8081:8081/tcp"
      - "9010:9010/tcp"
    hostname: NbiDocker
    env_file: eltex-radius-nbi.env
    environment:
      # Настройки таймзоны
      - TZ=${TZ}
      # Настройки логирования
      - NBI_LOG_LEVEL=${NBI_LOG_LEVEL}
      - NBI_CONSOLE_LEVEL=${NBI_CONSOLE_LEVEL}
      # Настройки Graylog
      - GELF_LEVEL=${GELF_LEVEL}
      - GELF_HOST=${GELF_HOST}
      - GELF_PORT=${GELF_PORT}
    volumes:
      - eltex-radius-ca:/var/lib/eltex-radius-nbi
    # логи
      - /var/log/eltex-radius-nbi:/var/log/eltex-radius-nbi

    extra_hosts:
      - "<имя 1>:<IP-адрес 1>" 
      - "<имя 2>:<IP-адрес 2>" 
      - "<имя 3> <имя 4>:<IP-адрес 3>" 
    
    restart: unless-stopped
 
volumes:
  eltex-radius-ca:
  • Нет меток