AWS cloudwatch усекает логи

Я создал API, используя шлюз API AWS. На этапах установлен флажок "Журнал полных запросов / ответов" и "Включить журналы CloudWatch".

Когда я просматриваю логи в cloudwatch, я вижу, что некоторые из журналов "TRUNCATED". На самом деле все журналы являются усеченными запросами и ответами. body, Есть ли способ просмотреть весь запрос / ответ.

Поскольку будет несколько точек интеграции, имеет смысл просмотреть все журналы.

2 ответа

Похоже, это одна из известных проблем в AWS API Gateway.

В настоящее время API-шлюз ограничивает события журнала 1024 байтами. События журнала размером более 1024 байтов, такие как тела запросов и ответов, будут обрезаны API-шлюзом перед отправкой в ​​журналы CloudWatch.

API Gateway ограничивает количество событий журнала 1024 байтами и не может быть увеличено. События журнала размером более 1024 байтов, такие как тела запроса и ответа, будут усечены API Gateway перед отправкой в ​​CloudWatch Logs.

Обходной путь может заключаться в интеграции прокси-сервера Lambda со шлюзом API.

При интеграции прокси-сервера Lambda API Gateway передает запрос интегрированной функции Lambda без изменений, за исключением того, что порядок параметров запроса не сохраняется.

Эти данные запроса включают заголовки запроса, параметры строки запроса, переменные пути URL, полезную нагрузку, тело и контекст запроса. Поскольку Lambda не усекает запись журнала, все заголовки и параметры строки запроса регистрируются в журнале Lambda CloudWatch и их можно увидеть.

Обратной стороной этого подхода является то, что лямбда увеличивает стоимость.

Прочтите о журналах API Gateway CloudWatch здесь: https://cloudnamaste.com/api-gateway-cloudwatch-logs/

Другие вопросы по тегам