Как эффективно отслеживать запросы в шлюзе API AWS

Для отслеживания запросов к AWS apigateway я использую x-ray. Одно из требований - отслеживать каждый запрос (входящий в шлюз, выполнение авторизатора, конечная точка сервера) и сохранять его в определенном формате журнала. Есть ли эффективный способ отслеживания запросов к шлюзу API AWS.


person Ramya Karuna    schedule 23.06.2019    source источник


Ответы (2)


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

В своем вопросе вы упомянули, что хотите отслеживать "каждую" трассу. С API Gateway (а также с демоном, работающим на экземплярах EC2) у вас есть возможность контролировать частоту дискретизации с помощью консоли X-Ray. Это означает, что у вас есть централизованное место, где можно указать, что вы хотите получить 25% выборку по URL-адресу /orders' URL while you want 100% sampling on / login`.

Вы можете настроить частоту дискретизации с помощью консоли X-Ray, как описано здесь: https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html

Дополнительную информацию о правилах выборки для рентгеновского излучения можно найти здесь: https://aws.amazon.com/blogs/aws/apigateway-xray/

Управление выборкой с помощью API: https://docs.aws.amazon.com/xray/latest/devguide/xray-api-sampling.html.

Вы можете использовать 100% отбор проб или достаточно большой резервуар для отслеживания «почти каждого» запроса.

Педантичный отказ от ответственности следует

Имейте в виду, что AWS X-Ray - это решение для распределенной трассировки, а не решение для аудита. Как упоминалось в часто задаваемых вопросах о рентгеновских снимках, «рентгеновские снимки не должны использоваться в качестве инструмент аудита или соответствия, поскольку он не гарантирует полноты данных. ".

person Rohit Banga    schedule 23.06.2019

Прежде всего, для этого подойдет рентген. Если вам нужна дополнительная информация, вы можете включить журналы CloudWatch или полное ведение журнала данных запроса / ответа в API Gateway. Эти журналы можно легко проанализировать с помощью CloudWatch Insights.

Вы можете найти эти параметры в консоли API Gateway> Ваш API> Этапы> Ваш этап> Журналы / Трассировка.

В журналах можно увидеть следующее:

  • URI запроса конечной точки, заголовки, тело после преобразований
  • Тело результата авторизатора перед синтаксическим анализом
  • Путь запроса метода, заголовки, тело до преобразований
  • Заголовки ответа конечной точки, тело до преобразований
  • Заголовки ответа метода, тело после преобразований
person adrian-mezei    schedule 23.06.2019