...
- Авторизации, аутентификации пользователей Wi-Fi пользователей, подключающихся при помощи BRAS (позволяет обслуживать пользователей, используя точки доступа сторонних производителей).
- Сбор аккаунтинга для всех механизмов авторизации и передача его в базу данных.
- Контроль за количеством одновременных сессий пользователей Wi-Fi пользователей для всех механизмов авторизации.
- Деаутентификация пользователей Wi-Fi пользователей, авторизующихся в режимах WPA-enterprise и через BRAS.
- Контроль за лицензией и сообщение о приближении к лимиту по времени использования (каждый день после истечения 90%) или по количеству сессий (каждый час при превышении 90% сессий) администратору.
...
Подсказка |
---|
Доступ к технической консоли можно получить по ссылке 'http://<ip address pcrf>:7070/pcrf'. |
Управление сервисом
...
Действие | Команда | Ответ | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Проверка состояния |
|
| |||||||||||||||||||
Запуск сервиса |
|
| |||||||||||||||||||
Остановка сервиса |
|
|
| |||||||||||||||||||
Перезапуск сервиса |
|
|
Конфигурация
...
/etc/default/eltex-pcrf
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# Eltex.PCRF Server daemon parameters
NAME="eltex-pcrf"
# 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
# Options for Java Garbage Collector
GC_OPTS="-XX:+UseG1GC \
-XX:+PrintGCDateStamps \
-XX:+PrintGCDetails \
-XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=7 \
-XX:GCLogFileSize=5M \
-XX:+UseStringDeduplication \
-XX:+PrintGCTimeStamps \
-XX:+PrintTenuringDistribution \
-Xloggc:/var/log/eltex-pcrf/gc.log"
# 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"
HEAP_DUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-pcrf"
VERTX_CACHE_DIR_OPT="-Dvertx.cacheDirBase=/var/lib/$NAME"
JVM_OPTS="$JMX_OPTS $GC_OPTS $HEAP_DUMP_OPTS -Xms$JAVA_INIT_HEAP -Xmx$JAVA_MAX_HEAP $VERTX_CACHE_DIR_OPT"
JAR="/usr/lib/$NAME/$NAME.jar"
# 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 | Параметры записи дапма памяти. |
VERTX_CACHE_DIR_OPT | Расположение кэша. |
JVM_OPTS | Дополнительные опции для запуска jvm. |
NOTIFICATION_ADDR | Адрес для отправки уведомлений. |
/etc/eltex-pcrf/eltex-pcrf.json
Содержит настройки взаимодействия с другими сервисами.
Блок кода | |||||||
---|---|---|---|---|---|---|---|
| |||||||
{ "auth.address" : "0.0.0.0", "auth.port" : 31812, "auth.mac.open.timeout.s" : 3600, "auth.mac.welcome.service" : "WELCOME", "acct.address" : "0.0.0.0", "acct.ports" : [1813, 31813], "lease.saver.address" : "0.0.0.0", "lease.saver.port" : 4381, "aaa.instances" : 5, "aaa.host" : "127.0.0.1", "aaa.secret" : "testing123", "aaa.auth.port" : 1812, "aaa.acct.port" : 1813, "aaa.rest.port" : 7080, "aaa.timeout" : 10, "aaa.attempts" : 1, "web.monitoring.port" : 7070, "cluster.enable" : false, "cluster.eventBusPort" : 5801, "radius" : { "url": "jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "mongo.pcrf" : { "connection_string": "mongodb://localhost:27017/pcrf?waitQueueMultiple=500&connectTimeoutMS=10000&socketTimeoutMS=0", "db_name": "pcrf" }, "mongo.ott" : { "connection_string": "mongodb://localhost:27017/ott?waitQueueMultiple=500&connectTimeoutMS=10000&socketTimeoutMS=0", "db_name": "ott" }, "session.storage" : { "session.check.period.s" : 300, "unauth.store.time.s" : 600, "interval.number.expired" : 3, "min.interval.s" : 45, "default.interval.s" : 600 }, "bras.coa" : { "coa.timeout" : 10, "coa.attempts" : 1, "coa.secret" : "testing123", "remote.coa.port" : 3799, "executor.size" : 100, "log.clean.period.s" : 600, "log.store.period" : { "period" : 14, "unit" : "D" } }, "sql.ems" : { "url": "jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&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&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "sql.auth.service" : { "url": "jdbc:mysql://localhost/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&connectTimeout=5000&socketTimeout=5000&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 4 }, "language" : "en", "radius.nbi" : { "wdsl.url" : "http://localhost:8080/axis2/services/RadiusNbiService?wsdl", "username" : "softwlc_service", "password" : "softwlc", "connection.timeout.ms" : 30000, "request.timeout.ms" : 120000 }, "tariffs.update.interval" : { "interval" : 1, "unit" : "hours" }, "bras.cron.update.interval": { "interval" : 1, "unit": "hours" }, "filters.cache.dir" : "/var/lib/eltex-pcrf/filters/", "clickhouse": { "url": "jdbc:clickhouse://localhost:8123/radius", "user_name": "javauser", "user_password": "javapassword", "actualization_period_ms": 15000 }, "accounting.options": { "use_clickhouse": false, "use_mysql": true, "batch_interval_ms": 300000, "max_queue_load": 100 }, "generic.ap.registrar": { "max_aps_in_queue": 30, "ap_register_interval_ms": 60000600000, "added_ap_cache_ttl_ms": 600000, "host": "localhost", "port": 8080, "worker_pool_size": 8 } } |
Параметры | Описание |
---|---|
Настройки авторизации | |
auth.address | Интерфейс сервера, ожидающий запросы на авторизацию. |
auth.port | Порт сервера, на который принимаются запросы на |
авторизацию. | |
auth.mac.open.timeout.s | Длительность "открытой авторизации", используемая, если не переопределено в настройках портала. |
auth.mac.welcome.service | Сервис доступа, используемый если не переопределен в настройках тарифа. |
Настройки сбора аккаунтинга | |
---|---|
acct.address | Интерфейс сервера, ожидающий аккаунтинг. |
acct.port | Порт сервера, на который принимаются пакеты аккаунтинга. |
Настройки для проведения авторизации Wi-Fi пользователей через BRAS | |
aaa. |
host | Адрес сервиса Eltex.RADIUS. |
aaa.secret | RADIUS key. |
aaa.auth.port |
Порт, на который отправляются запросы авторизации. |
aaa.acct.port |
Порт, на который отправляться пакеты аккаунтинга. |
aaa.rest.port |
Порт для обмена служебными командами с Eltex.RADIUS. | |
aaa.timeout | Время ожидания ответа. |
aaa.attempts |
Количество попыток отправки пакетов. | |
Порт мониторинга | |
---|---|
web.monitoring.port | Порт для работы технологической консоли и мониторинга. |
Включение кластеризации | |
cluster.enable | Запуск кластеризации. |
cluster.eventBusPort | Порт для обмена данными с нодами в кластере. |
Настройки коннектов к БД MySQL ('radius', 'eltex_ems', 'wireless', ' |
auth.service') | |
---|---|
url | Строка подключения к базе данных Mysql. |
user | Логин для подключения к БД. |
password | Пароль для подключения к БД. |
max_pool_size | Максимальное количество коннектов, которое можно открыть сервис для подключения. |
Подключение к БД Mongo( 'pcrf', 'ott') | |
connection_string | URI для подключения к Mongo. |
db_name | Название базы, к которой производится подключение |
. | |
Параметры хранения активных сессий в Mongo | |
---|---|
session.check.period.s | Период проверки актуальности хранимых сессий. Если сессия закрыта во время проверки или время ее хранения истекло, она удаляется из базы. |
unauth.store.time.s | Период хранения сессий пользователей, созданных на BRAS, авторизация которых не была выполнена. |
interval.number.expired | Количество пропущенных интервалов аккаунтинга, после которого сессия считается "зависшей" и подлежит закрытию. |
min.interval.s | Минимальное значение интервала аккаунтига, которое используется для расчета зависших сессий. |
default.interval.s | Начальное значение интервала аккаунтига, которое сохраняется в сессию сразу после ее создания. |
Параметры отправки CoA | |
coa.timeout |
Время ожидания ответа на команду. |
coa.attempts |
Количество повторных отправок. | |
coa.secret | Секретный ключ. |
remote.coa.port |
Порт, на который будут отправляться команды. |
executor.size |
Количество одновременно выполняемых команд. |
log. |
clean.period |
Время хранения результатов. |
log.store.period |
period unit | Время хранения логов выполнения команд. Количественный период. Единицы измерения (по дефолту - дни "D"). |
Настройка языка для отображения ошибок | |
---|---|
language | Язык, используемый пи логировании, дефолтное значение "en". Можно использовать "ru", однако логи переведены не все. |
Настройка подключения к сервису NBI | |
wdsl.url | Адрес для обращения на сервис NBI. |
username | Логин от учетной записи. |
password | Пароль от учетной записи. |
connection.timeout.ms | Время ожидания при подключении к сервису. |
request.timeout.ms | Время ожидания ответа при выполнении запроса на сервис. |
Интервал обновления тарифных планов | |
interval | Интервал обновления тарифных планов. |
unit | Единицы измерения интервала (по дефолту измеряется в часах "hours"). |
Путь к директории с временными файлами списков URL | |
filters.cache.dir |
Расположение директории. | |
Настройки коннектов к БД Yandex ClickHouse | |
url | Строка подключения к базе данных Yandex ClickHouse. |
user_name | Логин от учетной записи. |
user_password | Пароль от учетной записи. |
actualization_period_ms | Период проверки доступности БД. |
Параметры сохранения аккаунтинга | |
use_clickhouse | Сохранять аккаунтинг в базу данных Yandex ClickHouse. |
use_mysql | Сохранять аккаунтинг в базу данных MySQL. |
batch_interval_ms | Интервал сохранения аккаунтинга в базу данных. |
max_queue_load | Размер очереди при достижение которого запускается сохранение аккаунтинга в базу данных. |
Параметры выгрузки generic AP, полученных из аккаунтинга по option 82 | |
---|---|
max_aps_in_queue | Максимальное число generic AP в очереди на добавление, по достижении которого начнется их выгрузка в EMS. |
ap_register_interval_ms | Интервал времени (мс), по достижении которого начнется выгрузка generic AP в EMS, находящихся в очереди. |
added_ap_cache_ttl_ms | Интервал времени (мс), в течение которого для выгруженных или обновленных generic AP не будет выполняться попытка выгрузить их в EMS. |
host | IP-адрес, на котором находиться EMS-NBI. |
port |
Порт, на котором находится EMS-NBI. | |
worker_pool_size | Количество выделенных потоков, задействованных для добавления GenericAP. |
/etc/eltex-pcrf/hazelcast-cluster-network.xml
В данном файле содержится его конфигурация Конфигурация кластера Hazelcast, используемого для объединения отдельных нод PCRF.
Пример дефолтной конфигруации разделов group и network (содержащих параметры для подключения к соседним нодам PCRF):
Блок кода | |||||||
---|---|---|---|---|---|---|---|
| <hazelcast>
| ||||||
<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config http://www.hazelcast.com/schema/config/hazelcast-config-3.6.xsd" xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- You can separate your clusters in a simple way by specifying group names. --> <group> <name>dev</name> </group> <network> <!-- Write here public address of the node --> <public-address>192.168.0.1</public-address> <port auto-increment="false" port-count="100">5701</port> <outbound-ports> <ports>0</ports> </outbound-ports> <join> <multicast enabled="false"/> <tcp-ip enabled="true"> <!-- 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>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> </hazelcast> |
Параметры | Описание |
---|---|
<name>dev</name> | Имя ноды |
. Должно быть одинаковым на всех устройствах. Если узлы с разными именами, то в кластер не |
объединяются. | |
<public-address>192.168.0.1</public-address> | Собственный адрес ноды в кластере. |
<member>192.168.0.1</member> <member>192.168.0.2</member> | Список нод, |
состоящих в кластере |
. Необходимо указывать как собственный адрес, так и всех нод состоящих в кластере |
. | |
<interface>192.168.0.1</interface> | Адрес интерфейса ноды в кластере (как правило равен public-address). |
/etc/eltex-pcrf/log4j.xml
Файл настроек логирования.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="biz.paluch.logging.gelf.log4j2">
<Properties>
<Property name="maxSize" value="5MB"/>
<Property name="maxCount" value="7"/>
<Property name="logDir" value="/var/log/eltex-pcrf"/>
<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-pcrf-"/>
</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/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="DEFAULT"
fileName="${logDir}/${filenamePrefix}default.log"
filePattern="${logDir}/default/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="RADIUS"
fileName="${logDir}/${filenamePrefix}radius.log"
filePattern="${logDir}/radius/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="GENERIC_AP"
fileName="${logDir}/${filenamePrefix}generic-ap.log"
filePattern="${logDir}/generic-ap/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="LEASE_SAVER"
fileName="${logDir}/${filenamePrefix}lease_saver.log"
filePattern="${logDir}/lease_saver/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="SHAPER"
fileName="${logDir}/${filenamePrefix}shaper.log"
filePattern="${logDir}/shaper/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="I18N"
fileName="${logDir}/${filenamePrefix}i18n.log"
filePattern="${logDir}/i18n/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<RollingFile name="HAZELCAST"
fileName="${logDir}/${filenamePrefix}hazelcast.log"
filePattern="${logDir}/hazelcast/%d{yyyyMMdd}.%i.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>${defaultPattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="${maxSize}"/>
</Policies>
<DefaultRolloverStrategy max="${maxCount}"/>
</RollingFile>
<!-- На случай отслеживания утечек включить логгер и leakDetectionThreshold в обоих конфигах hikari-->
<!-- <RollingFile name="HIKARI" fileName="${logDir}/${filenamePrefix}hikariCP.log"-->
<!-- filePattern="${logDir}/hazelcast/%d{yyyyMMdd}.%i.log">-->
<!-- <ThresholdFilter level="WARN" 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-pcrf"
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>
<!-- Hikari logger на случай отслеживания утечек-->
<!-- <Logger name="com.zaxxer.hikari" level="WARN" additivity="false">-->
<!-- <appender-ref ref="HIKARI"/>-->
<!-- </Logger>-->
<Logger name="org.eltex.softwlc.pcrf">
<AppenderRef ref="SERVICE"/>
</Logger>
<Logger name="org.eltex.softwlc.pcrf">
<AppenderRef ref="SERVICE"/>
</Logger>
<Logger name="io.vertx">
<AppenderRef ref="SERVICE"/>
</Logger>
<Logger name="com.hazelcast"
additivity="false">
<AppenderRef ref="HAZELCAST"/>
</Logger>
<!-- Turn off debug messages about cluster from MongoDB driver -->
<Logger name="org.mongodb.driver.cluster"
level="INFO"/>
<!-- This Logger writes only to radius.log -->
<Logger name="org.eltex.softwlc.pcrf.vertx.radius"
additivity="false">
<AppenderRef ref="RADIUS"/>
</Logger>
<!-- This Logger also writes to radius.log -->
<Logger name="net.jradius">
<AppenderRef ref="RADIUS"/>
</Logger>
<!-- GenericAP Registrar logging -->
<Logger name="org.eltex.softwlc.pcrf.vertx.radius.verticle.option82"
additivity="false">
<AppenderRef ref="GENERIC_AP"/>
</Logger>
<!-- This Logger writes only to lease_saver.log -->
<Logger name="org.eltex.softwlc.pcrf.vertx.dhcp"
additivity="false">
<AppenderRef ref="LEASE_SAVER"/>
</Logger>
<!-- This Logger writes only to shaper.log -->
<Logger name="org.eltex.softwlc.pcrf.vertx.shaper"
additivity="false">
<AppenderRef ref="SHAPER"/>
</Logger>
<Logger name="org.eltex.softwlc.pcrf.language"
additivity="false">
<AppenderRef ref="I18N"/>
</Logger>
<Root level="DEBUG">
<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-pcrf"/> |
- Блок настройки перенаправления логов в Graylog (уровень логирования, адрес, порт):
Без форматирования |
---|
<Property name="gelfHost" value="udp:lab3-test.eltex.loc"/>
<Property name="gelfPort" value="12201"/>
<Property name="gelfLevel" value="OFF"/ |
- Уровень логирования:
Без форматирования |
---|
<Root level="DEBUG"> |