Как эффективно отслеживать запросы в шлюзе AWS API - PullRequest
1 голос
/ 23 июня 2019

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

Ответы [ 2 ]

1 голос
/ 24 июня 2019

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

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

Вы можете настроить частоту выборки с помощью консоли 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 - это решение для распределенной трассировки, а не для аудитарешение.Как упоминалось в X-Ray FAQ , «X-Ray не должен использоваться в качестве инструмента аудита или соответствия, поскольку он не гарантирует полноту данных».

0 голосов
/ 23 июня 2019

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

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

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

  • URI запроса конечной точки, заголовки, тело после преобразований
  • Тело результата Authorizer перед анализом
  • Путь запроса метода, заголовки, тело перед преобразованиями
  • Заголовки ответа конечной точки, тело до преобразования
  • Методы ответа заголовков, тело после преобразования
...