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

Попробуйте AWS X-Ray бесплатно

Уровень бесплатного пользования AWS включает запись 100 000 маршрутов и извлечение или обработку одного миллиона маршрутов ежемесячно.

Подробнее об уровне бесплатного пользования AWS »

Вопрос: Что такое AWS X-Ray?

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

Вопрос: В каких случаях следует использовать X-Ray?

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

Вопрос: Как можно использовать сервис X-Ray?

X-Ray помогает выполнять следующие задачи.

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

Вопрос: Что такое маршрут?

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

Вопрос: Что такое сегмент?

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

Вопрос: Что такое аннотация?

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

Вопрос: Что такое ошибки?

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

Вопрос: Что такое периодичность отслеживания?

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

Вопрос: Что такое агент X-Ray?

Агент X-Ray собирает данные из журналов и направляет их в сервис X-Ray для последующего объединения, анализа и хранения. По сравнению с непосредственным использованием API сервиса агент упрощает отправку данных в X-Ray. Он доступен для Amazon Linux AMI, Red Hat Enterprise Linux (RHEL) и Windows Server 2012 R2, а также более новых версий ОС.


Вопрос: Как начать работу с сервисом X-Ray?

Чтобы начать работу с X-Ray, подключите языковой пакет SDK X-Ray к приложению и установите агент X-Ray. Подробнее см. в Руководстве пользователя X-Ray.

Вопрос: Какие типы приложений совместимы с X-Ray?

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

Вопрос: Какие сервисы AWS совместимы с X-Ray?

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

Вопрос: Какие изменения нужно внести в код приложения, чтобы оно работало с X-Ray?

При использовании Elastic Beanstalk следует включить в код приложения соответствующие языковые библиотеки X-Ray. Для приложений, работающих в других сервисах AWS, таких как EC2 и ECS, необходимо установить агент X-Ray и обработать код приложения.

Вопрос: Есть ли у сервиса X-Ray API?

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


Вопрос: В каких регионах доступен 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 может принять роль, разрешающую публикацию данных в аккаунты, отличные от того, на котором он запущен. Это позволяет публиковать данные с разных компонентов приложения на центральный аккаунт.