【问题标题】:AWS Gateway and CloudWatch logsAWS 网关和 CloudWatch 日志
【发布时间】:2018-11-27 20:43:54
【问题描述】:

我似乎无法在 AWS CloudWatch 中查看我的 AWS Gateway 的日志。

我做了以下事情:

  • 创建了允许 CloudWatch 日志的 IAM 角色
  • 创建 API 并在 API 设置中设置 IAM ARN
  • 在阶段设置中启用 CloudWatch Logs

现在我可以看到一个似乎与我的 AWS 网关和日志流对应的日志组,但它们都是空的。

我想我在这里遗漏了一些东西。

谢谢, 迈克尔

【问题讨论】:

  • 这是vpc网关还是api网关? (vpc 流日志 | 在 api 日志中启用 api 跟踪)
  • @Michal,如果您喜欢这个答案并且它对您有用,请批准并投票,以及 Stack Overflow 的推荐。谢谢。

标签: amazon-web-services aws-api-gateway amazon-cloudwatchlogs


【解决方案1】:

使用 API Gateway 控制台设置 API 日志记录

要设置 API 日志记录,您必须已将 API 部署到阶段。您还必须为您的帐户配置 an appropriate CloudWatch Logs role ARN。

  1. 通过 here 登录 API Gateway 控制台。
  2. 从主导航面板中选择设置,然后在 CloudWatch 日志角色 ARN 中键入具有适当权限的 IAM 角色的 ARN。 您需要这样做一次。
  3. 执行以下操作之一:
    • 选择现有 API,然后选择阶段。
    • 创建 API 并将其部署到阶段。
  4. 在阶段编辑器中选择日志/跟踪。
  5. 启用执行记录:
    1. 在 CloudWatch 设置下选择启用 CloudWatch Logs。
    2. 从下拉菜单中选择错误或信息。
    3. 如果需要,请选择启用详细的 CloudWatch 指标。

有关 CloudWatch 指标的更多信息,请参阅Monitor API Execution with Amazon CloudWatch

  1. 要启用访问日志记录:
    1. 在自定义访问日志下选择启用访问日志。
    2. 在 CloudWatch 组中键入日志组的 ARN。 ARN 格式为 arn:aws:logs:{region}:{account-id}:log-group:API-Gateway-Execution-Logs_{rest-api-id}/{stage-name}。
    3. 在日志格式中键入日志格式。您可以选择 CLF、JSON、XML 或 CSV,以使用提供的示例之一作为指导。
  2. 选择保存更改。

注意:您可以相互独立地启用执行日志记录和访问日志记录。

参考:Set Up CloudWatch API Logging in API Gateway

【讨论】:

  • 很好的答案。如果我只切换“启用详细 CloudWatch 指标”,是否必须重新部署 API 才能使更改生效?
  • 当您在切换“启用详细 CloudWatch 指标”然后选择“保存更改”之前选择现有 API 以及部署阶段时,它将自动发生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 2016-11-27
  • 1970-01-01
  • 2016-03-22
相关资源
最近更新 更多