ClickHouse/docs/ru/operations/opentelemetry.md
sevirov a43ce6dc16
Update docs/ru/operations/opentelemetry.md
Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com>
2021-03-01 20:02:48 +03:00

4.3 KiB
Raw Blame History

toc_priority toc_title
62 Поддержка OpenTelemetry

[экспериментально] Поддержка OpenTelemetry

ClickHouse поддерживает OpenTelemetry — открытый стандарт для сбора трассировок и метрик из распределенного приложения.

!!! warning "Предупреждение" Поддержка стандарта экспериментальная и будет со временем меняться.

Обеспечение поддержки контекста трассировки в ClickHouse

ClickHouse принимает контекст трассировки HTTP заголовков, как описано в рекомендации W3C. Также он принимает контекст трассировки через нативный протокол, который используется для связи между серверами ClickHouse или между клиентом и сервером. Для ручного тестирования заголовки контекста трассировки, соответствующие рекомендации контекста трассировки, могут быть переданы в clickhouse-client через флаги: --opentelemetry-traceparent и --opentelemetry-tracestate.

Если входящий контекст трассировки не указан, ClickHouse может начать трассировку с вероятностью, задаваемой настройкой opentelemetry_start_trace_probability.

Распространение контекста трассировки

Контекст трассировки распространяется на нижестоящие сервисы в следующих случаях:

  • При использовании запросов к удаленным серверам ClickHouse, например при использовании движка таблиц Distributed.

  • При использовании табличной функции url. Информация контекста трассировки передается в HTTP заголовки.

Трассировка ClickHouse

ClickHouse создает trace spans для каждого запроса и некоторых этапов выполнения запроса, таких как планирование запросов или распределенные запросы.

Чтобы быть полезной, информация трассировки должна быть экспортирована в систему мониторинга, поддерживающую OpenTelemetry, такую как Jaeger или Prometheus. ClickHouse не зависит от конкретной системы мониторинга, вместо этого предоставляя данные трассировки только через системную таблицу. Информация о диапазоне трассировки в OpenTelemetry, требуемая стандартом, хранится в системной таблице system.opentelemetry_span_log.

Таблица должна быть включена в конфигурации сервера, смотрите элемент opentelemetry_span_log в файле конфигурации config.xml. По умолчанию таблица уже включена.

Теги или атрибуты сохраняются в виде двух параллельных массивов, содержащих ключи и значения. Для работы с ними используйте ARRAY JOIN.

Оригинальная статья