Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Предварительная установка дополнительного ПО на сервере

Для запуска Offline ELM на сервере требуется произвести установку дополнительного ПО:

1. Установить последнюю стабильную версию Docker.

2. Установить последнюю стабильную версию Docker Compose.

Информация

Дальнейшие инструкции предполагают, что пользователь обладает правами взаимодействия с Docker и запуска Docker Compose без повышения привилегий командой sudo. Для формирования таких прав у текущего пользователя рекомендуется изучить следующий раздел 
официальной документации Docker.

Получение файлов, необходимых для запуска Offline ELM 

Набор файлов, необходимых для запуска Offline ELM и сервисов мониторинга, можно скачать по ссылке с актуальной версией elm1.4.

Рисунок 1 — Скачивание файлов для запуска Offline ELM с ownCloud

Структура архива:

Блок кода
titleСтруктура архива
collapsetrue
.
├── elm-monitoring-data-1.4.tar.gz
├── elm-monitoring-images-1.4.tar.gz
├── elm-offline-data-1.4-1.tar.gz
├── elm-offline-images-1.4-1.tar.gz
└── install-offline.sh

Архив должен быть загружен на целевой сервер и распакован в любой удобной для дальнейшей эксплуатации директории.

Информация

У администраторов Offline ELM для запуска, остановки и редактирования конфигурации Offline ELM должны быть права на чтение и запись распакованных файлов.

Scroll Pagebreak

Первый запуск Offline ELM

Первоначальное конфигурирование с помощью скрипта инсталляции

1. Для упрощенного запуска Offline ELM поставляется скрипт инсталляции install-offline.sh.

2. Перед выполнением скрипта необходимо выдать ему права на исполнение с помощью команды:

Блок кода
titleУстановка прав на исполнение скрипта
sudo chmod +x ./install-offline.sh

3. Посмотреть информацию о скрипте можно с помощью флага --help.

Блок кода
titleИнформация о скрипте
$ ./install-offline.sh 
Script usage: ./install-offline.sh [OPTIONS]

Options:
  --elm-images <ARCHIVE>          path to archive with images
  --elm-data <ARCHIVE>            path to archive with config and compose files
  --monitoring-images <ARCHIVE>   path to archive with images for monitoring
  --monitoring-data <ARCHIVE>     path to archive with data for monitoring
  --env <FILE>                    path to .env file
                                  usage with option --elm-images
  --elm-dir <DIRECTORY>           path to directory where need to unpack archive with data files
                                  usage with option --elm-data
  --monitoring-dir <DIRECTORY>    path to directory where need to unpack archive with data files for monitoring
                                  usage with option --monitoring-data
  -h, --help                      output this help

Required options:
  One of the options --elm-images, --elm-data, --monitoring-images, --monitoring-data must be set

Scroll Pagebreak

4. Пример запуска скрипта с распаковкой архива конфигурационных файлов и загрузкой образов из архивов.

Блок кода
titleПример использования скрипта
$ ./install-offline.sh --elm-images elm-offline-images-1.4-1.tar.gz --elm-data elm-offline-data-1.4-1.tar.gz
INFO: Extract files:
elm-offline-data-1.4-1/
elm-offline-data-1.4-1/docker-compose.yml
elm-offline-data-1.4-1/config/
elm-offline-data-1.4-1/config/telegraf/
elm-offline-data-1.4-1/config/telegraf/telegraf.conf
elm-offline-data-1.4-1/install/
elm-offline-data-1.4-1/install/install-offline.sh
elm-offline-data-1.4-1/docker-compose-remote.yml
elm-offline-data-1.4-1/.env
elm-offline-data-1.4-1/data/
elm-offline-data-1.4-1/data/elmi-offline-web-ui/
elm-offline-data-1.4-1/data/elmi-offline-web-ui/ssl/
elm-offline-data-1.4-1/data/elmi-offline-web-ui/ssl/autocreated-cert.crt
elm-offline-data-1.4-1/data/elmi-offline-web-ui/ssl/autocreated-cert.key
elm-offline-data-1.4-1/data/elmi-offline-db/
elm-offline-data-1.4-1/data/elmi-offline-db/init-db/
elm-offline-data-1.4-1/data/elmi-offline-db/init-db/init-db.sql
elm-offline-data-1.4-1/data/elmi-offline-db/enable_triggers.sql
elm-offline-data-1.4-1/data/elmi-offline-db/postgresql.conf
elm-offline-data-1.4-1/docker-compose-cli.yml
Loaded image: elmi-offline-server:1.4-1
Loaded image: elmi-offline-init:1.4-1
Loaded image: elmi-offline-cli:1.4-1
Loaded image: elmi-web-ui:1.4-1
Loaded image: pcscd:alpine
Loaded image: postgres:16.2
Loaded image: telegraf:1.30.0
INFO: The file ./elm-offline-data-1.4-1/.env does not changed, it contains actual environment variable ELM_TAG
Success!

Scroll Pagebreak

5. В результате были загружены образы и распакованы конфигурационные файлы в папку elm-offline-data-1.4-1.

Блок кода
titleПапка с конфигурационными файлами
elm-offline-data-1.4-1
├── config
│   └── telegraf
│       └── telegraf.conf
├── data
│   ├── elmi-offline-db
│   │   ├── enable_triggers.sql
│   │   ├── init-db
│   │   │   └── init-db.sql
│   │   └── postgresql.conf
│   └── elmi-offline-web-ui
│       └── ssl
│           ├── autocreated-cert.crt
│           └── autocreated-cert.key
├── docker-compose-cli.yml
├── docker-compose-remote.yml
├── docker-compose-db.yml
├── docker-compose.yml
└── .env


Блок кода
titleПроверка загруженных образов
collapsetrue
$ docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
elmi-web-ui           1.4-1     27e9fe0ffbc8   20 hours ago   28.6MB
elmi-offline-cli      1.4-1     f89431b1dc57   20 hours ago   736MB
elmi-offline-init     1.4-1     23a53b77cc61   20 hours ago   16.4MB
elmi-offline-server   1.4-1     fa093d421389   20 hours ago   761MB
pcscd                 alpine    8713840a2dc3   2 months ago   39.2MB
telegraf              1.30.0    7942930461a6   4 months ago   453MB
postgres              16.2      8e4fc9e18489   5 months ago   431MB

Первоначальное конфигурирование в ручном режиме

Для запуска Offline ELM требуется произвести следующие шаги:

1. Перейти в директорию с содержимым распакованного архива.

2. Распаковать архив elm-offline-data-1.4-1.tar.gz с файлами, необходимыми для работы Offline ELM.

3. Открыть файл .env любым удобным текстовым редактором.

4. Для переменной ELM_TAG указать актуальную версию Offline ELM 1.4. Если существует возможность указать конкретный номер сборки Offline ELM — его необходимо указать после версии через дефис (например, для билда под номером 1 значение переменной будет "1.4-1"). 

Блок кода
titleПример минимальной конфигурации env файла для запуска
ELM_TAG="1.4"


Предупреждение

ELM_INSTANCE_ID задается при первом запуске Offline ELM и не должен меняться в течение работы. При необходимости смены значения ELM_INSTANCE_ID требуется чистая установка Offline ELM.

5. Установить в переменной ELM_INSTANCE_ID номер инстанса (ноды) текущей инсталляции Offline ELM. Если это единственная инсталляция, то "ELM_INSTANCE_ID=node1". Если используется резервирование Offline ELM, то на одной ноде "ELM_INSTANCE_ID=node1, а на второй — "ELM_INSTANCE_ID=node2".

Блок кода
titleУстановка номера ноды
ELM_INSTANCE_ID=node1

6. Установить в переменной DOCKER_GROUP_ID значение группы пользователя docker. Узнать id группы docker можно командой:

Блок кода
titleГруппа docker пользователя
$ getent group docker| cut -d: -f3 
999


Блок кода
titleУстановка переменной DOCKER_GROUP_ID
DOCKER_GROUP_ID="999"


Информация

Для мониторинга состояния контейнеров Telegraf необходимо предоставить ему доступ к сокету Docker демона, для этого необходимо передать id группы пользователей docker.

7. Установить другие необходимые переменные окружения. Полный список переменных окружения Offline ELM 1.4.

8. Загрузить образы Offline ELM из архива на хост:

Блок кода
titleЗагрузка образов Offline ELM из архива
$ docker load < elm-offline-images-1.4-1.tar.gz

9. Проверить загруженные образы:  

Блок кода
titleПроверка загруженных образов
$ docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
elmi-web-ui           1.4-1     27e9fe0ffbc8   20 hours ago   28.6MB
elmi-offline-cli      1.4-1     f89431b1dc57   20 hours ago   736MB
elmi-offline-init     1.4-1     23a53b77cc61   20 hours ago   16.4MB
elmi-offline-server   1.4-1     fa093d421389   20 hours ago   761MB
pcscd                 alpine    8713840a2dc3   2 months ago   39.2MB
telegraf              1.30.0    7942930461a6   4 months ago   453MB
postgres              16.2      8e4fc9e18489   5 months ago   431MB

10. Убедиться, что токен вставлен и был обнаружен системой:

Блок кода
titleПроверка наличия токена в системе
$ lsusb | grep "Aktiv Rutoken ECP"
Bus 001 Device 008: ID 0a89:0030 Aktiv Rutoken ECP

11. Убедиться, что демон pcscd, если он установлен, остановлен:

Блок кода
titleПроверка статуса демона pcscd
# service pcscd status
● pcscd.service - PC/SC Smart Card Daemon
     Loaded: loaded (/lib/systemd/system/pcscd.service; indirect; vendor preset: enabled)
     Active: active (running) since Fri 2024-07-26 14:11:30 +07; 1s ago
TriggeredBy: ● pcscd.socket
       Docs: man:pcscd(8)
   Main PID: 1639189 (pcscd)
      Tasks: 5 (limit: 38220)
     Memory: 1.1M
        CPU: 12ms
     CGroup: /system.slice/pcscd.service
             └─1639189 /usr/sbin/pcscd --foreground --auto-exit

июл 26 14:11:30 user-pc systemd[1]: Started PC/SC Smart Card Daemon.


Блок кода
titleОстановка демона pcscd
# systemctl stop pcscd.socket

Запуск сервисов Offline ELM 

Запуск сервисов Offline ELM на одном хосте

1. Перейти в папку с конфигурационными файлами Offline ELM, где расположены docker-compose.yml файлы.

2. Запустить Offline ELM командой:

Блок кода
titleКоманда запуска Offline ELM
$ docker compose up -d

3. После запуска убедиться, что все контейнеры Offline ELM запустились корректно (имеют статус "running (healthy)"):

Блок кода
titleКоманда проверки статуса контейнеров Offline ELM
$ docker compose ps


Блок кода
titleПример вывода команды при успешном запуске всех контейнеров Offline ELM
collapsetrue
$ docker compose ps
NAME                  IMAGE                       COMMAND                  SERVICE               CREATED         STATUS                   PORTS
elm-token             pcscd:alpine                "/bin/sh -c /usr/loc…"   elm-token             7 minutes ago   Up 3 minutes (healthy)   
elmi-offline-db       postgres:16.2               "docker-entrypoint.s…"   elmi-offline-db       7 minutes ago   Up 7 minutes (healthy)   127.0.0.1:5432->5432/tcp
elmi-offline-init     elmi-offline-init:1.4-1     "/bin/sh -c '/usr/lo…"   elmi-offline-init     7 minutes ago   Up 7 minutes (healthy)   
elmi-offline-server   elmi-offline-server:1.4-1   "/bin/sh -e /usr/loc…"   elmi-offline-server   7 minutes ago   Up 2 minutes (healthy)   0.0.0.0:8099->8099/tcp, 127.0.0.1:8080->8097/tcp
elmi-offline-web-ui   elmi-web-ui:1.4-1           "/usr/local/bin/entr…"   elmi-offline-web-ui   7 minutes ago   Up 7 minutes (healthy)   0.0.0.0:8092->80/tcp, :::8092->80/tcp
telegraf              telegraf:1.30.0             "/entrypoint.sh tele…"   telegraf              7 minutes ago   Up 7 minutes             8092/udp, 8125/udp, 8094/tcp

Теперь с Offline ELM можно взаимодействовать через интерфейс командной строки, далее CLI.

После первого запуска Offline ELM в текущем каталоге появятся новые директории:

  • db — содержит файлы базы данных, используемой в Offline ELM;
  • log — содержит логи сервисов Offline ELM.

4. Запустить CLI Offline ELM. 

Для запуска CLI требуется произвести следующие действия:

4.1.  Перейти в директорию с файлом docker-compose-cli.yml.

4.2.  Выполнить следующую команду:

Блок кода
titleКоманда для запуска CLI Offline ELM
$ docker compose --file docker-compose-cli.yml run --rm elmi-offline-cli


Блок кода
titleПример вывода команды при успешном запуске Offline ELM CLI
$ docker compose --file docker-compose-cli.yml run --rm elmi-offline-cli
WARN[0000] Found orphan containers ([elmi-offline-web-ui elmi-offline-server elmi-offline-init elmi-offline-db elm-token]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 
2024-07-26 16:26:54.786  INFO 1 --- [           main] org.eltex.elm.cli.Launcher               : Starting Launcher using Java 21.0.2 on a413a808c5ef with PID 1 (/classes started by root in /)
2024-07-26 16:26:54.792  INFO 1 --- [           main] org.eltex.elm.cli.Launcher               : No active profile set, falling back to 1 default profile: "default"
2024-07-26 16:26:55,598 INFO  c.z.h.HikariDataSource.getConnection (line:110) - HikariPool-1 - Starting...
2024-07-26 16:26:55,775 INFO  c.z.h.HikariDataSource.getConnection (line:123) - HikariPool-1 - Start completed.
2024-07-26 16:26:55,884 INFO  l.l.c.JavaLogger.log (line:37) - Set default schema name to public
2024-07-26 16:26:56,291 INFO  l.l.c.JavaLogger.log (line:37) - Reading from public.elm_database_changelog
2024-07-26 16:26:56,375 INFO  l.l.c.JavaLogger.log (line:37) - Database is up to date, no changesets to execute
2024-07-26 16:26:56,377 INFO  l.l.c.JavaLogger.log (line:37) - Reading from public.elm_database_changelog
2024-07-26 16:26:56,385 INFO  l.l.c.JavaLogger.log (line:37) - UPDATE SUMMARY
2024-07-26 16:26:56,385 INFO  l.l.c.JavaLogger.log (line:37) - Run:                          0
2024-07-26 16:26:56,385 INFO  l.l.c.JavaLogger.log (line:37) - Previously run:               3
2024-07-26 16:26:56,385 INFO  l.l.c.JavaLogger.log (line:37) - Filtered out:                 0
2024-07-26 16:26:56,386 INFO  l.l.c.JavaLogger.log (line:37) - -------------------------------
2024-07-26 16:26:56,386 INFO  l.l.c.JavaLogger.log (line:37) - Total change sets:            3
2024-07-26 16:26:56,386 INFO  l.l.c.JavaLogger.log (line:37) - Update summary generated
2024-07-26 16:26:56,405 INFO  l.l.c.JavaLogger.log (line:37) - Successfully released change log lock
2024-07-26 16:26:56,407 INFO  l.l.c.JavaLogger.log (line:37) - Command execution complete
2024-07-26 16:26:56,465 INFO  o.r.Reflections.scan (line:219) - Reflections took 24 ms to scan 1 urls, producing 5 keys and 5 values
2024-07-26 16:26:56,516 INFO  o.r.Reflections.scan (line:219) - Reflections took 45 ms to scan 2 urls, producing 8 keys and 185 values
*** Eltex License Manager CLI 1.4 ***
*** Input 'help' to view available commands ***
 > main
   users
   settings
   iprules
   license
elmi> 

В результате выполнения команды пользователь получит доступ к CLI Offline ELM. 

Scroll Pagebreak

5. Выполнить инсталляцию бандла Offline ELM.

Для установки бандла Offline ELM необходимо выполнить следующие действия:

5.1. Скопировать файл бандла в папку share/ в корне Offline ELM. Запустить CLI Offline ELM:

Блок кода
titleЗапуск CLI Offline ELM
$ docker compose --file docker-compose-cli.yml run --rm elmi-offline-cli

5.2. В разделе "main" выполнить команду инсталляции бандла "install bundle --file"

Блок кода
titleИнсталляция бандла
elmi> install bundle --file /share/ECMC0000001.bundle
You will install offline licensing bundle from '/share/ECMC0000001.bundle'. Are you sure? (y/N) y
License data registration command db1d39a3-f295-3391-a977-544d4367da47 (node1) is created. Please wait...
elmi> License data registration command db1d39a3-f295-3391-a977-544d4367da47 (node1) is done!
elmi> 

Запуск сервисов Offline ELM с удаленной базой данных

1. Распаковать архив с данными на удаленном сервере, где будет запускаться база данных.

2. Установить переменные  ELM_TAG и ELM_DB_HOST в .env файле. Иначе интерфейс из контейнера elmi-offline-db не будет проброшен на хост, и база данных не будет доступна.

Блок кода
titleУстановка переменных окружения
ELM_TAG="1.4"
ELM_DB_HOST=192.168.1.2

3. Запустить контейнеры БД командой. При этом, если это первый запуск, контейнер elmi-offline-db может иметь состояние unhealthy — это корректное поведение. Состояние healthy установится после подключения к базе данных сервера Offline ELM (контейнер elmi-offline-db).

Блок кода
titleЗапуск базы данных
$ docker compose -f docker-compose-db.yml up -d

4. Перейти в папку с конфигурационными файлами Offline ELM на другом сервере, где расположен docker-compose-remote.yml файл. 

Scroll Pagebreak
5. Установить переменные окружения ELM_TAG, ELM_DB_CONNECT_HOST и ELM_DB_CONNECT_PORT в соответствии с необходимыми значениями:

Блок кода
titleУстановка переменных окружения
ELM_TAG="1.4"
ELM_DB_CONNECT_HOST=192.168.1.2
ELM_DB_CONNECT_PORT=5432

6. Запустить Offline ELM командой:

Блок кода
titleКоманда запуска Offline ELM
$ docker compose -f docker-compose-remote.yml up -d

7. После запуска убедиться, что все контейнеры Offline ELM запустились корректно (имеют статус "running (healthy)"):

Блок кода
titleКоманда проверки статуса контейнеров Offline ELM
$ docker compose ps


Блок кода
titleПример вывода команды при успешном запуске всех контейнеров Offline ELM
collapsetrue
$ docker compose ps
NAME                  IMAGE                                            COMMAND                  SERVICE               CREATED          STATUS                    PORTS
elm-token             nexus.eltex.loc:9006/elm/pcscd:alpine            "/bin/sh -c /usr/loc…"   elm-token             28 minutes ago   Up 27 minutes (healthy)   
elmi-offline-db       nexus.eltex.loc:4430/library/postgres:16.2       "docker-entrypoint.s…"   elmi-offline-db       30 minutes ago   Up 30 minutes (healthy)   0.0.0.0:5437->5432/tcp
elmi-offline-init     nexus.eltex.loc:9016/elmi-offline-init:1.4-1     "/bin/sh -c '/usr/lo…"   elmi-offline-init     28 minutes ago   Up 27 minutes (healthy)   
elmi-offline-server   nexus.eltex.loc:9016/elmi-offline-server:1.4-1   "/bin/sh -e /usr/loc…"   elmi-offline-server   28 minutes ago   Up 27 minutes (healthy)   0.0.0.0:8087->8097/tcp, 0.0.0.0:8097->8099/tcp
elmi-offline-web-ui   nexus.eltex.loc:9016/elmi-web-ui:1.4-1           "/usr/local/bin/entr…"   elmi-offline-web-ui   28 minutes ago   Up 27 minutes (healthy)   0.0.0.0:8091->80/tcp, :::8091->80/tcp
telegraf              nexus.eltex.loc:4430/library/telegraf:1.30.0     "/entrypoint.sh tele…"   telegraf              28 minutes ago   Up 27 minutes             8092/udp, 8125/udp, 8094/tcp

Scroll Pagebreak
Остановка Offline ELM 

Для остановки Offline ELM требуется произвести следующие шаги:

 1. Перейти в директорию с файлами работающего Offline ELM.

 2. Выполнить команду:

Блок кода
titleКоманда остановки всех контейнеров Offline ELM
$ docker compose down --remove-orphans

Обновление Offline ELM в рамках версии 1.4

Для обновления Offline ELM в рамках версии 1.4 требуется произвести следующие шаги (показан пример обновления с версии 1.4-1 на 1.4-2):

1. Перейти в директорию с compose-файлами работающего Offline ELM.

2. Остановить Offline ELM командой:

Блок кода
titleКоманда остановки Offline ELM
$ docker compose down --remove-orphans

3. Произвести резервное копирование всех рабочих файлов в текущей директории:

Блок кода
titleПример формирования резервной копии служебных файлов Offline ELM
$ zip -q -r elm_backup.zip elm/

После формирования резервной копии всех служебных файлов её рекомендуется перенести в другую директорию на хосте или на удаленный сервер для сохранности сформированной резервной копии.

4. Скопировать в текущую директорию следующие файлы и директории с заменой, если по ним было изменение:

  • docker-compose.yml
  • docker-compose-cli.yml

5. В .env файле указать новое значение переменной ELM_TAG:

Блок кода
titleИзменить тег версии
ELM_TAG="1.4-2"

6. Запустить Offline ELM командой:

Блок кода
titleКоманда запуска Offline ELM
$ docker compose up -d

Scroll Pagebreak
7. После запуска убедиться, что все Docker-контейнеры сервисов Offline ELM запустились корректно (имеют статус "running (healthy)"):

Блок кода
titleКоманда проверки статуса контейнеров Offline ELM
$ docker compose ps


Блок кода
titleПример вывода команды при успешном запуске всех контейнеров Offline ELM
collapsetrue
$ docker compose ps
NAME                  IMAGE                       COMMAND                  SERVICE               CREATED         STATUS                   PORTS
elm-token             pcscd:alpine                "/bin/sh -c /usr/loc…"   elm-token             7 minutes ago   Up 3 minutes (healthy)   
elmi-offline-db       postgres:16.2               "docker-entrypoint.s…"   elmi-offline-db       7 minutes ago   Up 7 minutes (healthy)   127.0.0.1:5432->5432/tcp
elmi-offline-init     elmi-offline-init:1.4-2     "/bin/sh -c '/usr/lo…"   elmi-offline-init     7 minutes ago   Up 7 minutes (healthy)   
elmi-offline-server   elmi-offline-server:1.4-2   "/bin/sh -e /usr/loc…"   elmi-offline-server   7 minutes ago   Up 2 minutes (healthy)   0.0.0.0:8099->8099/tcp, 127.0.0.1:8080->8097/tcp
elmi-offline-web-ui   elmi-web-ui:1.4-2           "/usr/local/bin/entr…"   elmi-offline-web-ui   7 minutes ago   Up 7 minutes (healthy)   0.0.0.0:8092->80/tcp, :::8092->80/tcp
telegraf              telegraf:1.30.0             "/entrypoint.sh tele…"   telegraf              7 minutes ago   Up 7 minutes             8092/udp, 8125/udp, 8094/tcp

8. Запустить Offline ELM CLI и, введя команду "show elm" в разделе "main" CLI, убедиться, что версия Offline ELM сервисов стала 1.4-2:

Блок кода
titleПример проверки версии сервисов Offline ELM с помощью команды "show elm"
collapsetrue
elmi> show elm 
ELM host:
1. Instance: node1
Hostname: ELM standalone
Build version: Version 1.4, build 2, date 26-07-2024 01:48:13 +0700
Status: work
Last updated: 1722220886 (2024-07-29 09:41:26)
Next update: 1722221186 (2024-07-29 09:46:26)
Certificate info: 

	Valid from: 1721888945 (2024-07-25 13:29:05)
	Expiry: 1724571996 (2024-08-25 14:46:36)
	Token serial number: 429b439b        


elmi>  

Обновление Offline ELM завершено.

Scroll Pagebreak
Удаление Offline ELM

Для полного удаления Offline ELM с хоста требуется произвести следующие шаги:

 1. Перейти в директорию с файлами работающего Offline ELM.

 2. Выполнить команду:

Блок кода
titleКоманда для удаления Offline ELM с хоста
$ docker compose down --remove-orphans --rmi all --volumes 

В результате выполнения команды Offline ELM будет остановлен. В случае, если на момент выполнения команды он еще функционировал, будут удалены служебные сети, хранилища и образы в Offline.

3. Удалить оставшиеся от Offline ELM каталоги и служебные файлы:

Блок кода
titleУдаление оставшихся служебных файлов
# rm -rf .env config/ data/ db/ docker-compose-cli.yml  docker-compose.yml  log/ share/

Offline ELM полностью удален с хоста.

Просмотр логов сервисов Offline ELM

Логи сервисов Offline ELM можно разбить на две группы:

  • логи, которые пишутся в отдельные файлы в файловой системе хоста (все логи системы Offline ELM);
  • логи, которые пишутся в систему логирования Docker (все логи системы Offline ELM + логи контейнера elm-token).

Данные логи расположены в директории log в рабочем каталоге Offline ELM в следующей иерархии:

Блок кода
titleСтруктура файловых логов сервисов Offline ELM
log/
├── elmi-cli
│   ├── db.log
│   ├── debug.log
│   ├── kernel.log
│   └── networking.log
└── elmi-server
    ├── commerce.log
    ├── db.log
    ├── debug.log
    ├── engine.log
    ├── hosts.log
    ├── kernel.log
    ├── networking.log
    ├── resources.log
    ├── security.log
    └── users.log

2 directories, 14 files

Scroll Pagebreak
Логи разбиты по файлам, в каждый файл пишутся логи соответствующего функционала Offline ELM:

  • db.log — логи взаимодействия сервиса Offline ELM с БД Offline ELM;

  • debug.log — отладочные логи сервиса Offline ELM;

  • engine.log и kernel.log — логи операций сервиса Offline ELM;

  • hosts.log — логи доступа хостов к Offline ELM;

  • networking.log — логи сетевого взаимодействия сервиса Offline ELM с другими компонентами системы ELM;

  • security.log — логи событий безопасности Offline ELM;

Для каждого файла отрабатывает ротация, которая настраивается параметрами "ELM_LOG_FILE_MAX_SIZE" и "ELM_LOG_FILE_MAX_COUNT" в .env файле в рабочем каталоге Offline ELM.

Для просмотра логов можно использовать инструменты Docker или плагина Docker Compose:

Блок кода
titleПример вывода логов сервиса elmi-offline-init, записанных в систему логирования Docker
$ docker logs elmi-offline-init
Fri Jul 26 15:26:17 +07 2024: Setting elmi-offline config files
Fri Jul 26 15:26:17 +07 2024: Setting elmi-offline-cli config files
Fri Jul 26 15:26:17 +07 2024: ELM_DB_USER variable has changed
Fri Jul 26 15:26:17 +07 2024: ELM_DB_PASSWORD variable has changed
Fri Jul 26 15:26:27 +07 2024: Connecting to database ... 1
Fri Jul 26 15:26:27 +07 2024: Successfully connected to database
Fri Jul 26 15:26:27 +07 2024: Setting instanceID variable value
Fri Jul 26 15:26:27 +07 2024: Setting instanceID variable value
Fri Jul 26 15:26:27 +07 2024: Docker containers elmi-offline is ready to start

Более подробно о работе системы логирования Docker можно узнать из официальной документации.

Якорь
variables
variables
Список переменных окружения Offline ELM

Название параметраОписание параметраЗначение по умолчаниюОбязательность параметраВарианты значений/Примечания
ELM_TAG

Версия используемых ELM образов в формате "<версия ELM>-<номер сборки>"

-Да1.4-1/1.4-2 и т.д.
ELM_INSTANCE_IDОпределяет основной или резервный серверnode1Нетnode1/node2
ELM_SERVER_HOSTIP-адрес хоста, на котором будет работать серверная часть Offline ELM (контейнер elmi-offline-server)0.0.0.0Нет-
ELM_SERVER_PORTНомер порта для подключения к Offline ELM (контейнер elmi-offline-server)8099Нет-
ELM_DB_HOSTIP-адрес, на котором будет поднят порт для подключения к БД (контейнер elmi-offline-db)127.0.0.1Нет-
ELM_DB_PORTНомер порта, на котором развернута БД (контейнер elmi-offline-db)5432Нет-
ELM_DB_CONNECT_HOSTИмя хоста (или IP-адрес) для подключения соответствующего приложения к БД (к контейнеру elmi-offline-db)elmi-offline-dbНет-
ELM_DB_CONNECT_PORTНомер порта для подключения соответствующего приложения к БД (к контейнеру elmi-offline-db)5432Нет-
ELM_DB_USERИмя служебного пользователя БД сервера ELMelmНет-
ELM_DB_PASSWORDПароль служебного пользователя БД ELM-Нет-
ELM_THREAD_LIMITМаксимальное количество одновременно поддерживаемых сессий10Нет-
ELM_QUEUE_LIMITМаксимальный размер очереди клиентов, ожидающих подключения100Нет-
ELM_DOS_FILTER_MAX_REQUESTS_PER_SECONDМаксимальная частота запросов в секунду от одного хоста, превышение которой приведет к блокировке50Нет-
ELM_DOS_FILTER_DELAY_MSМаксимальное время отклика хоста, превышение которого приведет к блокировке200Нет-
ELM_LOG_FILE_MAX_SIZEМаксимальный размер одного log-файла в МБ10Нет-
ELM_LOG_FILE_MAX_COUNTМаксимальное количество log-файлов в ротации4Нет-
ELM_KERNEL_LOG_LEVELУровень логирования логов типа "kernel" для сервисов ELMinfoНетinfo/debug
ELM_NETWORKING_LOG_LEVELУровень логирования логов типа "networking" для сервисов ELMinfoНетinfo/debug
ELM_DEBUG_LOG_LEVELУровень логирования логов типа "debug" для сервисов ELMoffНетinfo/debug
ELM_ENGINE_LOG_LEVELУровень логирования логов типа "engine" для сервисов ELMinfoНетinfo/debug
ELM_DB_LOG_LEVELУровень логирования логов типа "db" для сервисов ELMinfoНетinfo/debug
ELM_USERS_LOG_LEVELУровень логирования логов типа "users" для сервисов ELMinfoНетinfo/debug
ELM_SECURITY_LOG_LEVELУровень логирования логов типа "security" для сервисов ELMinfoНетinfo/debug
ELM_HOSTS_LOG_LEVELУровень логирования логов типа "hosts" для сервисов ELMinfoНетinfo/debug
ELM_COMMERCE_LOG_LEVELУровень логирования логов типа "commerce" для сервисов ELMinfoНетinfo/debug
ELM_CLI_KERNEL_LOG_LEVELУровень логирования логов типа "kernel" для CLI ELMerrorНетerror/debug
ELM_CLI_DEBUG_LOG_LEVELУровень логирования логов типа "debug" для CLI ELMoffНетoff/debug
ELM_CLI_DB_LOG_LEVELУровень логирования логов типа "db" для CLI ELMerrorНетerror/debug
ELM_CLI_NETWORKING_LOG_LEVELУровень логирования логов типа "networking" для CLI ELMerrorНетerror/debug

ELM_PCSCD_LOG_LEVEL

Уровень логирования логов для демона pcscdoffНетoff/debug
COMMON_TZЧасовой пояс, используемый для работы всех сервисовUTCНет-
ELM_WEB_UI_PORTПорт web-интерфейса на Docker-хосте 8092Нет-
DOCKER_GROUP_IDДобавление пользователя Docker в контейнер-НетDocker Daemon Permissions