Для мониторинга параметров операционной системы и работоспособности Offline ELM рекомендуется использовать Peeper.
Peeper состоит из серверной части (Peeper Server) и клиентской части (Peeper Client). Peeper Client запускается на хосте с Offline ELM и подключается к Peeper Server. Можно использовать уже развернутый Peeper Server. На одном хосте должен работать только один экземпляр Peeper Client, даже если осуществляется мониторинг нескольких продуктов компании «ЭЛТЕКС».

Если Peeper Client еще не установлен или его требуется обновить, для offline-установки скачайте на сервер архив образов Peeper Client peeper-client-offline.tar. После скачивания архива, его необходимо поместить на целевой хост, где запущен Offline ELM.
wget "https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-client-offline.tar" -O peeper-client-offline.tar |
wget "https://cloud.eltex-co.ru/index.php/s/GzJfChMAVhkqINI/download?path=%2F&files=elm-monitoring-data-1.7.tar.gz" -O elm-monitoring-data-1.7.tar.gz |
Если Peeper Client еще не установлен или его требуется обновить, загрузите образы из архива с помощью скрипта install-offline.sh из комплекта Offline ELM. В параметре --env укажите путь к файлу .env действующей установки. Например:
sudo ./install-offline.sh --peeper-client peeper-client-offline.tar --env /home/user/elm-offline-1.7-2/elm-offline-data-1.7-2/.env |
В примере ниже показана загрузка Peeper Client 1.2, фактическая версия зависит от содержимого архива.
$ sudo ./install-offline.sh --peeper-client peeper-client-offline.tar --env /home/user/elm-offline-1.7-2/elm-offline-data-1.7-2/.env INFO: Checking required commands... INFO: Validating arguments... INFO: Checking peeper-client archive is correct... INFO: Checking ENV-file is correct... INFO: Installing peeper-client from 'peeper-client-offline.tar'. INFO: Unpacking peeper-client archive. INFO: Loading peeper-client Docker images. Loaded image: hub.eltex-co.ru/peeper/peeper-agent:1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-exporter-mysql:1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-exporter-postgres:1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-exporter-sql:1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:ecss10-1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:ecss-geo-1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:elph-1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:evi-1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:peeper-1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-provisioner:smartivr-1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-telegraf:1.2 Loaded image: hub.eltex-co.ru/peeper/peeper-vector:1.2 INFO: Loaded peeper-client version '1.2' from the archive. INFO: Installed peeper-client version '1.2' from the archive is the active version. INFO: The active peeper-client version is '1.2' (tag '1.2'). INFO: Set 'APP_VERSION' value '1.2' in file '/home/user/elm-offline-1.7-2/elm-offline-data-1.7-2/.env'. INFO: Peeper-client setup completed successfully. |
Для корректной работы мониторинга Offline ELM требуется Peeper Client версии 1.1 или выше. Уже работающий на хосте Peeper Client, используемый для мониторинга другого продукта компании, можно использовать и для Offline ELM — повторная загрузка образов не требуется. Если на момент установки Offline ELM на хосте уже были загружены образы Peeper Client, скрипт автоматически определяет их версию и записывает соответствующий тег в |
tar -xzf elm-monitoring-data-1.7.tar.gz -O provisioning-single.tar.gz | tar -xzf - -C elm-offline-data-1.7-2/ |
tar -xzf elm-monitoring-data-1.7.tar.gz -O provisioning-reserve.tar.gz | tar -xzf - -C elm-offline-data-1.7-2/ |
На этом подготовка к запуску мониторинга завершена.
В файл .env внесите следующие изменения:
PEEPER_HOST укажите IP-адрес или доменное имя для подключения к Peeper-Server.PEEPER_IP укажите IP-адрес Peeper Server. Заполните ее независимо от того, что указано в PEEPER_HOST: доменное имя или IP-адрес. Если в PEEPER_HOST указан IP-адрес, продублируйте его в PEEPER_IP.EXTERNAL_MODE установите значение true во избежание конфликтов при создании external сети в Docker.PEEPER_TOKEN укажите токен, полученный в пункте 1 раздела "Подготовка к запуску".В переменной DOCKER_GID укажите id группы пользователей docker.
В переменной ELM_INSTANCE_ID укажите id ноды. Если вы запускаете только один сервер, то оставьте значение node1.
ELM_INSTANCE_ID=node1 PEEPER_HOST="peeper-server.loc" # Доменное имя или IP-адрес Peeper-сервера PEEPER_IP="192.168.1.1" # IP сервера Peeper, на которое будет резолвиться доменное имя сервера Peeper EXTERNAL_MODE="true" # false, если на сервере отсутствует external network в docker PEEPER_TOKEN="" # Токен сервисного аккаунта, который создается в peeper-server DOCKER_GID= # id группы пользователей docker |
Запустите мониторинг:
Способ запуска мониторинга зависит от использования Peeper Client другими продуктами на этом хосте |
docker compose -f docker-compose-peeper.yml up -d |
docker rm elm-peeper-provisioner docker compose -f docker-compose-peeper.yml up -d elm-peeper-provisioner |
Ошибка пересечения сетей
В случае возникновения ошибки, указанной ниже, необходимо отредактировать файл .env и указать значение переменной EXTERNAL_MODE="true".
Error response from daemon: error while removing network: network internal has active endpoints |
Загрузка и обновление данных мониторинга может занимать от 1 до 5 минут. |

Запуск и настройка мониторинга окончены. Подробнее о информации на панелях мониторинга и алертах написано в разделе "Описание мониторинга Offline ELM".
В разделе "Подготовка к запуску" в п.5 должен быть распакован архив provisioning-reserve.tar.gz.
В файл .env внесите следующие изменения:
PEEPER_HOST укажите IP-адрес или доменное имя для подключения к Peeper-Server.PEEPER_IP укажите IP-адрес Peeper Server. Заполните ее независимо от того, что указано в PEEPER_HOST: доменное имя или IP-адрес. Если в PEEPER_HOST указан IP-адрес, продублируйте его в PEEPER_IP.EXTERNAL_MODE установите значение true во избежание конфликтов при создании external сети в Docker.PEEPER_TOKEN укажите токен, полученный в пункте 1 раздела "Подготовка к запуску".В переменной DOCKER_GID укажите id группы пользователей docker.
В переменной ELM_INSTANCE_ID укажите id ноды.
ELM_INSTANCE_ID=node1 PEEPER_HOST="peeper-server.loc" # Доменное имя или IP-адрес Peeper-сервера PEEPER_IP="192.168.1.1" # IP сервера Peeper, на которое будет резолвиться доменное имя сервера Peeper EXTERNAL_MODE="true" # false, если на сервере отсутствует external network в docker PEEPER_TOKEN="" # Токен сервисного аккаунта, который создается в peeper-server DOCKER_GID= # id группы пользователей docker |
Запустите мониторинг:
Способ запуска мониторинга зависит от использования Peeper Client другими продуктами на этом хосте |
docker compose -f docker-compose-peeper.yml up -d |
docker rm elm-peeper-provisioner docker compose -f docker-compose-peeper.yml up -d elm-peeper-provisioner |
Ошибка пересечения сетей
В случае возникновения ошибки, указанной ниже, необходимо отредактировать файл .env и указать значение переменной EXTERNAL_MODE="true".
Error response from daemon: error while removing network: network internal has active endpoints |
ELM_INSTANCE_ID.
Загрузка и обновление данных мониторинга может занимать от 1 до 5 минут. |

Запуск и настройка мониторинга окончены. Подробнее о информации на панелях мониторинга и алертах написано в разделе "Описание мониторинга Offline ELM".
Система мониторинга версии 1.7 несовместима с системой мониторинга предыдущих версий. |
docker compose down --remove-orphans |
Обновите Offline ELM до версии 1.7 согласно разделу "Обновление Offline ELM" в инструкции по установке и обслуживанию.
Для offline-установки скачайте на сервер архив образов Peeper Client peeper-client-offline.tar. После скачивания архива, его необходимо поместить на целевой хост, где запущен Offline ELM.
wget "https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-client-offline.tar" -O peeper-client-offline.tar |
В директории комплекта поставки Offline ELM запустите скрипт install-offline.sh, указав путь к архиву с образами Peeper Client и файлу .env действующей установки. Например:
sudo ./install-offline.sh --peeper-client peeper-client-offline.tar --env /home/user/elm-offline-1.7-2/elm-offline-data-1.7-2/.env |
Скрипт загрузит образы, определит активную версию Peeper Client и запишет ее тег в APP_VERSION указанного файла .env. Работающие контейнеры скрипт не перезапускает.
cd /home/user/elm-offline-1.7-2/elm-offline-data-1.7-2 docker compose -f docker-compose-peeper.yml down docker compose -f docker-compose-peeper.yml up -d |
Если Peeper Client изначально запущен из конфигурации другого продукта, не выполняйте команды перезапуска из рабочей директории Offline ELM, иначе будет запущен дополнительный экземпляр Client. Укажите требуемый тег версии в конфигурации другого продукта, затем перезапустите существующий Peeper Client из его рабочей директории.
Скрипт install-offline.sh изменяет APP_VERSION только в файле .env Offline ELM, указанном при его запуске, и не изменяет конфигурацию ранее установленного Peeper Client.
Для остановки системы мониторинга Offline ELM требуется произвести следующие шаги:
1. Перейти в директорию с запущенным Offline ELM (по умолчанию elm-offline-data-1.x).
2. Выполнить команду:
docker compose -f docker-compose-peeper.yml down |
Для каждой панели есть возможность узнать подробнее какую информацию она показывает. Для этого необходимо навести курсор на значок "i"
| Цель мониторинга | Панель | Описание метрики | Алерт | Действие |
|---|---|---|---|---|
Контроль работоспособности Docker-контейнеров | Docker container healthcheck state |
| Наименование:
Условие: Код возврата ненулевой Severity: critical |
|
Контроль доступности USB-токена | ELM USB token Status | elm_server_tokenState_value_events — Состояние доступности USB-токена | Наименование:
Условие: Код возврата ненулевой Severity: critical |
|
| Контроль ошибок доступности USB-токена | ELM Token access errors | elm_server_tokenAccessError_value_events — Ошибки доступности USB-токена | Наименование:
Условие: Severity: critical |
|
Контроль доступности web-интерфейса | Web UI Status | nginx_up | Наименование:
Условие: Код возврата не равен 1 Severity: medium |
|
| Контроль работоспособности базы данных | DB errors and denial of service ELM | elm_server_databaseError_value_events — Ошибка доступа к БД | Наименование:
Условие: Severity: critical |
|
| Цель мониторинга | Панель | Описание метрики | Алерт | Действие |
|---|---|---|---|---|
| Заблаговременно сообщить о необходимости продления лицензии | Licensing states | elm_server_licensingState_value_events — Состояние срока действия лицензии:
| Наименование:
Условие: Код возврата ненулевой Severity: high | Запросить продление лицензии у поставщика оборудования |
| Контроль срока действия лицензии | Licensing expiry dates | elm_server_licensingExpiry_value_events — Дата окончания срока действия лицензии | Алерт не предусмотрен | - |
| Сообщить о необходимости продления сертификата на USB-токене | Certificate state | elm_server_certificateState_value_events — Состояние срока действия сертификата
| Наименование:
Условие: Код возврата ненулевой Severity: critical | Запросить продление сертификата на USB-токене у поставщика оборудования |
| Контроль срока действия сертификата на USB-токене | Certificate expiry date | elm_server_certificateExpiry_value_events — Дата окончания срока действия сертификата | Алерт не предусмотрен | - |
| Цель мониторинга | Панель | Описание метрики | Алерт | Действие |
|---|---|---|---|---|
| Мониторинг запросов лицензии | ELM license request | elm_server_licenseRequest_value_events — Запрос файла лицензии от устройства/ПО | Алерт не предусмотрен |
|
| Мониторинг неудачных запросов лицензии | ELM license request | elm_server_licenseRequestFailed_value_events — Ошибка получения файла персональной лицензии устройством | Наименование:
Условие: Severity: high |
|
| Контроль ошибок аутентификации от лицензируемых продуктов | Authentication errors ELM | elm_server_authFailed_value_events — Ошибка аутентификации от устройства или ПО | Наименование:
Условие: В течение 4 часов каждый час фиксируется больше 3 ошибок Severity: low |
|
| Контроль обращений от неподдерживаемых продуктов в рамках установленной лицензии | Authentication errors ELM | elm_server_unsupportedAuthRequest_value_events — Запрос аутентификации от устройства или ПО, которое не поддерживается лицензией | Наименование:
Условие: В течение 4 часов каждый час фиксируется больше 3 ошибок Severity: low |
|
| Цель мониторинга | Панель | Описание метрики | Алерт | Действие |
|---|---|---|---|---|
| Контроль способности сервера Offline ELM обрабатывать клиентские запросы | DB errors and denial of service ELM | elm_server_serviceDenial_value_events — Отказ в обслуживании (отклонение запросов из-за загруженности сервера) | Наименование:
Условие: Severity: medium |
|
| Мониторинг автоматически созданных блокирующих IP-правил | ELM Block IP addresses | elm_server_blockIp_value_events — Автоматическая блокировка IP-адреса | Наименование:
Условие: Severity: medium |
|
| Мониторинг блокировки доступа по IP | ELM Access denied by IP addresses | elm_server_ipAccessDenied_value_events — Запрет доступа по IP | Наименование:
Условие: Severity: low |
|
| Мониторинг подключений к web-интерфейсу | ELM processed WEB connections |
| Алерт не предусмотрен | - |
| ELM active WEB connections |
| Алерт не предусмотрен | - |