- Продукты›
- Инструменты для разработчиков›
- X-Ray›
- Вопросы и ответы
Вопросы и ответы по AWS X-Ray
Общие вопросы
Вопрос. Что такое AWS X-Ray?
AWS X-Ray помогает разработчикам анализировать свои продукты и распределенные приложения (например, на базе архитектуры микросервисов), а также устранять ошибки. 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 для последующего объединения, анализа и хранения. Демон позволяет упростить вашу работу: вы отправляете данные в сервис X-Ray вместо использования API напрямую.
Работа с AWS X-Ray
Вопрос. Какие типы приложений совместимы с X-Ray?
X-Ray можно использовать для отслеживания и отладки синхронных запросов и асинхронных событий в распределенных приложениях любого размера. Например, с помощью X-Ray можно отслеживать сетевые запросы к интернет-приложению или асинхронные события, использующие очереди Amazon SQS.
Вопрос. Какие сервисы AWS совместимы с X-Ray?
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?
Да, у сервиса X-Ray есть набор API для обработки данных о запросах, сбора маршрутов и настройки сервиса. С помощью API X-Ray можно дополнительно разработать собственные приложения для анализа и визуализации.
Регистрирует ли AWS X-Ray события журнала в AWS CloudTrail?
Да. X-Ray регистрирует все вызовы API как события управления. Сервис также регистрирует вызовы трассировок как события данных, в том числе в PutTraceSegments и GetTimeSeriesServiceStatistics и других API. По умолчанию данные о событиях не регистрируются. Чтобы их зарегистрировать, необходимо настроить отслеживание событий CloudTrail или хранилище данных о событиях для их сбора.
Регионы
Вопрос. В каких регионах доступен X-Ray?
Подробнее см. на странице «Продукты и сервисы по регионам».
Вопрос. Можно ли использовать X-Ray для отслеживания запросов в приложения и сервисы, распределенные на несколько регионов?
Да, X-Ray позволяет следить за запросами в адрес приложений и сервисов, распределенных на несколько регионов. Данные X-Ray хранятся в регионах обработки, но при этом информации достаточно для того, чтобы объединить данные и сформировать общую карту маршрутов. Региональные аннотации для сервисов AWS создаются автоматически. При этом собственные сервисы клиента должны самостоятельно добавлять региональные аннотации для поддержания работы в нескольких регионах.
Работа с данными
Вопрос. Как быстро данные о маршрутах появляются в X-Ray?
Данные о маршрутах, отправляемые X-Ray, обычно становятся доступны для загрузки и фильтрации в течение 30 секунд с момента их получения сервисом.
Вопрос. В течение какого срока можно запросить данные о маршруте? Как долго X-Ray хранит данные о маршрутах?
X-Ray хранит данные о маршрутах за последние 30 дней. Таким образом, данные отслеживаний доступны для загрузки в течение 30 дней.
Вопрос. Почему иногда я вижу неполные маршруты?
X-Ray всегда старается предоставить полную информацию о маршрутах. При этом в некоторых ситуациях (ошибки соединения, задержки при получении сегментов и т. д.) данные, предоставляемые через API X-Ray, будут неполными. В таких случаях X-Ray отмечает маршруты как частичные или неполные.
Вопрос. Компоненты моего приложения работают в своих собственных аккаунтах AWS. Можно ли с помощью X-Ray собирать данные с разных аккаунтов AWS?
Да. Демон X-Ray может взять на себя роль, разрешающую публикацию данных в аккаунте, отличном от того, в котором он запущен. Это позволяет публиковать данные с разных компонентов приложения на центральный аккаунт.
Подробнее о ценах на AWS X-Ray