Перейти к содержанию

ES Storager

ES Storager — микросервис, который переносит и подготавливает аналитические данные Webim для хранения во внешних хранилищах и использования в отчётах/аналитике. Сервис работает по модели «чтение → преобразование → запись» и не изменяет исходные данные в основных базах Webim.

Функции

Сервис обладает следующими функциями:

  • Перенос данных из Webim во внешние хранилища для аналитики

  • Обновление данных по мере поступления новых событий

  • Публикация технических метрик для мониторинга

  • Предоставление эндпоинтов для проверки состояния сервиса

Сетевые требования

Сервис предоставляет HTTP-эндпоинты для мониторинга и проверки состояния. Порт задаётся переменными окружения (значения по умолчанию следует уточнять по .env сервиса).

Метрики доступны по пути /metrics.

Проверка состояния доступна по пути /health (если включена в поставке/конфигурации сервиса).

Для hosted-клиентов необходимо открыть следующие порты и направления для узла с сервисом.

Направление Назначение Порт/протокол Примечание
Входящие HTTP-эндпоинты сервиса порт сервиса (по умолчанию 8000/tcp) Для доступа к /metrics и /health.
Исходящие Бэкенд Webim 443/tcp Для получения данных и служебных запросов.
Исходящие Кэш порт кэша Если используется внешний кэш (рекомендуется при масштабировании).
Исходящие Внешние хранилища аналитики порты хранилищ Для записи аналитических данных.
Исходящие Очередь/брокер сообщений порт брокера Если в вашей схеме сервис получает задания/события через брокер.

Переменные окружения

Сервис настраивается через файл .env. Ниже приведены параметры, которые требуется задать hosted-клиентам (точный набор зависит от поставки и схемы развёртывания):

Переменная Назначение
STATS_WEB_PORT (или аналог) Порт HTTP-endpoints сервиса (/metrics, /health).
REDIS_CACHE_LOCATION (или аналог) Строка подключения к кэшу (если используется).
<BACKEND_URL> (или аналог) Базовый адрес бэкенда Webim для запросов сервиса.
<STORAGE_URLS> (или аналог) Адреса внешних хранилищ аналитики.
<BROKER_URL> (или аналог) Адрес брокера/очереди сообщений (если используется).
SENTRY_DSN (опционально) Отправка ошибок в систему сбора ошибок.

Масштабирование и отказоустойчивость

Сервис может быть развернут в нескольких экземплярах за балансировщиком (если это предусмотрено вашей схемой). При горизонтальном масштабировании рекомендуется использовать общий внешний кэш для согласованной работы экземпляров.

Логирование и мониторинг

Логи приложения пишутся в стандартный вывод процесса.

Технические метрики доступны на /metrics и могут быть собраны системой мониторинга. Для контроля доступности рекомендуется настроить проверку /health (если эндпоинт включён).


ES Storager обеспечивает перенос и подготовку аналитических данных Webim во внешние хранилища и предоставляет эндпоинты для мониторинга и контроля состояния.