Темы



Представляем Cloudflare Traces: отслеживайте запросы по всей нашей платформе

Коротко сгенерировано ИИ по тексту статьи
  • Cloudflare запустила Traces в открытой бета-версии: трассировки показывают путь запроса через правила безопасности, преобразования, кэш, маршрутизацию, Workers и исходный сервер.
  • Трассировку можно включить для домена, настроить частоту выборки и правила; спаны экспортируются по OTLP, контекст передаётся через W3C traceparent.
  • Новые тарифы Cloudflare Tracing начнут действовать 1 декабря 2026 года; бесплатный план включает 0,5 ГБ данных в день и хранение семь дней.

Почему это важно: Трассировки позволяют увидеть путь запроса целиком и помогают находить и устранять проблемы.

Сегодня мы представляем Cloudflare Traces в открытой бета-версии — теперь автоматическая трассировка выходит за пределы Workers и охватывает весь путь запроса. В одной трассировке можно увидеть поддерживаемые правила безопасности, преобразования, решения по кэшированию, маршрутизацию, выполнение Worker и обработку на исходном сервере, а затем продолжить трассировку через сервисы, работающие на Cloudflare, на вашем исходном сервере или в других частях вашего стека. Это долгосрочные инвестиции в OpenTelemetry и в то, чтобы Cloudflare стала наиболее наблюдаемой частью вашего стека.

Теперь вы можете:

image3.png

Вы можете включить трассировку в панели управления Cloudflare для любого домена или поручить её настройку своему агенту:

Скопировать запросСкопировать запросЗапрос скопирован!

Видимость, которая помогает нам находить и устранять проблемы в Cloudflare

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

Workers Tracing стал первым шагом к тому, чтобы показать, что происходит на нашей платформе. В прошлом году мы запустили автоматическую инструментализацию вызовов Worker, включая исходящие запросы fetch и обращения к KV, R2, D1, Durable Objects и другим Workers. Она показывает работу, выполняемую внутри среды выполнения Workers, без необходимости добавлять код трассировки для каждой операции.

Цель Cloudflare Traces — предоставить такой же уровень видимости всем, кто использует Cloudflare, независимо от того, разрабатываете ли вы на Cloudflare или просто используете Cloudflare перед исходным сервером. Вы увидите, как трафик проходит через нашу платформу, и сможете связать настройки Cloudflare с их влиянием на время обработки запроса, решения о маршрутизации и другие параметры.

Отслеживайте запрос от начала до конца

Путь запроса через Cloudflare может быть непростым! Он может проходить через правила безопасности, преобразования, маршрутизацию и кэширование или целиком перенаправляться в другой сервис. Cloudflare Traces записывает каждый поддерживаемый этап в виде спана, включая его длительность, результат и соответствующие атрибуты. Вместо того чтобы восстанавливать путь запроса по разрозненным журналам и настройкам, вы можете увидеть его целиком в одном месте.

Вы сможете ответить на такие вопросы, как:

Почему запрос был заблокирован или проверен и какое правило безопасности сработало?

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

image7.png

Был ли URL изменён правилом Transform Rule до того, как запрос достиг приложения?

Откройте спан http_request_transform, чтобы увидеть каждое изменение, затронутую часть запроса и правило, которое его вызвало. Также можно посмотреть, на каком этапе относительно маршрутизации и обработки исходного сервера произошло преобразование.

image8.png

Какие Page Rules, Snippets или Workers обработали или изменили запрос?

Спан workers_routing показывает, совпал ли маршрут с запросом, какой тип маршрутизации использовался и какой шаблон маршрута подошёл.

image2.png

Был ли ответ получен из кэша и сколько времени заняли этапы между Cloudflare, подключением к исходному серверу и приложением?

Разверните вложенные спаны кэша, вышестоящих серверов и исходного сервера, чтобы увидеть, на что ушло время обработки запроса. В этом примере кэш не сработал, запрос был направлен на исходный сервер, и получение ответа заняло 527 мс из общих 539 мс.

image6.png

Настройте трассировку

Не нужны специальные средства инструментализации, настройки или плагины. После включения трассировки для домена Cloudflare автоматически создаёт эти спаны. Благодаря открытым стандартам трассировку можно продолжить через сторонние сервисы и обратно. Затем вы сможете управлять тем, какие запросы трассируются, с помощью базовой частоты выборки и правил трассировки.

Задайте базовую частоту выборки

Вы можете включить трассировку для любого домена и задать базовую частоту выборки, чтобы сбалансировать уровень видимости, объём данных и стоимость. Например, в обычном режиме можно трассировать 1% запросов и непрерывно отслеживать их поведение, не собирая трассировку для каждого запроса.

Настройте правила трассировки

Правила трассировки позволяют поддерживать низкую базовую частоту выборки и при этом собирать полные трассировки для конкретного расследования. Если клиент сообщает о проблеме, можно трассировать 100% трафика для его имени хоста, IP-адреса источника или идентифицирующего заголовка запроса, оставив для остальных частоту на уровне 1%. Или во время расследования можно трассировать 100% запросов с временным отладочным заголовком, сохранив базовую частоту для всего остального трафика. Это позволяет воспроизвести проблему, не увеличивая объём трассировки для всего домена.

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

Принимайте и передавайте контекст трассировки

Одна из самых частых просьб, которые мы слышим, — поддержать полноценную распределённую трассировку: единую трассировку, которая следует за запросом в Cloudflare, проходит через нашу платформу, а затем продолжается в остальных частях вашего стека.

image4.png

Cloudflare Traces может принимать заголовок W3C traceparent из входящего запроса, чтобы спаны Cloudflare включались в трассировку, начатую до того, как запрос достиг нашей платформы. Политика передачи входящего контекста определяет, будет ли Cloudflare принимать этот контекст.

Cloudflare также может передавать на исходный сервер новый заголовок traceparent. Любые другие инструментированные сервисы могут извлечь этот контекст и продолжить трассировку через API, базы данных и сервисы, работающие на Cloudflare или в других местах. Чтобы просматривать все данные как одну связанную трассировку, отправляйте спаны Cloudflare и приложения в одну и ту же совместимую с OpenTelemetry систему.

Экспортируйте трассировки на свою платформу наблюдаемости

Вы можете экспортировать спаны Cloudflare по протоколу OTLP на совместимую платформу наблюдаемости, где они будут отображаться вместе с телеметрией из остальных частей вашего стека. Настройте назначение на уровне аккаунта, а затем выберите домены, с которых туда будут отправляться трассировки. Это часть нашей приверженности OpenTelemetry: Cloudflare представляет активность запросов в виде спанов OpenTelemetry и передаёт их через OTLP, обеспечивая совместимость данных с разными инструментами наблюдаемости.

image1.png

Поручите агенту исследовать Cloudflare Traces

Когда вы просите агента для написания кода разобраться с проблемой в рабочей среде, он может изучить ваш код и запустить тесты, но при этом не увидеть, что произошло с запросом в производственной среде. С помощью сервера Cloudflare Observability MCP ваш агент сможет использовать наш SQL API для запросов к трассировкам (и всем вашим данным наблюдаемости!), получая доступ к производственной телеметрии для расследования.

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

Стоимость

Cloudflare Traces войдёт в единую модель тарификации Cloudflare Observability. Вместо оплаты за количество спанов или событий стоимость будет зависеть от объёма поступающих данных наблюдаемости и срока их хранения. Новые тарифы для Cloudflare Tracing (и Workers Tracing!) начнут действовать с 1 декабря 2026 года.

Тарифный план

Включённый объём использования

Срок хранения

Дополнительное использование

Бесплатный

0,5 ГБ данных в день

7 дней

Недоступно

Платный и Enterprise

50 ГБ поступающих данных
10 ГБ-месяцев хранения за расчётный период

До 1 года 
(скоро)

0,25 доллара за 1 ГБ поступивших данных
0,10 доллара за 1 ГБ-месяц хранения

Что дальше

После открытой бета-версии мы планируем запустить:

  • Расширенную автоматическую инструментализацию: добавить больше спанов как для пути HTTP-запроса (например, правила защиты от DDoS-атак, Access), так и для пути выполнения Workers (например, Workflows, Queues, Pipelines).
  • Аутентифицированную передачу контекста: дать доверенным вызывающим сторонам возможность продолжать существующую трассировку, не принимая контекст от каждого входящего запроса.
  • Трассировку по запросу: собирать данные для конкретного запроса по требованию, не меняя базовую частоту выборки.
  • Поддержку API OpenTelemetry в Workers: продолжить развитие наших API OpenTelemetry, чтобы можно было добавлять атрибуты к существующим спанам или получать контекст трассировки.
  • Увеличенный срок хранения: сохранять данные трассировки на срок до 365 дней для продолжительных расследований.

Начало работы

Следуйте документации Cloudflare Traces, чтобы трассировать первый запрос и настроить выборку с помощью правил трассировки. Cloudflare Traces доступен в открытой бета-версии в панели управления, через API или Terraform; также поддерживается экспорт в назначение OTLP.

© Cloudflare Blog