Если AWS X-Ray не собирает запросы, как ожидалось, могут быть несколько причин для этого. Вот несколько шагов, которые можно предпринять для устранения проблемы:
-
Проверьте инструментирование: Убедитесь, что ваше приложение правильно инструментировано с использованием SDK AWS X-Ray. SDK должен быть интегрирован в ваш код для захвата и отправки данных трассировки.
-
Проверьте разрешения IAM: Убедитесь, что роль IAM, связанная с вашими экземплярами EC2 или функциями Lambda, имеет необходимые разрешения для отправки данных трассировки в X-Ray. Роль должна иметь прикрепленную политику AWSXRayDaemonWriteAccess.
-
Проверьте конфигурацию демона: Если вы используете демон X-Ray (xray-daemon), убедитесь, что он работает и правильно настроен на вашем сервере. Демон отвечает за отправку данных трассировки в сервис X-Ray.
-
Проверьте правила выборки: Проверьте правила выборки в консоли X-Ray. Если скорость выборки слишком низкая, некоторые запросы могут быть исключены из захвата.
-
Проверьте выражения фильтрации: В консоли X-Ray проверьте, применяются ли какие-либо выражения фильтрации. Они могут ограничивать отображаемые трассировки.
-
Проверьте инструментирование сервисов: Убедитесь, что все сервисы, участвующие в запросе (например, экземпляры EC2, функции Lambda, базы данных), правильно инструментированы с использованием SDK X-Ray.
-
Проверьте распространение заголовков трассировки: Убедитесь, что заголовок трассировки X-Ray передается между сервисами. Этот заголовок важен для связи трассировок между различными компонентами вашего приложения.
-
Проблемы с сетью: Проверьте наличие проблем с сетью, которые могут помешать вашему приложению общаться с сервисом X-Ray. Убедитесь, что необходимые порты (UDP-порт 2000 и TCP-порт 2000) открыты.
-
Проверьте ошибки в логах: Просмотрите логи, генерируемые вашим приложением, на наличие ошибок, связанных с инструментированием X-Ray или отправкой трассировок.
-
Подтвердите регион AWS: Убедитесь, что ваши ресурсы AWS (например, экземпляры EC2, функции Lambda) и сервис X-Ray находятся в одном регионе AWS.
-
Проверьте активные трассировки: В консоли X-Ray проверьте метрику "Активные трассировки", чтобы увидеть, записываются ли трассировки.
-
Консоль AWS X-Ray: Перейдите в консоль AWS X-Ray и откройте карту сервисов или просмотр трассировок, чтобы проверить, записываются ли данные.
Если вы прошли все эти шаги и по-прежнему испытываете проблемы, подумайте о том, чтобы обратиться в службу поддержки AWS за дополнительной помощью. Они могут предоставить подробные рекомендации и помочь в устранении конкретных проблем с инструментированием X-Ray.