Распределённая трассировка с AWS X-Ray и структурированное логирование
Развёртывание приложений на AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Медленный запрос, который никто не мог найти
Один запрос выполняется четыре секунды
Логи каждого сервиса выглядят нормально по отдельности
Никто не видит весь путь целиком
Что решает распределённая трассировка
Один запрос затрагивает
множество сервисов
Логи не показывают
сквозной путь
Трасса
связывает весь запрос воедино
Видно, где именно ушло время
Сегменты, подсегменты и карта сервисов
Сегмент
: работа, выполненная одним сервисом
Подсегмент
: единица внутри сегмента, например вызов БД
Карта сервисов
: визуальный граф всех сегментов
Задержка и ошибки отображаются на каждом узле
Аннотации и метаданные
Аннотации
Индексированные пары ключ-значение —
поддерживают фильтрацию
Используйте для полей поиска, например уровень клиента
Метаданные
Дополнительные данные,
не индексируются
Добавляются для контекста, но поиск по ним недоступен
Корреляция логов с ID трасс
У каждой трассы есть уникальный
ID трассы
Включайте ID трассы в
структурированные логи
Переходите от медленной трассы к нужным строкам лога
Логи и трассы объединяются в одно расследование
Поиск узкого места по карте сервисов
Начните с
карты сервисов
, а не с логов
Найдите узел с наибольшей
задержкой
Откройте его
временну́ю шкалу трассы
Самый длинный сегмент — главный подозреваемый
Трассировка всего пути запроса
API Gateway, Lambda и нисходящие вызовы — все
трассируются
Каждый добавляет свой
сегмент
к общей трассе
Один ID трассы связывает логи и сегменты воедино
Полная видимость каждого запроса от начала до конца
Давайте потренируемся!
Развёртывание приложений на AWS
Preparing Video For Download...