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

Установка сервиса сбора статистики

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

Важное примечание:

Все пароли и ключи в этом разделе приведены в иллюстративных целях.

При реальной установке рекомендуется использовать более сложные и надёжные пароли.

1. Перед установкой

  1. По возможности познакомьтесь с:

  2. Убедитесь, что выполнены необходимые предварительные шаги:

    1. Подготовка к установке
    2. Установка сервиса лицензий
    3. Установка сервиса API-ключей
  3. Соберите необходимые данные, заданные или полученные на предыдущих шагах:

    ОбъектПример значенияКак получить значение
    Endpoint зеркала реестра Dockerdocker.storage.example.local:5000См. Получение артефактов установки
    Секрет Kubernetes для доступа к зеркалу реестра Dockeronpremise-registry-credsСм. Получение артефактов установки
  4. Убедитесь, что удовлетворены требования к ресурсам, приведенные в Helm-чарте.

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

    Примечание

    Содержание Helm-чарта, описанное в данном разделе, актуально для последней версии API-платформы (см. Релизы API-платформы). Чтобы изучить параметры для более ранних версий, откройте values.yaml в GitHub и в списке тегов слева выберите тег Platform-<версия>.

  5. Определите доменное имя:

    • для сервиса Stat Receiver — например, stat-receiver.example.com;
    • для сервиса Stat API (если вы планируете его устанавливать) — например, stat-api.example.com.

2. Установите сервис сбора статистики

Установите сервис Stat Receiver

  1. Создайте конфигурационный файл для Helm. Подробное описание доступных параметров см. здесь.

    Пример файла уже заполнен всеми необходимыми данными, собранными на предыдущих этапах.

    values-stat-receiver.yaml
    dgctlDockerRegistry: docker.storage.example.local:5000

    kafka:
    servers: 'keys-kafka.storage.example.local:9092'
    truststore:
    enabled: false
    keystore:
    enabled: false
    sasl:
    enabled: true
    secretName: 'stat-receiver-kafka-creds'
    jaasLoginModule: 'org.apache.kafka.common.security.scram.ScramLoginModule'
    username: ''
    password: ''

    initializeTopics:
    enabled: true
    topicsPrefix: 'stat_master_'

    Где:

    • dgctlDockerRegistry: endpoint вашего реестра Docker, в котором находятся образы сервисов программного комплекса 2ГИС в формате HOST:PORT.

    • kafka: настройки Apache Kafka.

      • servers: адрес и порт кластера Apache Kafka, который был настроен на этапе Установки сервиса API-ключей.

      • truststore.enabled: включите, чтобы использовать TLS для подключения к Kafka.

      • keystore.enabled: включите, чтобы использовать клиентскую аутентификацию TLS для подключения к Kafka.

      • sasl: настройка SASL для подключения к Kafka.

        • enabled: включите, если в сервисе API-ключей также включена аутентификация в Kafka.
        • secretName: имя секрета Kubernetes, в котором хранятся учётные данные для подключения к Kafka. Имя должно быть уникальным в пространстве имён кластера, который используется для установки.
        • jaasLoginModule: строка конфигурации JAAS для SASL-подключения.
        • username: имя пользователя для подключения к Kafka. Требуется, если в поле secretName пустое значение.
        • password: пароль для подключения к Kafka. Требуется, если в поле secretName пустое значение.
    • initializeTopics.enabled: включите, чтобы сервис сбора статистики создал необходимые топики в Kafka при первом запуске.

    • topicsPrefix: префикс для имен топиков, которые будут созданы в Kafka. См. имя топика, которое вы задали в параметре kafka.stats.topic в конфигурационном файле сервиса API-ключей: префикс — начальная часть имени топика до type.401 (фиксированная часть имени).

  2. Установите сервис с помощью Helm, используя подготовленный конфигурационный файл values-stat-receiver.yaml:

    helm upgrade --install --version=VERSION --atomic --wait --timeout 7200s --values ./values-stat-receiver.yaml stat-receiver 2gis-on-premise/stat-receiver

    В параметре --version укажите нужную версию API-платформы. Список версий см. в разделе Релизы API-платформы.

Установите сервис Stat API (опционально)

Сервис Stat API нужен для отображения статистики распределения запросов в личном кабинете.

  1. Создайте конфигурационный файл для Helm. Подробное описание доступных параметров см. здесь.

    Пример файла уже заполнен всеми необходимыми данными, собранными на предыдущих этапах.

    values-stat-api.yaml
    dgctlDockerRegistry: docker.storage.example.local:5000

    migrate:
    kafkaTableEngine:
    brokers: broker1:9092,broker2:9092
    topic: type.401
    group: ''

    clickhouse:
    clientName: stat-api-migrate

    clickhouse:
    servers: host1:port1,host2:port2
    cluster: ''
    database: ''
    username: clickhouse-user
    password: password

    Где:

    • dgctlDockerRegistry: endpoint вашего реестра Docker, в котором находятся образы сервисов программного комплекса 2ГИС в формате HOST:PORT.

    • migrate: настройки для модуля миграции данных из Apache Kafka в ClickHouse.

      • kafkaTableEngine: параметры подключения к Apache Kafka для чтения данных в процессе миграции.

        • brokers: список адресов Kafka-брокеров, разделённых запятой.
        • topic: имя топика Apache Kafka, в котором находятся данные от сервиса Stat Receiver.
        • group: имя потребительской группы.
      • clickhouse.clientName: имя клиента, которое будет использоваться при подключении к ClickHouse.

    • clickhouse: параметры подключения к ClickHouse.

      • servers: список адресов серверов ClickHouse, разделённых запятой.
      • cluster: имя кластера ClickHouse при выполнении распределённых запросов и миграций.
      • database: имя базы данных ClickHouse для подключения.
      • username: имя пользователя для аутентификации в ClickHouse.
      • password: пароль пользователя для аутентификации в ClickHouse.
  2. Установите сервис с помощью Helm, используя подготовленный конфигурационный файл values-stat-api.yaml:

    helm upgrade --install --version=VERSION --atomic --wait --timeout 7200s --values ./values-stat-api.yaml stat-api 2gis-on-premise/stat-api

    В параметре --version укажите нужную версию API-платформы. Список версий см. в разделе Релизы API-платформы.

3. Проверьте работоспособность установленных сервисов

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

Что дальше?