Описание архитектуры мониторинга
Для мониторинга параметров операционной системы и работоспособности Offline ELM рекомендуется использовать Peeper.
Peeper состоит из серверной части (Peeper Server) и клиентской части (Peeper Client). Peeper Client запускается на хосте с Offline ELM и подключается к Peeper Server. Можно использовать уже развернутый Peeper Server. На одном хосте должен работать только один экземпляр Peeper Client, даже если осуществляется мониторинг нескольких продуктов компании «ЭЛТЕКС».
Подготовка к запуску
- Установите Peeper Server или используйте существующий. Создайте токен сервисного аккаунта в web-интерфейсе Peeper Server (https://<адрес Peeper Server>:443): Administration → Users and access → Service accounts → Add service account. При создании сервисного аккаунта назначьте ему роль Editor или Admin, затем нажмите Add service account token → Generate token. Если токен сервисного аккаунта уже создан, используйте его для подключения Offline ELM к Peeper Server.
Если 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
- Скачайте архив elm-monitoring-data-1.7.tar.gz с конфигурационными файлами мониторинга Offline ELM из комплекта поставки Offline ELM. После скачивания архива, его необходимо поместить на целевой хост, где запущен Offline ELM.
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, фактическая версия зависит от содержимого архива.
Внимание
Для корректной работы мониторинга Offline ELM требуется Peeper Client версии 1.1 или выше. Уже работающий на хосте Peeper Client, используемый для мониторинга другого продукта компании, можно использовать и для Offline ELM — повторная загрузка образов не требуется.
Если на момент установки Offline ELM на хосте уже были загружены образы Peeper Client, скрипт автоматически определяет их версию и записывает соответствующий тег в
APP_VERSIONфайла.env. При наличии нескольких доступных версий выбирается более новая. Для версии ниже 1.1 выводится предупреждение о необходимости обновления.- Распакуйте конфигурационные файлы мониторинга Offline ELM из архива elm-monitoring-data-1.7.tar.gz в папку с запущенным Offline ELM (по умолчанию elm-offline-data-1.7-2)
- Если вы запускаете один Offline ELM:
tar -xzf elm-monitoring-data-1.7.tar.gz -O provisioning-single.tar.gz | tar -xzf - -C elm-offline-data-1.7-2/
- Если вы запускаете Offline ELM в режиме резервирования — два инстанса:
tar -xzf elm-monitoring-data-1.7.tar.gz -O provisioning-reserve.tar.gz | tar -xzf - -C elm-offline-data-1.7-2/
- Если вы запускаете один Offline ELM:
На этом подготовка к запуску мониторинга завершена.
Запуск мониторинга Offline ELM
Запуск мониторинга для одного инстанса Offline ELM
- Перейдите в директорию с запущенным Offline ELM, которая содержит файлы Docker Compose.
В файл
.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 другими продуктами на этом хосте
- Если Peeper Client предназначен только для Offline ELM, запустите его сервисы командой:
docker compose -f docker-compose-peeper.yml up -d
- Если Peeper Client уже используется для другого продукта, не запускайте дополнительный экземпляр Peeper Client. При наличии, удалите ранее созданный контейнер elm-peeper-provisioner, затем запустите его для передачи дашбордов и алертов Offline ELM на Peeper Server:
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
- Если Peeper Client предназначен только для Offline ELM, запустите его сервисы командой:
- Перейдите в веб-интерфейс Peeper Server и убедитесь, что в списке дашбордов появилась папка ELM с дашбордом Offline ELM.
Обновление информации
Загрузка и обновление данных мониторинга может занимать от 1 до 5 минут.
- В случае корректной настройки, на дашборде будет отображаться оперативная информация о состоянии Offline ELM.
Запуск и настройка мониторинга окончены. Подробнее о информации на панелях мониторинга и алертах написано в разделе "Описание мониторинга Offline ELM".
Запуск мониторинга для двух инстансов Offline ELM
В разделе "Подготовка к запуску" в п.5 должен быть распакован архив provisioning-reserve.tar.gz.
- Перейдите в директорию с запущенным Offline ELM, содержащую файлы Docker Compose
В файл
.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 другими продуктами на этом хосте
- Если Peeper Client предназначен только для Offline ELM, запустите его сервисы командой:
docker compose -f docker-compose-peeper.yml up -d
- Если Peeper Client уже используется для другого продукта, не запускайте дополнительный экземпляр Peeper Client. При наличии, удалите ранее созданный контейнер elm-peeper-provisioner, затем запустите его для передачи дашбордов и алертов Offline ELM на Peeper Server:
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
- Если Peeper Client предназначен только для Offline ELM, запустите его сервисы командой:
- Выполните пункты 1-3 для второй ноды Offline ELM. Не забудьте указать node2 в env-файле в переменной
ELM_INSTANCE_ID. - Перейдите в веб-интерфейс Peeper Server и убедитесь, что в списке дашбордов появилась папка ELM с дашбордом Offline ELM.
Обновление информации
Загрузка и обновление данных мониторинга может занимать от 1 до 5 минут.
- В случае корректной настройки, на дашборде будет отображаться оперативная информация о состоянии Offline ELM.
Запуск и настройка мониторинга окончены. Подробнее о информации на панелях мониторинга и алертах написано в разделе "Описание мониторинга Offline ELM".
Обновление системы мониторинга
Система мониторинга версии 1.7 несовместима с системой мониторинга предыдущих версий.
Переход с мониторинга Offline ELM 1.6 на Peeper
- Перейдите в рабочую директорию старого мониторинга версии 1.6 (не в каталог установки Offline ELM) и остановите его контейнеры:
docker compose down --remove-orphans
Обновите Offline ELM до версии 1.7 согласно разделу "Обновление Offline ELM" в инструкции по установке и обслуживанию.
- Выполните шаги разделов "Подготовка к запуску" и "Запуск мониторинга Offline ELM".
Обновление 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
В директории комплекта поставки 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. Работающие контейнеры скрипт не перезапускает.- Перезапустите Peeper Client в зависимости от способа его запуска:
- Если Peeper Client запущен из рабочей директории Offline ELM, перейдите в нее и выполните:
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 из его рабочей директории.
- Если Peeper Client запущен из рабочей директории Offline ELM, перейдите в нее и выполните:
Скрипт 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
Описание мониторинга Offline ELM
Для каждой панели есть возможность узнать подробнее какую информацию она показывает. Для этого необходимо навести курсор на значок "i"
Метрики сервера Offline ELM
Мониторинг инфраструктуры
| Цель мониторинга | Панель | Описание метрики | Алерт | Действие |
|---|---|---|---|---|
Контроль работоспособности 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
| Цель мониторинга | Панель | Описание метрики | Алерт | Действие |
|---|---|---|---|---|
| Контроль способности сервера 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 |
| Алерт не предусмотрен | - |


