- Оценивать ClickStack параллельно с Datadog, не затрагивая прикладной код, и с помощью существующих агентов отправлять одну и ту же телеметрию в обе платформы.
- Упростить миграцию — перейти на ClickStack, сохранив текущий уровень сбора данных и постепенно внедряя инструментацию OpenTelemetry.
- Использовать оба стека параллельно в долгосрочной перспективе, применяя каждую платформу там, где она подходит лучше всего.
Почему стоит запускать ClickStack вместе с Datadog
- Более длительное хранение. Настраивайте сроки хранения в соответствии с эксплуатационными потребностями, а не бюджетом, и сохраняйте события, которые могут понадобиться спустя недели или месяцы.
- Данные полной точности. Храните каждый журнал и каждую трассировку без сэмплирования, чтобы расследования проводились по полным данным, а не по их подмножеству.
- Без ограничений скорости API. Выполняйте запросы к своей телеметрии как к базе данных, а не через тарифицируемый API, без throttling для отдельных запросов и конечных точек.
- Полный доступ к SQL. Анализируйте журналы, метрики и трассировки с помощью SQL и объединяйте их через JOIN с бизнес-данными или данными инфраструктуры, уже хранящимися в ClickHouse.
- Агентные сценарии. Сделайте свою телеметрию доступной для ИИ-агентов через сервер ClickStack MCP и выполняйте неограниченное количество аналитических запросов напрямую к ClickHouse.
Как работает приёмник Datadog
Что обрабатывает приёмник
- Записи журнала. Временные метки Datadog в миллисекундах преобразуются в наносекунды и используются для заполнения полей OpenTelemetry
timestamp,observed timestamp,bodyиseverity, поэтому записи больше не отображаются с временной меткой Unix epoch. - Атрибуты ресурса и severity. Статусы Datadog, такие как
info,warnиerror, сопоставляются с соответствующими значениями OpenTelemetrySeverityNumberиSeverityText. Имена хостов, имена сервисов, окружения, а также известные теги контейнеров, Cloud и Kubernetes преобразуются в стандартные атрибуты ресурса. - Корреляция трассировок и журналов. Поля
dd.trace_idиdd.span_idзаполняют идентификаторы trace и span в OpenTelemetry, а приёмник восстанавливает полные 128-битные trace ID из разделённого представления Datadog. Эта возможность включена по умолчанию и позволяет коррелировать журналы и spans из Datadog с сервисами, инструментированными с помощью OpenTelemetry. - Структурированные JSON-журналы. Параметр
decode_json_message, включенный по умолчанию, выполняет обработку JSON, которая обычно происходит в backend Datadog: извлекаетbody, временную метку,severity, идентификаторы трассировки, поля ресурса и оставшиеся атрибуты. - Совместимость с текущими agents. Datadog Agent 7.59 и более поздние версии по умолчанию сжимают HTTP-полезные нагрузки с помощью Zstandard. Приёмник поддерживает Zstandard наряду с gzip, поэтому текущие agents подключаются без отклонения их полезных нагрузок.
Включение приёмника Datadog
8126. По умолчанию он отключен и включается с помощью переменной окружения ENABLE_DATADOG_RECEIVER.
После включения настройте агент Datadog на отправку данных в этот приёмник и аутентифицируйте его с помощью ключа ингестии ClickStack. Откуда берётся этот ключ, зависит от вашего развертывания: в Управляемом ClickStack вы запускаете автономный коллектор и сами задаёте ключ при запуске, а в Open Source ClickStack ключ создаётся автоматически, и его нужно скопировать из интерфейса ClickStack (HyperDX). Ниже выберите своё развертывание.
- Управляемый ClickStack
- ClickStack с открытым исходным кодом
С Управляемым ClickStack вы разворачиваете автономный коллектор ClickStack, который выполняет ингестию в ваш сервис ClickHouse Cloud. При запуске вы защищаете коллектор с помощью выбранного вами токена аутентификации и затем используете этот же токен как ключ API агента Datadog.Запустите автономный коллектор ClickStack, указав в качестве пункта назначения ваш сервис ClickHouse Cloud. Включите приёмник Datadog с помощью Теперь приёмник доступен по адресу
1
Разверните коллектор с включенным приёмником
Коллектор ClickStack OpenTelemetry и стандартный OpenTelemetry CollectorПриёмник Datadog встроен в дистрибутив коллектора ClickStack OpenTelemetry и уже предварительно настроен. Если вы предпочитаете использовать стандартный дистрибутив OpenTelemetry Collector Contrib, вам потребуется настроить приёмник самостоятельно. Все наши изменения и улучшения для этого приёмника отправляются в upstream, поэтому там они тоже доступны. Параметры конфигурации см. в README приёмника Datadog.
ENABLE_DATADOG_RECEIVER=true, откройте порт 8126 и защитите ингестию, задав собственный OTLP_AUTH_TOKEN:http://localhost:8126, а токен из OTLP_AUTH_TOKEN — это ключ, который нужно передать агенту Datadog. Подробнее о защите коллектора, включая эквивалент для Helm, см. в разделе “Защита коллектора”.2
Настройте агент Datadog
Обновите файл конфигурации агента Эта конфигурация:
/opt/datadog-agent/etc/datadog.yaml, чтобы отправлять журналы, трассировки и метрики в приёмник. Используйте значение OTLP_AUTH_TOKEN как ключ API и укажите конечную точку приёмника для каждого пункта назначения:- Отправляет метрики, трассировки и журналы в приёмник, а не в Datadog.
- Отключает приём метрик v3, поскольку ClickStack поддерживает конечную точку метрик Datadog v2.
- Отключает удалённые обновления и удалённую конфигурацию, которые зависят от backend Datadog.
3
Перезапустите агент
Перезапустите агент Datadog, чтобы он подхватил новую конфигурацию. В macOS:Теперь телеметрия от агента поступает в ClickStack, где её можно изучать в HyperDX.
Пошаговый пример
1
Клонируйте и запустите демо-приложение
В примере используется демо-приложение Hacker News, инструментированное с помощью Datadog в ветке Чтобы запустить приложение, следуйте инструкциям в README.
datadog-instrumentation. Клонируйте эту ветку:2
Запустите ClickStack с включённым приёмником
Запустите образ «Всё в одном» с включённым приёмником Datadog. Здесь мы пробрасываем приёмник на порт хоста Приёмник будет доступен по адресу
18126, чтобы избежать конфликта с локальным агентом Datadog, который тоже использует 8126:http://127.0.0.1:18126.3
Установите и настройте агент Datadog
Установите агент Datadog. На macOS:Обновите Полную конфигурацию агента и информацию о том, где найти ключ ингестии, см. в разделе Включение приёмника Datadog.
/opt/datadog-agent/etc/datadog.yaml, чтобы агент использовал приёмник на порту 18126, а в качестве API key — ваш ключ ингестии ClickStack. Затем перезапустите агент:4
Изучите телеметрию в ClickStack
Откройте интерфейс HyperDX по адресу http://localhost:8080 и изучите трассировки, журналы и метрики, собранные агентом Datadog.