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

Параметры конфигурации

Для каждого компонента ClickStack доступны следующие параметры конфигурации:

Изменение настроек

Docker

Если вы используете All in One, HyperDX Only или Local Mode, просто передайте нужное значение через переменную окружения, например:

docker run  -e HYPERDX_LOG_LEVEL='debug' -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

Docker Compose

Если вы используете руководство по развертыванию с помощью Docker Compose, вы можете изменить настройки в файле .env.

Либо явно переопределите настройки в файле docker-compose.yaml, например:

Пример:

services:
  app:
    environment:
      HYPERDX_API_KEY: ${HYPERDX_API_KEY}
      HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
      # ... прочие настройки

Helm

Настройка параметров (необязательно)

Вы можете изменить настройки с помощью флагов --set, например:

helm install my-hyperdx hyperdx/hdx-oss-v2 \
  --set replicaCount=2 \
  --set resources.limits.cpu=500m \
  --set resources.limits.memory=512Mi \
  --set resources.requests.cpu=250m \
  --set resources.requests.memory=256Mi \
  --set ingress.enabled=true \
  --set ingress.annotations."kubernetes\.io/ingress\.class"=nginx \
  --set ingress.hosts[0].host=hyperdx.example.com \
  --set ingress.hosts[0].paths[0].path=/ \
  --set ingress.hosts[0].paths[0].pathType=ImplementationSpecific \
  --set env[0].name=CLICKHOUSE_USER \
  --set env[0].value=abc

Либо отредактируйте values.yaml. Чтобы получить значения по умолчанию:

helm show values hyperdx/hdx-oss-v2 > values.yaml

Пример конфигурации:

replicaCount: 2
resources:
  limits:
    cpu: 500m
    memory: 512Mi
  requests:
    cpu: 250m
    memory: 256Mi
ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: nginx
  hosts:
    - host: hyperdx.example.com
      paths:
        - path: /
          pathType: ImplementationSpecific
  env:
    - name: CLICKHOUSE_USER
      value: abc

HyperDX

Настройки источника данных

HyperDX требует, чтобы пользователь определил источник для каждого из типов данных наблюдаемости:

  • Logs
  • Traces
  • Metrics
  • Sessions

Эту конфигурацию можно выполнить в приложении в разделе Team Settings -> Sources, как показано ниже для логов:

Конфигурация источника HyperDX

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

Если используется стандартная схема OpenTelemetry (OTel), распространяемая с ClickStack, эти столбцы могут быть автоматически определены для каждого из источников. При изменении схемы или использовании пользовательской схемы пользователям необходимо указывать и обновлять эти соответствия.

Примечание

Стандартная схема для ClickHouse, распространяемая с ClickStack, — это схема, создаваемая ClickHouse exporter для OTel collector. Эти имена столбцов соответствуют официальной спецификации OTel, задокументированной здесь.

Для каждого источника доступны следующие настройки:

Логи

SettingDescriptionRequiredInferred in Default SchemaInferred Value
NameИмя источника.YesNo
Server ConnectionИмя подключения к серверу.YesNoDefault
DatabaseИмя базы данных ClickHouse.YesYesdefault
TableИмя целевой таблицы. Установите otel_logs, если используется схема по умолчанию.YesNo
Timestamp ColumnСтолбец или выражение типа DateTime, входящее в первичный ключ.YesYesTimestampTime
Default SelectСтолбцы, отображаемые в результатах поиска по умолчанию.YesYesTimestamp, ServiceName, SeverityText, Body
Service Name ExpressionВыражение или столбец для имени сервиса.YesYesServiceName
Log Level ExpressionВыражение или столбец для уровня логирования.YesYesSeverityText
Body ExpressionВыражение или столбец для текста сообщения лога.YesYesBody
Log Attributes ExpressionВыражение или столбец для пользовательских атрибутов логов.YesYesLogAttributes
Resource Attributes ExpressionВыражение или столбец для атрибутов на уровне ресурса.YesYesResourceAttributes
Displayed Timestamp ColumnСтолбец с временной меткой, используемый для отображения в интерфейсе.YesYesResourceAttributes
Correlated Metric SourceСвязанный источник метрик (например, метрики HyperDX).NoNo
Correlated Trace SourceСвязанный источник трейсов (например, трейсы HyperDX).NoNo
Trace Id ExpressionВыражение или столбец, используемый для извлечения идентификатора трейса.YesYesTraceId
Span Id ExpressionВыражение или столбец, используемый для извлечения идентификатора span.YesYesSpanId
Implicit Column ExpressionСтолбец, используемый для полнотекстового поиска, если поле не указано (в стиле Lucene). Обычно используется тело лога.YesYesBody

Трейсы

SettingDescriptionRequiredInferred in Default SchemaInferred Value
NameИмя источника.YesNo
Server ConnectionИмя подключения к серверу.YesNoDefault
DatabaseИмя базы данных ClickHouse.YesYesdefault
TableИмя целевой таблицы. Укажите otel_traces, если используете схему по умолчанию.YesYes-
Timestamp ColumnСтолбец типа DateTime или выражение, являющиеся частью первичного ключа.YesYesTimestamp
TimestampПсевдоним для Timestamp Column.YesYesTimestamp
Default SelectСтолбцы, отображаемые в результатах поиска по умолчанию.YesYesTimestamp, ServiceName as service, StatusCode as level, round(Duration / 1e6) as duration, SpanName
Duration ExpressionВыражение для вычисления длительности спана.YesYesDuration
Duration PrecisionТочность выражения длительности (например, наносекунды, микросекунды).YesYesns
Trace Id ExpressionВыражение или столбец для идентификаторов трейсов.YesYesTraceId
Span Id ExpressionВыражение или столбец для идентификаторов спана.YesYesSpanId
Parent Span Id ExpressionВыражение или столбец для идентификаторов родительских спанов.YesYesParentSpanId
Span Name ExpressionВыражение или столбец для имён спанов.YesYesSpanName
Span Kind ExpressionВыражение или столбец для типа спана (например, «client», «server»).YesYesSpanKind
Correlated Log SourceНеобязательно. Связанный источник логов (например, логи HyperDX).NoNo
Correlated Session SourceНеобязательно. Связанный источник сессий.NoNo
Correlated Metric SourceНеобязательно. Связанный источник метрик (например, метрики HyperDX).NoNo
Status Code ExpressionВыражение для кода статуса спана.YesYesStatusCode
Status Message ExpressionВыражение для сообщения статуса спана.YesYesStatusMessage
Service Name ExpressionВыражение или столбец для имени сервиса.YesYesServiceName
Resource Attributes ExpressionВыражение или столбец для атрибутов на уровне ресурса.YesYesResourceAttributes
Event Attributes ExpressionВыражение или столбец для атрибутов событий.YesYesSpanAttributes
Span Events ExpressionВыражение для извлечения событий спана. Обычно столбец типа Nested. Позволяет отображать трассировки стека исключений для поддерживаемых языковых SDK.YesYesEvents
Implicit Column ExpressionСтолбец, используемый для полнотекстового поиска, если поле не указано (в стиле Lucene). Обычно содержит тело лога.YesYesSpanName

Метрики

ПараметрОписаниеОбязательныйВыводится в схеме по умолчаниюВыведенное значение
NameИмя источника.ДаНет
Server ConnectionИмя подключения к серверу.ДаНетDefault
DatabaseИмя базы данных ClickHouse.ДаДаdefault
Gauge TableТаблица для хранения метрик типа gauge.ДаНетotel_metrics_gauge
Histogram TableТаблица для хранения метрик типа histogram.ДаНетotel_metrics_histogram
Sum TableТаблица для хранения метрик типа sum (counter).ДаНетotel_metrics_sum
Correlated Log SourceНеобязательный параметр. Связанный источник логов (например, логи HyperDX).НетНет

Сессии

SettingDescriptionRequiredInferred in Default SchemaInferred Value
NameИмя источника.YesNo
Server ConnectionИмя подключения к серверу.YesNoDefault
DatabaseИмя базы данных ClickHouse.YesYesdefault
TableЦелевая таблица для данных сессий. Имя целевой таблицы. Установите hyperdx_sessions, если используется схема по умолчанию.YesYes-
Timestamp ColumnСтолбец или выражение типа DateTime, являющееся частью вашего первичного ключа.YesYesTimestampTime
Log Attributes ExpressionВыражение для извлечения атрибутов уровня логов из данных сессий.YesYesLogAttributes
LogAttributesПсевдоним или ссылка на поле, используемые для хранения атрибутов логов.YesYesLogAttributes
Resource Attributes ExpressionВыражение для извлечения метаданных на уровне ресурсов.YesYesResourceAttributes
Correlated Trace SourceНеобязательно. Связанный источник трейсов для корреляции сессий.NoNo
Implicit Column ExpressionСтолбец, используемый для полнотекстового поиска, когда поле не указано (например, при разборе запросов в стиле Lucene).YesYesBody

Коррелированные источники

Чтобы включить полную сквозную корреляцию между источниками в ClickStack, пользователи должны настроить коррелированные источники для логов, трассировок, метрик и сеансов. Это позволяет HyperDX связывать связанные данные и предоставлять богатый контекст при отображении событий.

  • Logs: могут коррелироваться с трассировками и метриками.
  • Traces: могут коррелироваться с логами, сеансами и метриками.
  • Metrics: могут коррелироваться с логами.
  • Sessions: могут коррелироваться с трассировками.

Настройка этих корреляций активирует ряд возможностей. Например, HyperDX может отображать соответствующие логи рядом с трассировкой или показывать аномалии метрик, связанные с сеансом.

Ниже приведён пример источника Logs, настроенного с коррелированными источниками:

Источник HyperDX с настроенной корреляцией

Параметры конфигурации приложения

HyperDX в ClickHouse Cloud

Эти параметры недоступны для изменения, когда HyperDX управляется в ClickHouse Cloud.

  • HYPERDX_API_KEY

    • По умолчанию: Отсутствует (обязательно)
    • Описание: Ключ аутентификации для API HyperDX.
    • Рекомендации:
    • Обязателен для телеметрии и логирования
    • В локальной среде разработки может быть любым непустым значением
    • В продакшене используйте надёжный, уникальный ключ
    • Его можно получить на странице настроек команды после создания аккаунта
  • HYPERDX_LOG_LEVEL

    • По умолчанию: info
    • Описание: Задаёт уровень детализации логирования.
    • Варианты: debug, info, warn, error
    • Рекомендации:
    • Используйте debug для детальной отладки
    • Используйте info для нормального режима работы
    • Используйте warn или error в продуктивной среде, чтобы уменьшить объём логов
  • HYPERDX_API_PORT

    • По умолчанию: 8000
    • Описание: Порт для сервера API HyperDX.
    • Рекомендации:
    • Убедитесь, что этот порт доступен на вашем хосте
    • Измените его при конфликте портов
    • Должен совпадать с портом в конфигурации вашего API‑клиента
  • HYPERDX_APP_PORT

    • По умолчанию: 8000
    • Описание: Порт для фронтенд‑приложения HyperDX.
    • Рекомендации:
    • Убедитесь, что этот порт свободен и доступен на вашем хосте.
    • Измените его, если возникает конфликт портов.
    • Порт должен быть доступен из вашего браузера.
  • HYPERDX_APP_URL

    • По умолчанию: http://localhost
    • Описание: Базовый URL для фронтенд-приложения.
    • Рекомендации:
    • Укажите ваш домен в production-среде
    • Укажите протокол (http/https)
    • Не добавляйте завершающий слеш
  • MONGO_URI

    • По умолчанию: mongodb://db:27017/hyperdx
    • Описание: Строка подключения к MongoDB.
    • Рекомендации:
    • Используйте значение по умолчанию для локальной разработки в Docker.
    • В продуктивной среде используйте защищённую строку подключения.
    • При необходимости укажите параметры аутентификации.
    • Пример: mongodb://user:pass@host:port/db
  • MINER_API_URL

    • По умолчанию: http://miner:5123
    • Описание: URL службы майнинга шаблонов логов.
    • Рекомендации:
    • Используйте значение по умолчанию для локальной разработки с Docker
    • Укажите URL вашей службы miner в рабочей (production) среде
    • Должен быть доступен из API‑сервиса
  • FRONTEND_URL

    • По умолчанию: http://localhost:3000
    • Описание: URL фронтенд-приложения.
    • Рекомендации:
    • Используйте значение по умолчанию для локальной разработки
    • Укажите ваш домен в продакшене
    • Должен быть доступен для сервиса API
  • OTEL_SERVICE_NAME

    • По умолчанию: hdx-oss-api
    • Описание: Имя сервиса для инструментирования OpenTelemetry.
    • Рекомендации:
    • Используйте информативное имя для вашего сервиса HyperDX. Актуально, если в HyperDX включена собственная инструментация.
    • Помогает идентифицировать сервис HyperDX в телеметрических данных.
  • NEXT_PUBLIC_OTEL_EXPORTER_OTLP_ENDPOINT

    • По умолчанию: http://localhost:4318
    • Описание: конечная точка коллектора OpenTelemetry.
    • Рекомендации:
    • Актуально, если вы самостоятельно инструментируете HyperDX.
    • Используйте значение по умолчанию для локальной разработки.
    • В продакшене укажите URL вашего коллектора.
    • Должна быть доступна из вашего сервиса HyperDX.
  • USAGE_STATS_ENABLED

    • По умолчанию: true
    • Описание: Включает или отключает сбор статистики использования.
    • Рекомендации:
    • Установите false, чтобы отключить отслеживание использования
    • Полезно для развертываний с повышенными требованиями к конфиденциальности
    • Значение по умолчанию — true для улучшения продукта
  • IS_OSS

    • Default: true
    • Description: Указывает, включён ли режим OSS.
    • Guidance:
    • Оставьте значение true для open-source-развертываний
    • Установите значение false для enterprise-развертываний
    • Влияет на доступность функций
  • IS_LOCAL_MODE

    • По умолчанию: false
    • Описание: Указывает, выполняется ли приложение в локальном режиме.
    • Рекомендации:
    • Установите значение true для локальной разработки
    • Отключает некоторые функции продакшен-среды
    • Полезно для тестирования и разработки
  • EXPRESS_SESSION_SECRET

    • По умолчанию: hyperdx is cool 👋
    • Описание: Секретный ключ для управления сессиями Express.
    • Рекомендации:
    • Обязательно измените в продакшене
    • Используйте криптографически стойкую случайную строку
    • Храните ключ в секрете и обеспечьте его защиту
  • ENABLE_SWAGGER

    • По умолчанию: false
    • Описание: Включает или отключает документацию Swagger API.
    • Рекомендации:
    • Установите значение true, чтобы включить документацию API
    • Полезно для разработки и тестирования
    • Отключайте в продакшене
  • BETA_CH_OTEL_JSON_SCHEMA_ENABLED

    • По умолчанию: false
    • Описание: Включает поддержку типа JSON (Beta) в HyperDX. См. также OTEL_AGENT_FEATURE_GATE_ARG для включения поддержки JSON в OTel collector.
    • Рекомендации:
    • Установите значение true, чтобы включить поддержку JSON в ClickStack.

Коллектор OpenTelemetry

См. раздел "ClickStack OpenTelemetry Collector" для получения дополнительной информации.

  • CLICKHOUSE_ENDPOINT

    • Default: None (required), если используется автономный образ. В случае дистрибутива All-in-one или Docker Compose этот параметр указывает на встроенный экземпляр ClickHouse.
    • Description: URL по протоколу HTTPS экземпляра ClickHouse, в который экспортируются телеметрические данные.
    • Guidance:
      • Должен быть полным HTTPS-адресом, включая порт (например, https://clickhouse.example.com:8443)
      • Обязателен, чтобы коллектор мог отправлять данные в ClickHouse
  • CLICKHOUSE_USER

    • Default: default
    • Description: Имя пользователя, используемое для аутентификации в экземпляре ClickHouse.
    • Guidance:
      • Убедитесь, что у пользователя есть права INSERT и CREATE TABLE
      • Рекомендуется создать отдельного пользователя для ингестии
  • CLICKHOUSE_PASSWORD

    • Default: None (required if authentication is enabled)
    • Description: Пароль для указанного пользователя ClickHouse.
    • Guidance:
      • Обязателен, если для учётной записи пользователя задан пароль
      • Храните его безопасно с помощью secrets в продуктивных развертываниях
  • HYPERDX_LOG_LEVEL

    • Default: info
    • Description: Уровень подробности логов для коллектора.
    • Guidance:
      • Принимает значения, такие как debug, info, warn, error
      • Используйте debug при устранении неполадок
  • OPAMP_SERVER_URL

    • Default: None (required), если используется автономный образ. В случае дистрибутива All-in-one или Docker Compose этот параметр указывает на развернутый экземпляр HyperDX.
    • Description: URL сервера OpAMP, используемого для управления коллектором (например, экземпляр HyperDX). По умолчанию используется порт 4320.
    • Guidance:
      • Должен указывать на ваш экземпляр HyperDX
      • Обеспечивает динамическую конфигурацию и безопасную ингестию
  • HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE

    • Default: default
    • Description: База данных ClickHouse, в которую коллектор записывает телеметрические данные.
    • Guidance:
      • Задайте, если используете пользовательское имя базы данных
      • Убедитесь, что указанный пользователь имеет доступ к этой базе данных
  • OTEL_AGENT_FEATURE_GATE_ARG

    • Default: <empty string>
    • Description: Включает feature flags, которые должны быть активированы в коллекторе. Если установить значение --feature-gates=clickhouse.json, включается бета-поддержка типа JSON в коллекторе, и схемы создаются с этим типом. См. также BETA_CH_OTEL_JSON_SCHEMA_ENABLED для включения поддержки JSON в HyperDX.
    • Guidance:
    • Установите значение true, чтобы включить поддержку JSON в ClickStack.

ClickHouse

ClickStack поставляется со стандартной конфигурацией ClickHouse, рассчитанной на масштаб с многотерабайтными объёмами данных, однако пользователи могут свободно модифицировать и оптимизировать её под свою нагрузку.

Чтобы эффективно настраивать ClickHouse, пользователям следует понимать ключевые концепции хранения, такие как parts, partitions, shards and replicas и то, как merges выполняются во время вставки данных. Рекомендуется ознакомиться с основами primary indices, sparse secondary indices и индексов пропуска данных (data skipping indices), а также с техниками управления жизненным циклом данных, например с использованием жизненного цикла на основе TTL.

ClickStack поддерживает настройку схемы — пользователи могут изменять типы столбцов, извлекать новые поля (например, из логов), применять кодеки и словари, а также ускорять запросы с помощью проекций.

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

За дополнительными подробностями обратитесь к документации ClickHouse по проектированию схем, стратегиям индексирования и лучшим практикам управления данными — большинство из них напрямую применимы к развёртываниям ClickStack.