Модуль выполняет функции:
Подробное описание интеграции: v1.37_Интеграция с системами СОРМ
Доступ к технической консоли можно получить по ссылке 'http://<ip address eltex-sorm2-replicator>:7071'. |
apt install eltex-sorm2-replicator |
| Действие | Команда | Ответ | |||||
|---|---|---|---|---|---|---|---|
| Проверка состояния |
|
| |||||
| Запуск сервиса |
| ||||||
| Остановка сервиса |
| ||||||
| Перезапуск сервиса |
|
Содержит базовые параметры для запуска приложения. Пример дефолтной конфигурации:
# Eltex.SORM2.replicator Server daemon parameters # Location of java binary JAVA=/usr/bin/java # Initial size of Java heap JAVA_INIT_HEAP=256m # Maximum size of Java heap JAVA_MAX_HEAP=512m # To monitor via JMX - jconsole to host:port #JMX_OPTS="-Dcom.sun.management.jmxremote \ #-Dcom.sun.management.jmxremote.port=8085 \ #-Dcom.sun.management.jmxremote.authenticate=false \ #-Dcom.sun.management.jmxremote.ssl=false \ #-Djava.rmi.server.hostname=127.0.0.1" # Options for Java Garbage Collector GC_OPTS="-XX:+UseParallelGC \ -XX:+PrintGCDateStamps \ -XX:+PrintGCDetails \ -XX:+UseGCLogFileRotation \ -XX:NumberOfGCLogFiles=7 \ -XX:GCLogFileSize=5M \ -Xloggc:/var/log/eltex-sorm2-replicator/gc.log" # Without log #GC_OPTS="-XX:+UseParallelGC" # Additional arguments to pass to java HEAP_DUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-sorm2-replicator" # Summary JAVA_OPTS used by daemon JAVA_OPTS="$JMX_OPTS $GC_OPTS $HEAP_DUMP_OPTS" # Send notification #NOTIFICATION_ADDR="admin@mail.loc" |
| Параметры | Описание |
|---|---|
JAVA=/usr/bin/java | Расположение Java-машины. |
JAVA_INIT_HEAP | Количество памяти, выделяемое на работу сервиса при старте. Рекомендуется выставлять равное JAVA_MAX_HEAP. |
JAVA_MAX_HEAP | Максимальное количество памяти, которое может зарезервировать сервис. |
GC_OPTS="-XX:+UseG1GC \ . . . | Параметры сборщика мусора. |
# To monitor via JMX - jconsole to host:port . . . | Параметры для работы с JMX. |
| HEAP_DUMP_OPTS | Параметры записи дапма памяти. |
| JVM_OPTS | Дополнительные опции для запуска jvm. |
| NOTIFICATION_ADDR | Адрес для отправки уведомлений. |
Содержит настройки взаимодействия с другими сервисами.
{
"acct.address" : "0.0.0.0",
"acct.port" : [41813],
"acct.receive.buffer.byte" : 134217728,
"web.monitoring.port" : 7071,
"cluster.enable" : false,
"cluster.eventBusPort" : 5802,
"radius" : {
"url": "jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false",
"user": "javauser",
"password": "javapassword",
"max_pool_size": 16
},
"sql.ems" : {
"url": "jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false",
"user": "javauser",
"password": "javapassword",
"max_pool_size": 16
},
"sql.wireless" : {
"url": "jdbc:mysql://localhost/wireless?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false",
"user": "javauser",
"password": "javapassword",
"max_pool_size": 16
},
"sql.sorm2" : {
"url": "jdbc:mysql:///eltex_sorm2?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&useSSL=false",
"user": "javauser",
"password": "javapassword",
"max_pool_size": 16
},
"sql.pcrf" : {
"url": "jdbc:mysql:///eltex_pcrf?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&useSSL=false",
"user": "javauser",
"password": "javapassword",
"max_pool_size": 16
},
"global.clients" : {
"enabled" : false,
"clients" : [
{ "host" : "127.0.0.1", "port" : 11813, "secret": "eltex" }
]
},
"sorm3" : {
"enabled" : true,
"host" : "127.0.0.1",
"port" : 21,
"period_s" : 900,
"user" : "ftp",
"pass" : "ftp",
"acct_dir" : null,
"node_id" : null
},
"sorm2" : {
"enabled" : true,
"federated" : false
},
"dpi.step.logic" : {
"enabled" : false,
"verbose" : false
}
}
|
| Параметры | Описание |
|---|---|
| Настройки сбора аккаунтинга | |
acct.address | Адрес интерфейса сервера, на котором слушается входящий трафик аккаунтинга (0.0.0.0 включает прослушивание на всех интерфейсах). |
acct.port | Порт сервера, на котором прослушивается входящий трафик аккаунтинга. |
acct.receive.buffer.byte | Размер буфера приема. |
| Порт мониторинга | |
web.monitoring.port | Порт для работы технологической консоли и мониторинга. |
| Включение кластеризации | |
cluster.enable | Запуск кластеризации. |
cluster.eventBusPort | Порт для обмена данными с нодами в кластере. |
| Настройки коннектов к БД MariaDB ('radius', 'eltex_ems', 'wireless', 'eltex_sorm2', 'eltex-pcrf') | |
url | Строка подключения к базе данных MariaDB. |
user | Логин для подключения к БД. |
password | Пароль для подключения к БД. |
max_pool_size | Максимальное количество коннектов, которое можно открыть сервис для подключения. |
| Перенаправления RADIUS-аккаунтинга на внешний сервер (global.clients) | |
enabled | Включает перенаправление аккаунтинга на внешний сервер. |
host | Адрес внешнего сервера. |
port | Порт внешнего сервера |
secret | Пароль radius. |
| Выгрузка информации на FTP-сервер (sorm3) | |
enabled | Включает выгрузку информации на FTP-сервер. |
host | Адрес FTP-сервера. |
| port | Порт FTP-сервера. |
period_s | Интервал выгрузки информации. |
user | Логин для входа на FTP-сервер. |
pass | Пароль для входа на FTP-сервер. |
| acct_dir | Директория для выгрузки информации. |
| node_id | Идентификатор (IP адрес) хоста съемника, используется в формировании имени выгружаемого по ftp файла с данными. |
| Перенаправление RADIUS-аккаунтинга на региональный съемник (sorm2) | |
enabled | Глобально включает возможность пернаправления аккаунтинга. |
federated | Включает поиск съемников, которые были включены в "Личном кабинете" в разделе "Настройки" → "Дерево доменов" в колонке "СОРМ-2". |
Обогащение RADIUS-аккаунтинга для DPI (dpi.step.logic) | |
enabled | Активирует обогащение трафика для DPI:
|
verbose | Определяет режим пересылки пакетов:
|
Конфигурация кластера Hazelcast, используемого для объединения отдельных нод SORM2-replicator.
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
-->
<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.12.xsd"
xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<config-replacers>
<replacer class-name="org.eltex.softwlc.hazelcast.configuration.EnvironmentConfigReplacer"></replacer>
</config-replacers>
<group>
<name>eltex-sorm2-replicator</name>
<password>eltex-sorm2-replicator</password>
</group>
<management-center enabled="false">http://localhost:8080/mancenter</management-center>
<network>
<!-- Write here public address of the node -->
<public-address>$env{REPLICATOR_PUBLIC_ADDRESS:-192.168.0.1}</public-address>
<port auto-increment="false" port-count="100">$env{REPLICATOR_PUBLIC_PORT:-5702}</port>
<outbound-ports>
<ports>0</ports>
</outbound-ports>
<join>
<multicast enabled="true">
<trusted-interfaces>
<interface>192.168.26.*</interface>
</trusted-interfaces>
</multicast>
<tcp-ip enabled="false">
<!-- Write here IP of all members of the cluster (including this) -->
<member>192.168.0.1</member>
<member>192.168.0.2</member>
</tcp-ip>
<discovery-strategies>
</discovery-strategies>
</join>
<interfaces enabled="true">
<!-- Write here IP of the interface to use for cluster -->
<interface>$env{REPLICATOR_PUBLIC_ADDRESS:-192.168.0.1}</interface>
</interfaces>
<ssl enabled="false"/>
<socket-interceptor enabled="false"/>
<symmetric-encryption enabled="false">
<algorithm>PBEWithMD5AndDES</algorithm>
<!-- salt value to use when generating the secret key -->
<salt>thesalt</salt>
<!-- pass phrase to use when generating the secret key -->
<password>thepass</password>
<!-- iteration count to use when generating the secret key -->
<iteration-count>19</iteration-count>
</symmetric-encryption>
</network>
<partition-group enabled="false"/>
<map name="__vertx.subs">
<backup-count>1</backup-count>
<time-to-live-seconds>0</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>NONE</eviction-policy>
<max-size policy="PER_NODE">0</max-size>
<eviction-percentage>25</eviction-percentage>
<merge-policy>com.hazelcast.map.merge.LatestUpdateMapMergePolicy</merge-policy>
</map>
<semaphore name="__vertx.*">
<initial-permits>1</initial-permits>
</semaphore>
<map name="sorm2profiles">
<map-store enabled="true">
<class-name>org.eltex.softwlc.sorm2.hazelcast.profile.ProfileLoader</class-name>
<properties>
<property name="configPath">$env{REPLICATOR_MAP_CONFIG_FILE:-/etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json}</property>
<property name="environmentPrefix">REPLICATOR</property>
</properties>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<time-to-live-seconds>1200</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="FREE_HEAP_PERCENTAGE">5</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>5000</min-eviction-check-millis>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
<cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
</map>
<map name="sorm2links">
<map-store enabled="true">
<class-name>org.eltex.softwlc.sorm2.hazelcast.link.LinkLoader</class-name>
<properties>
<property name="configPath">$env{REPLICATOR_MAP_CONFIG_FILE:-/etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json}</property>
<property name="environmentPrefix">REPLICATOR</property>
</properties>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<time-to-live-seconds>1200</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="FREE_HEAP_PERCENTAGE">5</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>5000</min-eviction-check-millis>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
<cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
</map>
<map name="mysqlNas">
<map-store enabled="true">
<class-name>org.eltex.softwlc.sorm2.hazelcast.nas.SormNasLoader</class-name>
<properties>
<property name="configPath">$env{REPLICATOR_MAP_CONFIG_FILE:-/etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json}</property>
<property name="environmentPrefix">REPLICATOR</property>
</properties>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<time-to-live-seconds>600</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="FREE_HEAP_PERCENTAGE">5</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>5000</min-eviction-check-millis>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
<cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
</map>
<map name="mysqlDomains">
<map-store enabled="true">
<class-name>org.eltex.softwlc.hazelcast.mysql.DomainLoader</class-name>
<properties>
<property name="configPath">$env{REPLICATOR_MAP_CONFIG_FILE:-/etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json}</property>
<property name="environmentPrefix">REPLICATOR</property>
</properties>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<time-to-live-seconds>600</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="FREE_HEAP_PERCENTAGE">5</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>5000</min-eviction-check-millis>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
<cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
</map>
<map name="subnets">
<map-store enabled="true">
<class-name>org.eltex.softwlc.hazelcast.mysql.SubnetLoader</class-name>
<properties>
<property name="configPath">$env{REPLICATOR_MAP_CONFIG_FILE:-/etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json}</property>
<property name="environmentPrefix">REPLICATOR</property>
</properties>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<time-to-live-seconds>600</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="FREE_HEAP_PERCENTAGE">10</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>5000</min-eviction-check-millis>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
<cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
</map>
<map name="mysqlSsid">
<map-store enabled="true">
<class-name>org.eltex.softwlc.sorm2.hazelcast.ssid.SormSsidLoader</class-name>
<properties>
<property name="configPath">$env{REPLICATOR_MAP_CONFIG_FILE:-/etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json}</property>
<property name="environmentPrefix">REPLICATOR</property>
</properties>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<backup-count>0</backup-count>
<async-backup-count>0</async-backup-count>
<time-to-live-seconds>600</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="FREE_HEAP_PERCENTAGE">5</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>5000</min-eviction-check-millis>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
<cache-deserialized-values>INDEX-ONLY</cache-deserialized-values>
</map>
<serialization>
<portable-version>0</portable-version>
</serialization>
<services enable-defaults="true"/>
<lite-member enabled="false"/>
<properties>
<property name="hazelcast.logging.type">slf4j</property>
</properties>
</hazelcast>
|
| Параметры | Описание |
|---|---|
<name>eltex-sorm2-replicator</name> | Имя ноды. Должно быть одинаковым на всех устройствах. |
<public-address>$env{REPLICATOR_PUBLIC_ADDRESS:-192.168.0.1}</public-address> | Собственный адрес ноды в кластере. |
<member>192.168.0.1</member> <member>192.168.0.2</member> | Список нод, состоящих в кластере. Необходимо указывать как собственный адрес, так и всех нод состоящих в кластере. Так же требуется указать следующим образом параметры: <multicast enabled="false"> <tcp-ip enabled="true"> |
<interface>$env{REPLICATOR_PUBLIC_ADDRESS:-192.168.0.1}</interface> | Адрес интерфейса ноды в кластере (как правило равен public-address). |
Файл настроек логирования:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="org.eltex.softwlc.sorm2.logger">
<Properties>
<Property name="maxSize" value="5MB"/>
<Property name="maxCount" value="7"/>
<Property name="logDir" value="/var/log/eltex-sorm2-replicator"/>
<Property name="defaultPattern" value="%d{ISO8601} [%t] %-5p %logger{1} %C{1}.%M(line:%L). %m%n"/>
<Property name="gelfHost" value="udp:lab3-test.eltex.loc"/>
<Property name="gelfPort" value="12201"/>
<Property name="gelfLevel" value="OFF"/>
<Property name="filenamePrefix" value="eltex-sorm2-replicator-"/>
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout>
<Pattern>${defaultPattern}</Pattern>
</PatternLayout>
</Console>
<RollingFile name="SERVICE"
fileName="${logDir}/${filenamePrefix}service.log"
filePattern="${logDir}/service/%{filenamePrefix}service.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="FTP"
fileName="${logDir}/${filenamePrefix}ftp.log"
filePattern="${logDir}/ftp/${filenamePrefix}ftp.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="SORM3_ACCT"
fileName="${logDir}/${filenamePrefix}export_acct.csv"
filePattern="${logDir}/export_acct/IP_ACC_%d{yyyyMMdd_HHmm}.csv">
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<CsvCustomParameterLayout format="Excel" delimiter=";" quote="" escape="^" quoteMode="NONE" nullString=""/>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
<RollingFile name="DEFAULT"
fileName="${logDir}/${filenamePrefix}default.log"
filePattern="${logDir}/default/${filenamePrefix}default.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="HAZELCAST"
fileName="${logDir}/${filenamePrefix}hazelcast.log"
filePattern="${logDir}/hazelcast/${filenamePrefix}hazelcast.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<Gelf name="Gelf"
host="${gelfHost}"
port="${gelfPort}"
version="1.1"
facility="eltex-sorm2-replicator"
extractStackTrace="true"
originHost="%host{fqdn}"
maximumMessageSize="8192" >
<Field name="thread" pattern="%t" />
<Field name="level" pattern="%level" />
<Field name="severity" pattern="%-5level" />
<Field name="logger" pattern="%logger{1}" />
<Field name="location" pattern="%C{1}.%M(line:%L)" />
</Gelf>
</Appenders>
<Loggers>
<!-- These loggers write to service.log -->
<Logger name="org.eltex.softwlc.sorm2.ftp">
<AppenderRef ref="FTP"/>
</Logger>
<Logger name="org.eltex.softwlc">
<AppenderRef ref="SERVICE"/>
</Logger>
<Logger name="io.vertx">
<AppenderRef ref="SERVICE" />
</Logger>
<Logger name="com.hazelcast" additivity="false">
<AppenderRef ref="HAZELCAST" />
</Logger>
<Logger name="net.jradius">
<AppenderRef ref="SERVICE"/>
</Logger>
<Logger name="SORM3_ACCT">
<AppenderRef ref="SORM3_ACCT"/>
</Logger>
<Root level="INFO">
<AppenderRef ref="Gelf" level="${gelfLevel}"/>
</Root>
</Loggers>
</Configuration>
|
<Property name="maxSize" value="5MB"/> |
<Property name="maxCount" value="7"/> |
<Property name="logDir" value="/var/log/eltex-sorm2-replicator"/> |
<Property name="gelfHost" value="udp:lab3-test.eltex.loc"/> <Property name="gelfPort" value="12201"/> <Property name="gelfLevel" value="OFF"/ |
<Root level="INFO"> |
Файл настроек списка колонок в выгружаемой на FTP-сервер информации. При изменении файла требуется перезапустить сервис eltex-sorm2-replicator.
{
"CONNECTION_TIME": true,
"REGION_ID": true,
"POINT_ID": true,
"LOGIN_TYPE": true,
"SESSION_ID": true,
"ALLOCATED_IPV4": true,
"ALLOCATED_IPV6": true,
"USER_NAME": true,
"CONNECT_TYPE": true,
"CALLING_NUMBER": true,
"CALLED_NUMBER": true,
"NAS_IPV4": true,
"NAS_IPV6": true,
"NAS_IP_PORT": true,
"IN_BYTES_COUNT": true,
"OUT_BYTES_COUNT": true,
"USER_PASSWORD": true,
"USER_EQ_MAC": true,
"USER_EQ_VPI": true,
"USER_EQ_VCI": true,
"APN": true,
"SGSN_IPV4": true,
"SGSN_IPV6": true,
"GGSN_IPV4": true,
"GGSN_IPV6": true,
"SERVICE_AREA_CODE": true,
"LAC_START": true,
"CELL_START": true,
"TA_START": true,
"WL_CELL_START": true,
"WL_MAC_START": true,
"LAC_END": true,
"CELL_END": true,
"TA_END": true,
"WL_CELL_END": true,
"WL_MAC_END": true,
"PHONE_CARD_NUMBER": true,
"IMSI": true,
"IMEI": true,
"ESN": true,
"POOL": true,
"L2_INTERFACE": false
}
|
С версии ПО 1.23 сервис может быть запущен в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env и docker-compose.yml
|
|
| Вместо <tag> необходимо указать актуальную версию, которую можно посмотреть по ссылке. |
В папке с docker-compose.yml также необходимо создать папку export. По умолчанию в эту папку складываются логи и выгрузки SORM2.
Путь до папки, либо способ выгрузки можно поменять через конфигурацию docker-compose.yml.
Запуск сервиса
Логирование
Подключение к БД
Конфигурация настроек кластеризации
Конфигурация настроек перенаправления RADIUS-аккаунтинга на внешний сервер
Конфигурация настроек перенаправления RADIUS-аккаунтинга на региональный съемник
Конфигурация настроек обогащения RADIUS-аккаунтинга для DPI
Конфигурация настроек списка колонок выгружаемой на FTP-сервер информации
TZ - часовой пояс в формате Asia/Novosibirsk (список существующих можно посмотреть командой timedatectl list-timezones) |
Файлы .env и docker-compose.yml должны находиться в одной папке. Контейнер запускается командой:
docker-compose up -d |