Описание
Сервис обеспечивает журналирование работы с портальными учётными записями (на данный момент используется только для журналирования работы сервиса eltex-mercury).
Межсервисный обмен реализован на базе gRPC API.
Logging-service взаимодействует с базой ЛК wifi-customer-cab и фиксирует получаемые данные в коллекцию eventlog (в GUI ЛК это таблица "Журнал событий" - "Журнал модификаций учетных записей").
Управление сервисом
Установка
apt-get install eltex-logging-service
Способы запуска/остановки
Действие | Команда | Ответ |
---|---|---|
Проверка состояния | service eltex-logging-service status | Сервис запущен Active: active (running) Cервис не запущен Active: failed |
Запуск сервиса | service eltex-logging-service start | Сервис успешно запущен Active: active (running) |
Остановка сервиса | service eltex-logging-service stop | Сервис успешно остановлен Active: failed |
Перезапуск сервиса | service eltex-logging-service restart | Сервис успешно перезапущен Active: active (running) |
Конфигурация
/etc/eltex-logging-service/application.conf
Основной конфигурационный файл.
- Порт, на котором работает сервис:
server { port = 9099 }
- Активация записи событий в коллекцию eventlog:
eventlog { enabled = true }
- Активация отправки данных в СОРМ:
sorm { enabled = false Активация dir = /var/log/eltex-logging-service/sorm3/ Путь к папке событий }
Настройка доступа к БД ЛК:
database { uri = "mongodb://localhost:27017/wifi-customer-cab" Адрес БД poolSize = 5 Количество возможных подключений timeout = 5s Время ожидания ответа от БД }
/etc/eltex-logging-service/log4j2.xml
Файл настройки логирования сервиса.
- Интервал автоматического перечитывания конфигурации логгера:
<Configuration monitorInterval="600">
- Базовая директория хранения логов:
<Property name="baseDir">/var/log/eltex-logging-service</Property>
- Максимально допустимый размер файла (при его превышении создается новый файл, а старый архивируется):
<Property name="maxFileSize">20 MB</Property>
- Суммарный размер логов (текущий файл + архивные). При его превышении наиболее старые файлы будут удаляться:
<Property name="accumulatedFileSize">10 GB</Property>
- Срок хранения логов, файлы модифицированные раннее этого срока будут удаляться:
<Property name="lastModified">4d</Property>
- Максимальное количество архивных файлов, при его превышении наиболее старые файлы будут перезаписываться:
<Property name="maxCount">20</Property>
- Блок настройки перенаправления логов в Graylog (уровень логирования, адрес, порт):
<Property name="gelfLevel">${env:GELF_LEVEL:-OFF}</Property> <Property name="gelfHost">${env:GELF_HOST:-udp:lab3-test.eltex.loc}</Property> <Property name="gelfPort">${env:GELF_PORT:-12201}</Property>
- Уровень логирования:
<Root level="${rootLevel}">
/etc/default/eltex-logging-service
Файл, содержит параметры инициализации сервиса.
- Количество памяти, выделяемое приложению при старте сервиса:
JAVA_INIT_HEAP=4m
- Максимальное количество памяти, которое может арендовать сервис:
JAVA_MAX_HEAP=32m
- Дополнительный параметры запуска:
JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-logging-service"
Докеризация сервиса
Сервис может быть запущен в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env и docker-compose.yml
version: "3" services: eltex-logging-service: container_name: eltex-logging-service image: hub.eltex-co.ru/softwlc/eltex-logging-service:1.19-<tag> network_mode: host ports: - 9099:9099 volumes: - /etc/eltex-logging-service/:/etc/eltex-logging-service/
Вместо <tag> необходимо указать актуальную версию, которую можно посмотреть по ссылке.
Для применения настроек, которые использовались при запуске сервиса как deb-пакет, необходимо добавить для них маппинг.
В случае если необходимо применить настройки через переменные окружения, то нужно создать файл .env и расположить его рядом с docker-compose.yml, а также указать в последнем необходимые переменные.
LOGGING_SERVICE_PORT=9099 LOGGING_SERVICE_EVENTLOG=true LOGGING_SERVICE_SORM=false LOGGING_SERVICE_SORM_DIR=/var/log/eltex-logging-service/sorm3/ LOGGING_SERVICE_DB_URI=mongodb://localhost:27017/wifi-customer-cab LOGGING_SERVICE_DB_POOL_SIZE=5 LOGGING_SERVICE_DB_TIMEOUT=5s
Описание переменных окружения
Запуск сервиса
LOGGING_SERVICE_PORT - порт, который будет слушать сервис.
JAVA_INIT_HEAP - Xms JVM опция.
JAVA_MAX_HEAP - Xmx JVM опция.
JAVA_OPTS – другие аргументы запуска JVM (может перезаписать любые другие аргументы).
Настройка лога событий
LOGGING_SERVICE_EVENTLOG - включить поддержку лога событий.
Настройка SORM3
LOGGING_SERVICE_SORM - включить поддержку sorm3.
LOGGING_SERVICE_SORM_DIR - директория sorm3.
Настройки взаимодействия с БД
LOGGING_SERVICE_DB_URI - URI БД.
LOGGING_SERVICE_DB_POOL_SIZE - количество соединений с БД.
LOGGING_SERVICE_DB_TIMEOUT - таймаут соединения с БД.