Описание архитектуры мониторинга
Для мониторинга параметров операционной системы и работоспособности Offline ELM рекомендуется развернуть Peeper. Можно подключиться к уже запущенному Peeper Server.
Подготовка к запуску
- Перед настройкой и запуском мониторинга Offline ELM настройте peeper-server (способ получения описан в документации Peeper). Сгенерируйте token в веб-интерфейсе Grafana (https://<адрес Peeper Server>:443). Зайдите в меню "Administration" → "Users and access" → "Service accounts" → "Add service account" → "Add service account token" → "Generate token". Либо подключайтесь к уже запущенному Peeper Server с существующим токеном.
Внимание
Если на данном хосте уже есть запущенный peeper-client от другого продукта (ECCM, NAICE и т.д.), то дальнейшие шаги данного раздела выполнять не надо, так как образы контейнеров peeper-client, которые будут использоваться, уже должны быть загружены на данный хост.
Если планируется мониторинг других продуктов на этом же хосте, рекомендуется выполнить запуск, следуя инструкциям данных продуктов, а затем выполнить шаги из раздела "Запуск мониторинга Offline ELM".
Для offline-установки Peeper Client скачайте на сервер архив с файлами peeper-client: https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-client-offline.tar
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.
- Скачайте архив с конфигурационными файлами мониторинга Offline ELM. По ссылке https://cloud.eltex-co.ru/index.php/s/GzJfChMAVhkqINI необходимо скачать архив с именем elm-monitoring-data-1.7.tar.gz. После скачивания архива, его необходимо поместить на целевой хост, где запущен Offline ELM.
wget "https://cloud.eltex-co.ru/index.php/s/GzJfChMAVhkqINI/download/elm-offline-data-1.7-1.tar.gz"
Далее распакуйте из архива peeper-client-offline.tar файлы на целевом хосте.
mkdir -p peeper-client-offline && tar -xvf peeper-client-offline.tar -C peeper-client-offline ./setup.sh ./images/
Выполните команду для загрузки образов peeper client из архива:
sudo peeper-client-offline/setup.sh --load
- Проверка загруженных образов peeper
docker images | grep peeper hub.eltex-co.ru/peeper/peeper-agent:1.0 8a02518cae51 29.1MB 0B hub.eltex-co.ru/peeper/peeper-exporter-mysql:1.0 7cc6d80c606f 21.6MB 0B hub.eltex-co.ru/peeper/peeper-exporter-postgres:1.0 4a68d9b7a3b7 22.7MB 0B hub.eltex-co.ru/peeper/peeper-exporter-sql:1.0 155fa361e7aa 81.6MB 0B hub.eltex-co.ru/peeper/peeper-provisioner-base:1.0 e6b9fc3476ba 64.6MB 0B hub.eltex-co.ru/peeper/peeper-telegraf:1.0 1626ce3d53fb 316MB 0B hub.eltex-co.ru/peeper/peeper-vector:1.0 06103db215c1 269MB 0B
- Распакуйте конфигурационные файлы мониторинга Offline ELM из архива elm-monitoring-data-1.7.tar.gz в папку с запущенным Offline ELM (по умолчанию elm-offline-data-1.7-1)
- Если вы запускаете один Offline ELM:
tar -xzf elm-monitoring-data-1.7.tar.gz -O provisioning-single.tar.gz | tar -xzf - -C elm-offline-data-1.7-1/
- Если вы запускаете Offline ELM в режиме резервирования — два инстанса:
tar -xzf elm-monitoring-data-1.7.tar.gz -O provisioning-reserve.tar.gz | tar -xzf - -C elm-offline-data-1.7-1/
- Если вы запускаете один Offline ELM:
На этом подготовка к запуску мониторинга завершена.
Запуск мониторинга Offline ELM
Запуск мониторинга для одного инстанса Offline ELM
Внимание
Если планируется мониторинг других продуктов на этом же хосте, рекомендуется выполнить запуск мониторинга peeper, следуя инструкциям данных продуктов, а затем выполнить шаги из этого раздела.
- Перейдите в папку с запущенным Offline ELM, содержащую файлы Docker Compose
В файл
.envвнесите следующие изменения:- В переменной
PEEPER_HOSTукажите IP-адрес или доменное имя для подключения к Peeper-server. - В переменной
PEEPER_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_EXTERNAL_MODE="true" # false, если на сервере отсутствует external network в docker PEEPER_TOKEN="" # Токен сервисного аккаунта, который создается в peeper-server DOCKER_GID= # id группы пользователей docker
- В переменной
- Данный шаг зависит от того, запускается ли мониторинг через Peeper на данном хосте только для Offline ELM или он уже запущен (планируется к запуску) для другого продукта (сервиса) компании Eltex на этом же хосте:
- Если мониторинг запускается только для Offline ELM:
docker compose -f docker-compose-peeper.yml up -d
- Если есть уже запущенный мониторинг Peeper на этом хосте для другого продукта (сервиса) компании Eltex:Ошибка пересечения сетей
docker compose -f docker-compose-peeper.yml up -d elm-peeper-provisioner
В случае возникновения ошибки, указанной ниже, необходимо отредактировать файл .env и указать значение переменной
PEEPER_EXTERNAL_MODE="true".Error response from daemon: error while removing network: network internal has active endpoints
- Если мониторинг запускается только для Offline ELM:
- Перейдите в веб-интерфейс Peeper Server и убедитесь, что в списке дашбордов появилась папка ELM с дашбордом Offline ELM.
Обновление информации
Загрузка и обновление данных мониторинга может занимать от 1 до 5 минут.
5. В случае корректной настройки, на дашборде будет отображаться оперативная информация о состоянии Offline ELM.
Запуск и настройка мониторинга окончены. Подробнее о информации на панелях мониторинга и алертах написано в разделе "Описание мониторинга Offline ELM".
Запуск мониторинга для двух инстансов Offline ELM
Внимание
Если планируется мониторинг других продуктов на этом же хосте, рекомендуется выполнить запуск мониторинга peeper по инструкции данных продуктов, а затем выполнить шаги из этого раздела.
В разделе "Подготовка к запуску" в п.7 должен быть распакован архив provisioning-reserve.tar.gz.
- Перейдите в папку с запущенным Offline ELM, содержащую файлы Docker Compose
В файл
.envвнесите следующие изменения:- В переменной
PEEPER_HOSTукажите IP-адрес или доменное имя для подключения к Peeper-server. - В переменной
PEEPER_EXTERNAL_MODEустановите значениеtrueво избежание конфликтов при создании external сети в Docker. - В переменной
PEEPER_TOKENукажите токен, полученный в пункте 1 раздела "Подготовка к запуску". В переменной
DOCKER_GIDукажите id группы пользователей docker.В переменной
ELM_INSTANCE_IDукажите id ноды. Для основного сервера node1, для резервного node2.ELM_INSTANCE_ID=node1 PEEPER_HOST="peeper-server.loc" # Доменное имя или IP-адрес Peeper-сервера PEEPER_EXTERNAL_MODE="true" # false, если на сервере отсутствует external network в docker PEEPER_TOKEN="" # Токен сервисного аккаунта, который создается в peeper-server DOCKER_GID= # id группы пользователей docker
- В переменной
- Данный шаг зависит от того, запускается ли мониторинг через Peeper на данном хосте только для Offline ELM или он уже запущен (планируется к запуску) для другого продукта (сервиса) компании Eltex на этом же хосте:
- Если мониторинг запускается только для Offline ELM:
docker compose -f docker-compose-peeper.yml up -d
- Если есть уже запущенный мониторинг Peeper на этом хосте для другого продукта (сервиса) компании Eltex:Ошибка пересечения сетей
docker compose -f docker-compose-peeper.yml up -d elm-peeper-provisioner
В случае возникновения ошибки, указанной ниже, необходимо отредактировать файл .env и указать значение переменной
PEEPER_EXTERNAL_MODE="true".Error response from daemon: error while removing network: network internal has active endpoints
- Если мониторинг запускается только для 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 необходимо выполнить следующие действия:
- Перейти в директорию с конфигурационными файлами мониторинга 1.6.
- Выполнить остановку контейнеров с очищением Docker volume.Команда остановки всех контейнеров
$ docker compose down --remove-orphans
- Выполнить запуск мониторинга 1.7 по инструкции.
Остановка системы мониторинга
Для остановки системы мониторинга Offline ELM требуется произвести следующие шаги:
1. Перейти в директорию с запущенным Offline ELM (по умолчанию elm-offline-data-1.x).
2. Выполнить команду:
docker compose -f docker-compose-peeper.yml down -v
Описание мониторинга 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 |
| Алерт не предусмотрен | - |


