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

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

1. Установить последнюю стабильную версию Docker. Установка производится с помощью официальной документации, в зависимости от используемой операционной системы.

2. Установить последнюю стабильную версию Docker Compose. Установка производится с помощью официальной документации, в зависимости от используемой операционной системы.

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

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

Набор файлов, необходимых для запуска Offline ELM и сервисов мониторинга:


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

Для скачивания архива можно использовать утилиту wget

# Скачивание архива
wget https://cloud.eltex-co.ru/index.php/s/GzJfChMAVhkqINI/download -O offline.zip

# Распаковка
unzip offline.zip
Archive:  offline.zip
   creating: elm-offline-1.7-1/
   creating: elm-offline-1.7-1/Docs/
 extracting: elm-offline-1.7-1/Docs/Offline ELM. Описание пользовательского интерфейса. Версия 1.7.pdf  
 extracting: elm-offline-1.7-1/Docs/Offline ELM. Руководство по эксплуатации. Версия 1.7.pdf  
 extracting: elm-offline-1.7-1/changelog.md  
 extracting: elm-offline-1.7-1/elm-offline-data-1.7-1.tar.gz  
 extracting: elm-offline-1.7-1/elm-offline-images-1.7-1.tar.gz
 extracting: elm-offline-1.7-1/elm-monitoring-data-1.7.tar.gz   
 extracting: elm-offline-1.7-1/install-offline.sh     
 extracting: elm-offline-1.7-1/elm_technical_support.sh

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

Установка Offline ELM

1.Скачать файлы для запуска (см. раздел "Получение файлов для запуска Offline ELM"). Для запуска Offline ELM достаточно следующих файлов:

    1. elm-offline-data-1.7-х.tar.gz

    2. elm-offline-images-1.7-х.tar.gz
    3. install-offline.sh

2. Для упрощенного запуска Offline ELM поставляется скрипт инсталляции install-offline.sh. Перед выполнением скрипта необходимо выдать ему права на исполнение:

sudo chmod +x ./install-offline.sh

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

$ sudo ./install-offline.sh --elm-images elm-offline-images-1.7-1.tar.gz --elm-data elm-offline-data-1.7-1.tar.gz
INFO: Extract files from archive elm-offline-data-1.7-1.tar.gz:
elm-offline-data-1.7-1/
elm-offline-data-1.7-1/config/
elm-offline-data-1.7-1/config/telegraf/
elm-offline-data-1.7-1/config/telegraf/peeper-telegraf.conf
elm-offline-data-1.7-1/.env
elm-offline-data-1.7-1/docker-compose-peeper.yml
elm-offline-data-1.7-1/data/
elm-offline-data-1.7-1/data/elmi-offline-web-ui/
elm-offline-data-1.7-1/data/elmi-offline-web-ui/ssl/
elm-offline-data-1.7-1/data/elmi-offline-web-ui/ssl/autocreated-cert.key
elm-offline-data-1.7-1/data/elmi-offline-web-ui/ssl/autocreated-cert.crt
elm-offline-data-1.7-1/docker-compose.yml
elm-offline-data-1.7-1/docker-compose-remote.yml
elm-offline-data-1.7-1/docker-compose-cli.yml
elm-offline-data-1.7-1/docker-compose-db.yml
Loaded image: elmi-offline-server:1.7-1
Loaded image: elmi-offline-init:1.7-1
Loaded image: elmi-offline-cli:1.7-1
Loaded image: elmi-offline-web-ui:1.7-1
Loaded image: pcscd:alpine3.23
Loaded image: psql-elm:17.2
Loaded image: nginx-prometheus-exporter:1.4.0
Success!

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

elm-offline-data-1.7-1
├── config
│   ├── alloy
│   │   └── config.alloy
│   └── telegraf
│       └── telegraf.conf
├── data
│   └── elmi-offline-web-ui
│       └── ssl
│           ├── autocreated-cert.crt
│           └── autocreated-cert.key
├── docker-compose-cli.yml
├── docker-compose-db.yml
├── docker-compose-remote.yml
├── docker-compose.yml
├── docker-compose-peeper.yml
└── .env

Подготовка для запуска Offline ELM завершена.

Запуск Offline ELM

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

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

$ docker compose up -d

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

Offline ELM успешно запущен. Информация о подключении к интерфейсу Offline ELM и лицензируемых продуктов описана в следующих пунктах.

Установка бандла лицензирования

Для работы лицензирования в Offline ELM необходимо установить файл лицензий (бандл). Установка может быть выполнена через web-интерфейс или с помощью CLI. Порядок установки описан в разделе "Установка бандла Offline ELM".

Подключение к Offline ELM

  1. Подключение к Offline ELM для конфигурирования:
    1. Для получения доступа к web-интерфейсу Offline ELM необходимо ввести в адресной строке браузера ссылку https://<ip_address>:8092, где <ip_address> — это адрес модуля Offline ELM. Порт, на котором принимает входящие запросы web-сервис Offline ELM настраивается в .env-файле через переменную ELM_WEB_UI_PORT, по умолчанию используется порт 8092.

      Данные для авторизации от имени дефолтного пользователя:

      1. Логин: "admin"
      2. Пароль: "password"
    2. Подключиться к CLI Offline ELM можно с помощью команды из папки с конфигурационными файлами (как правило elm-offline-images-1.7-х): 
      $ docker compose --file docker-compose-cli.yml run --rm elmi-offline-cli
      (Подробнее в разделе Интерфейс командной строки CLI Offline ELM ).
  2. Адрес для подключения устройств и ПО к Offline ELM https://<ip_address>:8099 для их лицензирования. Порт 8099 используется по умолчанию, если вы указали другой порт в переменной ELM_SERVER_PORT, следует указывать его.

Альтернативные варианты запуска

Конфигурирование в ручном режиме

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

1. Перейти в директорию с содержимым распакованного архива, полученного в пункте "Получение файлов для запуска Offline ELM".

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

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

4. Для переменной ELM_TAG указать версию Offline ELM:

ELM_TAG="1.7-1"

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

$ docker load < elm-offline-images-1.7-1.tar.gz

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

$ docker images 
REPOSITORY                  TAG          IMAGE ID       CREATED         SIZE
elmi-offline-cli            1.7-1        35d018319362   2 weeks ago     725MB
elmi-offline-init           1.7-1        662cca1f2620   2 weeks ago     17.4MB
elmi-offline-server         1.7-1        178f8dd5d1e2   2 weeks ago     1.15GB
elmi-offline-web-ui         1.7-1        d8a3fdc38fff   2 weeks ago     51.7MB
pcscd                       alpine3.23   c33d10a745a9   6 weeks ago     27MB
psql-elm                    17.2         f47806d827b0   9 months ago    435MB
nginx-prometheus-exporter   1.4.0        02fc5cbeb403   19 months ago   13.7MB

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

$ lsusb | grep "Aktiv Rutoken ECP"
Bus 001 Device 008: ID 0a89:0030 Aktiv Rutoken ECP

8. Для взаимодействия с токеном используется сервис pcscd, который запускается в контейнере elm-token. Если на хостовой системе или гипервизоре установлен демон 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.


# systemctl stop pcscd.socket       # Останавливаем сервис, если он запущен
# systemctl disable pcscd.socket    # Отключаем автозапуск

Подготовка к запуску Offline ELM завершена.

Запуск второй ноды Offline ELM

Для обеспечения высокой доступности сервиса лицензирования можно запустить два экземпляра Offline ELM.
В продукте ELM используются два понятия для обозначения экземпляров модулей: нода (node) и инсталляция (Instance ID). В контексте продукта данные понятия равнозначны, но чаще используется понятие "нода". По умолчанию при запуске модуля Offline ELM используется значение node1, а для подключения второй ноды необходимо в переменных окружения ELM_INSTANCE_ID в файле .env указать значение node2. 

Рекомендуется запускать резервную ноду на отдельном физическом сервере. Запуск нескольких нод на одной операционной системе невозможен.

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

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

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

4. Для переменной ELM_TAG укажите тег 1.7-х. 

ELM_TAG="1.7-1"

5. Установите в переменной ELM_INSTANCE_ID номер инстанса (ноды) текущей инсталляции Offline ELM. Для второй ноды необходимо установить "ELM_INSTANCE_ID=node2":

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

ELM_INSTANCE_ID=node2

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

$ getent group docker| cut -d: -f3 
999
DOCKER_GID="999"

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

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

$ docker load < elm-offline-images-1.7-х.tar.gz

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

$ docker images 
REPOSITORY                  TAG          IMAGE ID       CREATED         SIZE
elmi-offline-cli            1.7-1        35d018319362   2 weeks ago     725MB
elmi-offline-init           1.7-1        662cca1f2620   2 weeks ago     17.4MB
elmi-offline-server         1.7-1        178f8dd5d1e2   2 weeks ago     1.15GB
elmi-offline-web-ui         1.7-1        d8a3fdc38fff   2 weeks ago     51.7MB
pcscd                       alpine3.23   c33d10a745a9   6 weeks ago     27MB
psql-elm                    17.2         f47806d827b0   9 months ago    435MB
nginx-prometheus-exporter   1.4.0        02fc5cbeb403   19 months ago   13.7MB

Для каждой ноды Offline ELM должен быть свой токен. Токены взаимозаменяемые между нодами. Запуск более чем одной ноды Offline ELM с одним токеном невозможен. 

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

$ lsusb | grep "Aktiv Rutoken ECP"
Bus 001 Device 008: ID 0a89:0030 Aktiv Rutoken ECP

11. Убедитесь, что демон 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.
# systemctl stop pcscd.socket

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

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

$ docker compose up -d

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

$ docker compose ps

15. Зайдите в CLI Offline ELM и убедитесь в корректности настройки второй ноды, выполнив команду "show elm", которая покажет номер текущей ноды и версию.

elmi> show elm 
ELM host:
1. Instance: node2
Hostname: ELM standalone
Build version: Version 1.7, build 1, date 14-02-2025 03:40:45 +0000
Status: work
Last updated: 1740539202 (2025-02-26 03:06:42)
Next update: 1740539502 (2025-02-26 03:11:42)
Certificate info: 

	Valid from: 1740538865 (2025-02-26 03:01:05)
	Expiry: 1740563825 (2025-02-26 09:57:05)
	Token serial number: 429b3c49        


elmi> 

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

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

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

ELM_TAG="1.7-1"
ELM_INSTANCE_ID=node1
ELM_DB_HOST=192.168.1.2
ELM_DB_PORT=5432

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

$ docker compose -f docker-compose-db.yml up -d

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

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

ELM_TAG="1.7-1"
ELM_INSTANCE_ID=node1
ELM_DB_CONNECT_HOST=192.168.1.2
ELM_DB_CONNECT_PORT=5432

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

$ docker compose -f docker-compose-remote.yml up -d

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

Остановка Offline ELM 

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

 1. Перейти в директорию с файлами работающего Offline ELM (как правило elm-offline-data-1.7-х).

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

$ docker compose down --remove-orphans

Обновление Offline ELM с версии 1.6-х на 1.7

1. Скачать файлы для запуска (см. раздел "Получение файлов для запуска Offline ELM"). Для запуска Offline ELM достаточно следующих файлов:

    1. elm-offline-data-1.7-х.tar.gz

    2. elm-offline-images-1.7-х.tar.gz
    3. install-offline.sh # Важно скачать обновленный скрипт установки для версии 1.7, т.к. он поддерживает обновление с версии 1.6 на 1.7

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

sudo chmod +x ./install-offline.sh

3. Пример запуска скрипта для обновления Offline ELM 1.6 на 1.7

sudo ./install-offline.sh --update --elm-data elm-offline-data-1.7-1.tar.gz --elm-images elm-offline-images-1.7-1.tar.gz --backup-dir ./ --elm-dir elm-offline-data-1.6-3

Offline ELM будет автоматически остановлен, обновлен и запущен на версии 1.7. Также будет создан бекап версии до обновления. 

sudo ./install-offline.sh --update --elm-data elm-offline-data-1.7-1.tar.gz --elm-images elm-offline-images-1.7-1.tar.gz --backup-dir ./ --elm-dir elm-offline-data-1.6-3/

[+] Running 13/13
 ✔ Container elmi-offline-nginx-exporter   Removed                                                                                                                                                                                                                        0.2s 
 ✔ Container elmi-offline-web-ui           Removed                                                                                                                                                                                                                        0.4s 
 ✔ Container elmi-offline-telegraf         Removed                                                                                                                                                                                                                        0.3s 
 ✔ Container elmi-offline-alloy            Removed                                                                                                                                                                                                                       10.2s 
 ✔ Container elmi-offline-server           Removed                                                                                                                                                                                                                        0.4s 
 ✔ Container elmi-offline-init             Removed                                                                                                                                                                                                                       10.2s 
 ✔ Container elm-token                     Removed                                                                                                                                                                                                                        0.2s 
 ✔ Container elmi-offline-db               Removed                                                                                                                                                                                                                        0.3s 
 ✔ Volume elm-offline-data-16-3_alloy      Removed                                                                                                                                                                                                                        0.0s 
 ✔ Network elmi-offline-network            Removed                                                                                                                                                                                                                        0.1s 
 ✔ Volume elmi-offline-healthcheck-server  Removed                                                                                                                                                                                                                        0.0s 
 ✔ Volume elmi-offline-healthcheck-cli     Removed                                                                                                                                                                                                                        0.0s 
 ✔ Volume elm-offline-data-16-3_elm-pcscd  Removed                                                                                                                                                                                                                        0.0s 
INFO: Created backup archive file .//backup-offline-elm-2026-07-17_11-38-47.tar.gz
INFO: Extract files from archive elm-offline-data-1.7-1.tar.gz:
elm-offline-data-1.7-1/
elm-offline-data-1.7-1/docker-compose-peeper.yml
elm-offline-data-1.7-1/docker-compose.yml
elm-offline-data-1.7-1/provisioning/
elm-offline-data-1.7-1/provisioning/alert-rules/
elm-offline-data-1.7-1/provisioning/alert-rules/reserve/
elm-offline-data-1.7-1/provisioning/alert-rules/reserve/alertRuleGroup-ELM.Offline ELM.json
elm-offline-data-1.7-1/provisioning/alert-rules/single/
elm-offline-data-1.7-1/provisioning/alert-rules/single/alertRuleGroup-ELM.Offline ELM.json
elm-offline-data-1.7-1/provisioning/dashboards/
elm-offline-data-1.7-1/provisioning/dashboards/ELM/
elm-offline-data-1.7-1/provisioning/dashboards/ELM/dashboard-postgres.json
elm-offline-data-1.7-1/provisioning/dashboards/ELM/dashboard-OfflineElmReserve.json
elm-offline-data-1.7-1/provisioning/dashboards/ELM/dashboard-OfflineElmSingle.json
elm-offline-data-1.7-1/provisioning/folders/
elm-offline-data-1.7-1/provisioning/folders/folder-ELM.json
elm-offline-data-1.7-1/data/
elm-offline-data-1.7-1/data/elmi-offline-web-ui/
elm-offline-data-1.7-1/data/elmi-offline-web-ui/ssl/
elm-offline-data-1.7-1/data/elmi-offline-web-ui/ssl/autocreated-cert.key
elm-offline-data-1.7-1/data/elmi-offline-web-ui/ssl/autocreated-cert.crt
elm-offline-data-1.7-1/config/
elm-offline-data-1.7-1/config/telegraf/
elm-offline-data-1.7-1/config/telegraf/peeper-telegraf.conf
elm-offline-data-1.7-1/elm_technical_support.sh
elm-offline-data-1.7-1/docker-compose-remote.yml
elm-offline-data-1.7-1/docker-compose-db.yml
elm-offline-data-1.7-1/.env
elm-offline-data-1.7-1/docker-compose-cli.yml
Loaded image: elmi-offline-server:1.7-1
Loaded image: elmi-offline-init:1.7-1
Loaded image: elmi-offline-cli:1.7-1
Loaded image: elmi-offline-web-ui:1.7-1
Loaded image: pcscd:alpine3.23
Loaded image: psql-elm:17.2
Loaded image: nginx-prometheus-exporter:1.4.0
WARN[0000] a network with name internal exists but was not created for project "elm-offline-data-16-3".
Set `external: true` to use an existing network 
[+] Running 10/10
 ✔ Network elmi-offline-network            Created                                                                                                                                                                                                                        0.0s 
 ✔ Volume elmi-offline-healthcheck-cli     Created                                                                                                                                                                                                                        0.0s 
 ✔ Volume elm-offline-data-16-3_elm-pcscd  Created                                                                                                                                                                                                                        0.0s 
 ✔ Volume elmi-offline-healthcheck-server  Created                                                                                                                                                                                                                        0.0s 
 ✔ Container elm-token                     Started                                                                                                                                                                                                                        0.9s 
 ✔ Container elmi-offline-nginx-exporter   Started                                                                                                                                                                                                                        0.8s 
 ✔ Container elmi-offline-db               Started                                                                                                                                                                                                                        0.9s 
 ✔ Container elmi-offline-init             Started                                                                                                                                                                                                                        1.0s 
 ✔ Container elmi-offline-server           Started                                                                                                                                                                                                                        1.2s 
 ✔ Container elmi-offline-web-ui           Started                                                                                                                                                                                                                        1.6s 

Waiting for containers to start (timeout 120s)...
All services are running successfully!
Success!

Если после выполнения скрипта вы увидели надпись "Success!", значит обновление прошло успешно. После запуска модулю Offline ELM необходимо до 2 минут, чтобы начать работу. После этого будет доступна авторизация в web-интерфейсе и получение лицензии. 

Обновление Offline ELM в пределах версии 1.7

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

1. Скачать архив с образами новой версии по инструкции Получение файлов для запуска Offline ELM . Наименование архива elm-offline-images-1.7-х.tar

2. Перенести архив с образами на хост, на котором запущен Offline ELM.

3. Выполнить загрузку образов из архива на хост. 

$ docker load < elm-offline-images-1.7-2.tar.gz

4. Перейти в папку, где запущен Offline ELM (как правило elm-offline-data-1.7-х). Остановить Offline ELM командой:

$ docker compose down --remove-orphans

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

$ zip -q -r elm-offline-data-1.7_backup.zip elm-offline-data-1.7-1/

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

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

ELM_TAG="1.7-2"

7. Для удобства можно изменить имя папки, в которой находятся конфигурационные файлы Offline ELM. Например следующим образом:

mv elm-offline-data-1.7-1 elm-offline-data-1.7-2

Или не указывать конкретную версию Offline ELM, чтобы в будущем обновлять сервис, не изменяя имени директории.

mv elm-offline-data-1.7-1 elm-offline-data

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

$ docker compose up -d

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

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

elmi> show elm 
ELM host:
1. Instance: node1
Hostname: ELM standalone
Build version: Version 1.7, build 2, date 14-02-2025 03:40:45 +0000
Status: work
Last updated: 1740545279 (2025-02-26 04:47:59)
Next update: 1740545579 (2025-02-26 04:52:59)
Certificate info: 

	Valid from: 1740538865 (2025-02-26 03:01:05)
	Expiry: 1740563825 (2025-02-26 09:57:05)
	Token serial number: 429b3c49        


elmi> 

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

Дополнительная информация

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

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

Данные логи расположены в директории log в рабочем каталоге 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

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

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

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

$ 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

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

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

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

-Да1.7/1.6-1 и т. д.
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Имя служебного пользователя БДelmНет-
ELM_DB_PASSWORDПароль служебного пользователя БД ELM-Нет-
EXTERNAL_MODEФлаг настройки использования заранее созданной docker-сети, используется для задания параметра external в настройках сети docker-compose.ymlfalseНетtrue/false
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Нет-

Удаление Offline ELM

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

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

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

$ docker compose down --remove-orphans --rmi all --volumes 

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

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

$ sudo rm -rf elm-offline-data-1.7-х

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