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


Описание


Сервис представляет собой API на основе JAVA. Обеспечивает управление индивидуальными конфигурациями OTT для ESR-10: создание, редактирование, прикрепление к привязке инициализации.

Сервис может запускаться на отдельном сервере. Для его запуска требуется JAVA 17. По умолчанию сервис работает на порту 50051.

Рекомендуется установка на одном сервере с EMS.


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


Установка сервиса

apt-get install eltex-jerry


Способы запуска/остановки

ДействиеКомандаОтвет
Проверка состоянияservice eltex-jerry status

Сервис запущен

Active: active (running)

Cервис не запущен

Active: failed

Запуск сервисаservice eltex-jerry start

Сервис успешно запущен

Active: active (running)

Остановка сервисаservice eltex-jerry stop

Сервис успешно остановлен

Active: failed

Перезапуск сервисаservice eltex-jerry restart

Сервис успешно перезапущен

Active: active (running)

Конфигурация


/etc/eltex-jerry/application.conf

Основной файл конфигурации. Содержит параметры для подключения к БД MYSQL.

/etc/eltex-jerry/application.conf
jerry {
  database {
    url="jdbc:mysql://localhost:3306/eltex_jerry"
    user="javauser"
    password="javapassword"
  }

  service {
    # the port to listen gRPC on
    # default: 50051
    port = 50051
  }
}

spring {
  flyway {
    url = "jdbc:mysql://localhost:3306/eltex_jerry"
    user = "javauser"
    password = "javapassword"
  }
}
  • Адрес для подключения в БД:
url="jdbc:mysql://localhost:3306/eltex_jerry"
  • Порт, на котором работает сервис:
port = 50051


/etc/eltex-jerry/log4j2.xml

/etc/eltex-jerry/log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>

<Configuration monitorInterval="600">
    <Properties>
        <Property name="maxSize" value="5 MB"/>
        <Property name="maxCount" value="7"/>
        <Property name="defaultPattern" value="%d{ISO8601} [%t] %-5p %logger{1} %C{1}.%M(line:%L). %m%n"/>

        <Property name="logDir" value="/var/log/eltex-jerry"/>

        <Property name="gelfHost" value="udp:lab3-test.eltex.loc" />
        <Property name="gelfPort" value="12201" />
        <Property name="gelfLevel" value="OFF" />
    </Properties>

    <Appenders>
        <RollingFile name="jerry_error" fileName="${logDir}/jerry.log"
                     filePattern="${logDir}/jerry-%d{yyyyMMdd}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <DefaultRolloverStrategy max="${maxCount}"/>
        </RollingFile>

        <Gelf name="Gelf" host="${gelfHost}" port="${gelfPort}" version="1.1" facility="eltex-jerry-service"
              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>
        <Root level="INFO">
            <AppenderRef ref="jerry_error"/>
            <AppenderRef ref="Gelf" level="${gelfLevel}"/>
        </Root>
    </Loggers>
</Configuration>


  • Интервал автоматического перечитывания конфигурации логгера:
<Configuration monitorInterval="600">
  • Максимально допустимый размер файла (при его превышении создается новый файл, а старый архивируется):
<Property name="maxFileSize">5 MB</Property>
  • Максимальное количество архивных файлов, при его превышении наиболее старые файлы будут перезаписываться:
<Property name="maxCount" value="7"/>
  • Базовая директория хранения логов:
<Property name="logDir" value="/var/log/eltex-jerry"/>
  • Блок настройки перенаправления логов в Graylog (уровень логирования, адрес, порт):
<Property name="gelfHost" value="udp:lab3-test.eltex.loc" />
<Property name="gelfPort" value="12201" />
<Property name="gelfLevel" value="OFF" /
  • Уровень логирования:
<Root level="INFO">

Взаимодействие с EMS


Со стороны EMS настройка взаимодействия осуществляется "Администрирование" → "Настройка сервера" → "Системные модули" → "Wireless common":

В разделе "Доступ к сервису индивидуальных конфигураций OTT (jerry)".


Обновление до версии 1.30

Начиная с версии 1.30 функционал сервиса eltex_jerry был переведен на работу с mysql. Ниже представлена инструкция по миграции данных сервиса из mongodb в mysql.

Подсказка

Если схема OTT не используется - данную миграцию выполнять не нужно.

Миграция данных сервиса Eltex-Jerry из mongoDB в mysql

Скрипт мигрирует данные из mongo в mysql для сервиса Eltex-Jerry

Алгоритм работы скрипта

  1. Получить все данные сервиса Eltex-Jerry из mongo
  2. Подсчитать количество записей в mysql на момент запуска скрипта
  3. Вставить все полученные данные в уже созданные таблицы mysql
  4. Отобразить данные о количестве перенесенных файлов и времени выполнения скрипта

Подготовка к запуску 

  1. Скачать архив migrate_eltex_jerry_from_mongo_to_mysql.zip,
  2. Поместить архив на сервер, с которого будут доступны адреса mongodb и mysql,
  3. Извлечь файлы из архива.

Настроить файл application.conf

Данный файл содержит настройки скрипта. Можно настроить:

  • log

    • file_name - имя файла для логирования
    • level - уровень логирования
  • mongodb

    • host - хост, на котором установлена mongo
    • port - порт mongo
  • mysql

    • host хост, на котором установлен mysql
    • port порт mysql
    • username имя пользователя
    • password пароль пользователя
    • charset кодировка базы данных eltex_jerry
  • Для запуска скрипта должен быть установлен python3.10

  • Для запуска скрипта необходимо установить зависимости. Это можно сделать при помощи команды:

sudo pip3.10 install -r requirements.txt

Запуск скрипта

sudo python3.10 main.py

Пример работы скрипта

Start
Файлов было получено из mongo: 4
Файллов было в mysql: 0
Перенос файлов в mysql ...
 ████████████████████████████████ 100%
Файлов перенесено в mysql: 4
Время выполнения скрипта: 1.83 с.

После запуска скрипта

  • После запуска и успешного выполнения скрипта, необходимо перезапустить сервис Eltex-Jerry. Сделать это можно следующей командой на хосте, где установлен сервис:
sudo service eltex-jerry restart



  • Нет меток