API 网关 Cloudwatch 高级日志记录

API Gateway Cloudwatch advanced logging

我正在尝试为对我们服务的 API 调用进行计费,这包括为每个 API 密钥使用创建指标,但在我开始之前我想首先了解 CloudWatch 日志的某个方面。

在第一张图片中,您会注意到在 6 周零 30 天的时间内图表上记录了 106 万次点击:

我对此的理解是,1.06m是在这个API上发生的点击量,"custom (6w)"是时间段,即超过6周的流量和"Period" 30 天是记录的间隔(即按 30 天分割)- 我不是 100% 确定这一点。

现在,如果我将时间段改为更长的时间(即从 6 周改为 3 个月),我希望看到更多,即使不是相同的数量。但不是,看下图:

我已通读大量 AWS CloudWatch 文档,其中一些已在下面列出:

实际上还有另外 5 篇文章(如果您愿意,我会把它们从我的历史中挖掘出来以供更多阅读)。

任何人都可以阐明这一点,我正在努力更好地理解 a) 如何阅读这些图表和 b) 使用 CloudWatch 满足我上面提到的高级日志记录的要求。

谢谢

您看到不同的数据点值,因为您的数据点在这 2 个图表中跨越不同的时间范围。

时间范围定义您的数据将在哪两个时间点之间绘制。当您转到图表的时间范围 select 时,您有 2 个选项:

  • 绝对 - 您必须select图表的具体开始和结束时间。
  • Relative - 您 select 预定义的时间范围之一(如 1 天、1 周、6 周、3 个月)和仪表板计算开始时间和图表的结束时间。

句点是每个数据点的宽度。

这适用于您的图表(我假设您是在 8 月 1 日绘制这些图表):

第一张图

当您 select 编辑 6 周的时间范围时,CloudWatch 计算图表的开始时间为 6 月 20 日,结束时间为 8 月第一。因为您 select 编辑了 30 天的时间段,图表上的数据点将涵盖这些时间范围:

  • 第一个数据点:6 月 20 日 - 7 月 20 日
  • 第二个数据点:7 月 20 日 - 8 月 1 日

第二张图

当您 select 设置 3 个月的时间范围时,CloudWatch 计算图表的开始时间为 5 月 1 日,结束时间为 8 月第一。因为您 select 编辑了 30 天的时间段,图表上的数据点将涵盖这些时间范围:

  • 第一个数据点:5 月 1 日 - 5 月 31 日(你看不到这个,因为你的指标可能没有这个时间范围内的数据)
  • 第二个数据点:5 月 31 日 - 6 月 30 日
  • 第三个数据点:6 月 30 日 - 7 月 30 日
  • 第四个数据点:7 月 30 日 - 8 月 1 日

您可以通过将鼠标悬停在数据点上来查看每个数据点的开始时间。然后通过将时间段的长度加上开始时间来计算结束时间。

现在您用红色突出显示的数字表示:

  • 您在 6 月 20 日 - 7 月 20 日
  • 期间获得了 106 万次点击
  • 您在 6 月 30 日 - 7 月 30 日
  • 期间获得了 851K 次点击

下面是一个可以创建此类图表的数据分布示例:

  • 6 月 20 日 - 6 月 30 日 -> 200.6k 点击
  • 6 月 30 日 - 7 月 20 日 -> 80 万次点击
  • 7 月 20 日 - 7 月 30 日 -> 51,000 次点击

第一个图表上的第一个数据点涵盖 6 月 20 日 - 7 月 20 日,因此显示 200.6k + 800k = 1.06M

第二张图上的最大数据点涵盖 6 月 30 日 - 7 月 30 日,即 800k + 51k = 851k