Перейти к основному содержимому

Сервис сбора статистики

Сервис сбора статистики позволяет анализировать использование API-ключей и отображать сводные данные в Менеджере Платформы. Он необязателен для работы API-платформы и может не устанавливаться, если сбор статистики не требуется.

Сервис состоит из двух компонентов:

  • Stat Receiver — принимает и отправляет в Apache Kafka данные об использовании API-ключей при обращениях к сервисам карт, поиска и навигации.
  • Stat API — считывает исторические данные из ClickHouse и предоставляет их для отображения на вкладке Статистика в Менеджере Платформы. Если вы не планируете использовать эту вкладку, установка Stat API не требуется.

Сервис API-ключей использует данные от этих компонентов для подсчёта расхода лимитов и отображения распределения запросов в Менеджере Платформы.

Архитектура

Архитектура сервиса сбора статистики

Сервисы карт (Tiles API), поиска (Catalog APIs) и навигации (Navi-Back) отправляют сервису Stat Receiver по HTTP API информацию о совершённых запросах к сервисам с использованием API-ключа. После этого:

  1. Сервис Stat Receiver обрабатывает данные и записывает их в Apache Kafka.

  2. Данные из Apache Kafka мигрируют в базу ClickHouse для хранения.

  3. Сервис Stat API считывает данные из ClickHouse, чтобы предоставлять агрегированные метрики сервису API-ключей.

  4. Сервис API-ключей:

    • получает от Stat API историческую статистику по количеству запросов, которые отображаются на вкладке Статистика в Менеджере Платформы;

    • обновляет счётчики использования ключей в хранилище Redis для контроля расхода лимитов по ключам и принятия мер в отношении ключей, которые превысили лимиты.

      Важно

      Статистика расходования лимитов обновляется с задержкой (около минуты) после запроса к сервисам с использованием API-ключа.

Зависимости

  • Для сервиса сбора статистики — хранилище Apache Kafka для событий, связанных с API-ключами.
  • Для компонента Stat API:
    • компонент Stat Receiver;
    • база данных ClickHouse для хранения статистических данных, связанных с API-ключами.

Подробнее о том, как проверить требования для каждого сервиса, см. в документе Системные требования.

Что дальше?