EDM предоставляется клиентам как набор Docker-контейнеров с файлами для их запуска с определенными настройками. С учётом существующих практик мониторинга и контроля работы Docker-контейнеров был сформирован набор сервисов для мониторинга EDM Issue:
Пример файлов конфигурации сервисов мониторинга и пример файла Docker Compose для запуска сервисов мониторинга вместе с EDM Issue поставляется в архиве вместе с служебными файлами для запуска EDM Issue. Файлы системы мониторинга в этом архиве находятся в директории monitoring и имеют следующую структуру:
.
├── .env
├── docker-compose.yml
├── grafana
│ └── provisioning
│ ├── dashboards
│ │ ├── dashboard.yml
│ │ ├── edm_alert_metrics.json
│ │ └── edm_monitor.json
│ ├── datasources
│ │ └── datasource.yml
│ └── notifiers
│ ├── email.yml
│ └── telegram.yml
├── influxdb
│ └── influx_init.iql
├── prometheus
│ └── prometheus.yml
└── telegraf
└── telegraf.conf |
Для запуска системы мониторинга EDM Issue требуется произвести следующие шаги:
Запустить систему мониторинга EDM Issue командой:
docker compose up -d |
edm@edm:~/issue/monitoring$ docker compose up -d [+] Running 42/42 ⠿ prometheus Pulled 47.0s ⠿ 76df9210b28c Pull complete 11.1s ⠿ 559be8e06c14 Pull complete 11.5s ⠿ 0f8c479799f2 Pull complete 25.5s ⠿ 18b600182fb7 Pull complete 30.0s ⠿ 7107ca4b8b6a Pull complete 38.3s ⠿ 6d4f7a6bf1de Pull complete 40.2s ⠿ 70791e712bf8 Pull complete 45.8s ⠿ 11ccf794006c Pull complete 46.1s ⠿ 44dc96c0af43 Pull complete 46.2s ⠿ ecdf06ab4b8d Pull complete 46.4s ⠿ 50e51d4c12aa Pull complete 46.5s ⠿ c37593abaed6 Pull complete 46.8s ⠿ grafana Pulled 46.1s ⠿ 188c0c94c7c5 Pull complete 8.0s ⠿ 63b9b7e38dd5 Pull complete 8.2s ⠿ a1b68a35c4eb Pull complete 8.6s ⠿ fb97c1057eb0 Pull complete 10.9s ⠿ 6ab60835f369 Pull complete 26.6s ⠿ 4f4fb700ef54 Pull complete 31.2s ⠿ 006fd685411a Pull complete 38.3s ⠿ c1801e3c15c0 Pull complete 41.0s ⠿ nginx-exporter Pulled 38.6s ⠿ 16fc7305de97 Pull complete 25.7s ⠿ 6da7d2f4f3c3 Pull complete 35.9s ⠿ influxdb Pulled 49.5s ⠿ 2587235a7635 Pull complete 38.2s ⠿ 953fe5c215cb Pull complete 41.2s ⠿ d4d3f270c7de Pull complete 46.0s ⠿ d81696497404 Pull complete 46.1s ⠿ febe82b40114 Pull complete 48.5s ⠿ 9a89692c7853 Pull complete 48.6s ⠿ 5b833af9a4dc Pull complete 48.7s ⠿ 69d297038fc8 Pull complete 48.9s ⠿ telegraf Pulled 42.7s ⠿ 0bc3020d05f1 Pull complete 15.8s ⠿ a110e5871660 Pull complete 18.2s ⠿ 83d3c0fa203a Pull complete 19.0s ⠿ bc0127a0f443 Pull complete 22.3s ⠿ c9d5466d920e Pull complete 26.8s ⠿ 5e68d2e1c8a4 Pull complete 38.2s ⠿ 2aaece7e10c3 Pull complete 38.5s [+] Running 9/9 ⠿ Volume "monitoring_influxdb" Created 0.0s ⠿ Volume "monitoring_prometheus" Created 0.0s ⠿ Volume "monitoring_grafana_config" Created 0.0s ⠿ Volume "monitoring_grafana_data" Created 0.0s ⠿ Container monitoring-prometheus-1 Started 5.0s ⠿ Container monitoring-grafana-1 Started 5.4s ⠿ Container monitoring-nginx-exporter-1 Started 5.4s ⠿ Container monitoring-influxdb-1 Started 5.2s ⠿ Container monitoring-telegraf-1 Started 5.1s edm@edm:~/issue/monitoring$ |
Убедиться, что все контейнеры EDM Issue успешно запустились, используя команду:
docker compose ps |
edm@edm:~/issue/monitoring$ docker compose ps NAME COMMAND SERVICE STATUS PORTS monitoring-grafana-1 "/run.sh" grafana running 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp monitoring-influxdb-1 "/entrypoint.sh infl…" influxdb running 8086/tcp monitoring-nginx-exporter-1 "/usr/bin/nginx-prom…" nginx-exporter running monitoring-prometheus-1 "/bin/prometheus --c…" prometheus running 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp monitoring-telegraf-1 "/entrypoint.sh tele…" telegraf running 8125/udp edm@edm:~/issue/monitoring$ |
Теперь с системой мониторинга EDM Issue можно взаимодействовать через web-интерфейс Grafana.
Для остановки системы мониторинга EDM Issue требуется произвести следующие шаги:
Выполнить команду:
docker compose down |
edm@edm:~/issue/monitoring$ docker compose down [+] Running 5/5 ⠿ Container monitoring-telegraf-1 Removed 1.5s ⠿ Container monitoring-grafana-1 Removed 3.2s ⠿ Container monitoring-prometheus-1 Removed 3.9s ⠿ Container monitoring-nginx-exporter-1 Removed 3.8s ⠿ Container monitoring-influxdb-1 Removed 3.9s edm@edm:~/issue/monitoring$ |
В результате этого сервис мониторинга EDM Issue будет остановлен. Ошибка, возникшая при остановке системы мониторинга, появляется в том случае, если работа системы мониторинга останавливается при работающем EDM Issue, т.е. эту ошибку можно игнорировать. Для повторного запуска остановленного сервиса мониторинга EDM Issue нужно выполнить команду "docker compose up -d".
После запуска системы мониторинга EDM Issue администратору системы мониторинга становится доступен web-интерфейс Grafana по адресу http://<EDM_ADDRESS>:3000/,где <EDM_ADDRESS> — это адрес сервера EDM Issue в сети (это может быть IP-адрес или доменное имя, если для IP-адреса хоста, на котором запущен EDM Issue, создана DNS-запись). Авторизоваться в ней можно по умолчанию с логином admin и паролем password.

Рисунок 25 – Форма авторизации web-интерфейса Grafana
После авторизации в web-интерфейсе Grafana для доступа к данным мониторинга с EDM Issue требуется перейти в раздел "Dashboards" – "Manage". В этом разделе в директории "General" будет располагаться две панели мониторинга – "edm_alert_metrics" и "edm_monitor".

Рисунок 26 – Список панелей мониторинга EDM Issue
Панель мониторинга "edm_alert_metrics" предоставляет администратору EDM Issue информацию о состоянии внутренних метрик EDM Issue.

Рисунок 27 – Общий вид панели мониторинга "edm_alert_metrics"
Полный список представленных на панели метрик перечислен в таблице 1.
Таблица 1 — Список внутренних метрик EDM Issue, отображающийся в панели мониторинга "edm_alert_metrics" web-интерфейса Grafana
| Имя счётчика | Описание | Примечание |
|---|---|---|
| Общие для контейнеров edmi-server и edmi-loader | ||
| dbAccessError | Ошибки доступа к БД | |
| sqlError | Ошибки выполнения SQL-запроса | |
| rootAccessError | Ошибки подключения к Root-серверу | |
| Только для контейнера edmi-loader | ||
| loadLicenseData | Время получения данных лицензии | С замером длительности и фиксацией успешности |
| loadIpsDataError | Ошибки, возникшие при обновлении загружаемого контента, не связанные с конкретным поставщиком IDS/IPS-правил | |
| kasperskyLoadRules | Время загрузки лицензируемых IDS/IPS-правил вендора Kaspersky Lab от EDM Root | С замером длительности и фиксацией успешности |
| ptsecurityLoadRules | Время загрузки лицензируемых IDS/IPS-правил вендора Positive Technologies от EDM Root | С замером длительности и фиксацией успешности |
| loadOpenRules | Время загрузки лицензируемых IDS/IPS-правил из открытых источников | С замером длительности и фиксацией успешности |
| loadOpenFileError | Ошибки получения отдельно взятого файла с IDS/IPS-правилами из открытого источника | |
| syncDevices | Время синхронизации списка устройств | С замером длительности и фиксацией успешности |
| Только для контейнера edmi-server | ||
| esrRulesRequest | Количество запросов правил от ESR | С замером длительности и фиксацией успешности |
| esrCertificateRequest | Количество запросов сертификата от EDM Issue | С замером длительности и фиксацией успешности |
| revokeCertificate | Количество отзывов сертификата ESR | С замером длительности и фиксацией успешности |
| esrAuthFailed | Количество ошибок аутентификации от ESR | |
| getEsrLicenseError | Ошибки получения файла лицензии ESR от EDM Root | |
| ipAccessDenied | Количество заблокированных запросов к EDM Issue с помощью IP-правил | |
| blockIp | Количество автоматически заблокированных IP-адресов | |
| serviceDenial | Количество зарегистрированных отказов в обслуживании (отклонение запросов из-за загруженности сервера) | |
| requestRejected | Количество зарегистрированных отказов в обработке запроса (переполнение очереди запросов) | |
Панель мониторинга "edm_monitor" предоставляет администратору EDM Issue общую информацию о хосте, в котором запущен EDM Issue, а также информацию о Docker-контейнерах EDM Issue.

Рисунок 28 – Общий вид панели мониторинга "edm_monitor"
На данной панели мониторинга представлена следующая информация: