Вопросы и ответы по AWS X-Ray

Общие вопросы

AWS X-Ray помогает разработчикам анализировать свои продукты и распределенные приложения (например, на базе архитектуры микросервисов), а также устранять ошибки. X-Ray позволяет оценить производительность приложения и сервисов, на которых основана его работа, чтобы определить и устранить первопричины снижения производительности и сбоев. X‑Ray обеспечивает комплексное отслеживание запросов и их маршрутов в приложении и показывает карту внутренних компонентов приложения. X-Ray используется для анализа приложений на стадии разработки и развертывания, от простых трехступенчатых вариантов до сложных приложений, состоящих из тысяч микросервисов.

Сегодня при создании и развертывании распределенных приложений разработчики вынуждены следить за перемещением запросов между компонентами приложения с помощью процессов, привязанных к отдельным ресурсам и сервисам. Задача осложняется еще и разницей форматов журналов и носителей в разных инфраструктурах, сервисах и ресурсах, на которых работает приложение или которые оно использует. Таким образом, найти свое место для каждого элемента данных и воссоздать полный маршрут запроса с момента создания на сервисе или устройстве конечного пользователя и до возвращения ответа из приложения становится очень непросто. X-Ray предоставляет модель сбора данных о запросах к приложению, которая ориентирована на пользователя, а не на сервисы и ресурсы. Эта модель позволяет построить ориентированную на пользователя картину перемещения запросов между ресурсами и сервисами. X-Ray автоматически собирает и сопоставляет все необходимые данные, позволяя разработчикам сосредоточиться на развитии взаимодействия с пользователем через свое приложение.

Основные понятия

Маршрут в X-Ray – это набор точек данных с общим ID маршрута. К примеру, когда клиент создает запрос к приложению, этому запросу назначается уникальный ID маршрута. Запрос начинает перемещаться между сервисами приложения, и сервисы передают информацию об этом запросе в X-Ray с помощью этого уникального ID маршрута. Каждый элемент данных, передаваемый сервисом приложения в X-Ray – это сегмент, а маршрут – это набор таких сегментов.

Аннотация в X-Ray – это определенные системой или пользователем данные, связанные с сегментом. Сегмент может содержать несколько аннотаций. Определенные системой аннотации включают данные, добавляемые в сегмент сервисами AWS, а определенные пользователем аннотации – это метаданные, добавляемые в сегмент разработчиком. Например, данные о регионе для вызовов сервисов AWS могут быть добавлены в созданный приложением сегмент автоматически, а данные о регионе для вызовов сервисов, не принадлежащих AWS, нужно добавлять самостоятельно.

Для оптимизации производительности и стоимости сервис X-Ray не собирает данные по каждому запросу, отправленному в приложение. Вместо этого сервис собирает данные по статистически значимому количеству запросов. Сервис X-Ray не следует использовать как инструмент для аудита и проверки соответствия требованиям, так как он не гарантирует полноту данных.

Демон X-Ray собирает сведения о маршрутах и отправляет их в сервис X-Ray для последующего объединения, анализа и хранения. Демон позволяет упростить вашу работу: вы отправляете данные в сервис X-Ray вместо использования API напрямую.

Работа с AWS X-Ray

X-Ray можно использовать для отслеживания и отладки синхронных запросов и асинхронных событий в распределенных приложениях любого размера. Например, с помощью X-Ray можно отслеживать сетевые запросы к интернет-приложению или асинхронные события, использующие очереди Amazon SQS.

X-Ray можно использовать с приложениями, работающими на EC2, ECS, в Lambda, Amazon SQS, Amazon SNS и Elastic Beanstalk. Кроме того, SDK X-Ray автоматически отслеживает метаданные API-запросов к сервисам AWS, выполненных с помощью SDK AWS. В SDK X-Ray входят дополнения для драйверов MySQL и PostgreSQL.

Да, у сервиса X-Ray есть набор API для обработки данных о запросах, сбора маршрутов и настройки сервиса. С помощью API X-Ray можно дополнительно разработать собственные приложения для анализа и визуализации.

Да. X-Ray регистрирует все вызовы API как события управления. Сервис также регистрирует вызовы трассировок как события данных, в том числе в PutTraceSegments и GetTimeSeriesServiceStatistics и других API. По умолчанию данные о событиях не регистрируются. Чтобы их зарегистрировать, необходимо настроить отслеживание событий CloudTrail или хранилище данных о событиях для их сбора.

Регионы

Подробнее см. на странице «Продукты и сервисы по регионам».

Да, X-Ray позволяет следить за запросами в адрес приложений и сервисов, распределенных на несколько регионов. Данные X-Ray хранятся в регионах обработки, но при этом информации достаточно для того, чтобы объединить данные и сформировать общую карту маршрутов. Региональные аннотации для сервисов AWS создаются автоматически. При этом собственные сервисы клиента должны самостоятельно добавлять региональные аннотации для поддержания работы в нескольких регионах.

Работа с данными

Данные о маршрутах, отправляемые X-Ray, обычно становятся доступны для загрузки и фильтрации в течение 30 секунд с момента их получения сервисом.

X-Ray хранит данные о маршрутах за последние 30 дней. Таким образом, данные отслеживаний доступны для загрузки в течение 30 дней.

X-Ray всегда старается предоставить полную информацию о маршрутах. При этом в некоторых ситуациях (ошибки соединения, задержки при получении сегментов и т. д.) данные, предоставляемые через API X-Ray, будут неполными. В таких случаях X-Ray отмечает маршруты как частичные или неполные.

Да. Демон X-Ray может взять на себя роль, разрешающую публикацию данных в аккаунте, отличном от того, в котором он запущен. Это позволяет публиковать данные с разных компонентов приложения на центральный аккаунт.

Подробнее о ценах на AWS X-Ray

Перейти на страницу цен
Готовы приступить к разработке?
Начать работу с AWS X-Ray
Есть вопросы?
Связаться с нами