帮助手册

Amazon API Gateway 监控

Amazon API Gateway 允许您创建、配置和托管 RESTful API,帮助移动应用和 Web 应用访问 AWS 服务。通过 Site24x7 的 AWS 集成,您不仅可以在 API Stage 级别,还可以在方法级别监控 API 调用、缓存、延迟、服务端和客户端错误的统计数据。

在 Stage 级别监控 API 执行

前提条件

API Gateway 会自动将 API 和 Stage 级别的指标发布到 CloudWatch。要监控资源上所有方法的 API 调用、延迟、集成延迟以及 400 和 500 错误,您需要启用详细 CloudWatch 指标。

启用详细 CloudWatch 指标:

  • 登录 AWS 管理控制台,进入 API Gateway 控制台。
  • 选择 API,点击 Stages
  • 在 API 的 Stage 列表中,选择相应 Stage。
  • 在 Stage 编辑器中选择 Logs
  • 在 CloudWatch 设置下,选择 Enable Detailed CloudWatch Metrics启用详细 CloudWatch 指标。
  • 选择 Save Changes

设置与配置

  • 如果尚未完成,请通过创建 Site24x7 IAM 用户或在您的 AWS 账户与 Site24x7 AWS 账户之间创建跨账户 IAM 角色,来启用对 AWS 资源的访问。 了解更多。
  • 接下来,在 集成 AWS 账户页面中,请确保选中 API Gateway Stage 旁边的复选框。 了解更多。

策略与权限

请确保分配给 Site24x7 IAM 实体的策略文档中包含以下只读操作权限。了解更多。

  • "apigateway:GET"

轮询频率

默认情况下,API Gateway 指标数据点每 1 分钟发送到 CloudWatch 一次。Site24x7 将每 1 分钟收集的数据聚合为 5 分钟平均值。 了解更多。

IT 自动化

您可以为 Site24x7 支持的 AWS 服务添加自动化。登录 Site24x7,转到 管理 > IT 自动化模板 (+) > 添加自动化模板。添加自动化后,您可以安排它们按顺序依次执行。

您现在可以使用 Amazon API Gateway 自动化,自动调用 Amazon API Gateway 中的 API。

支持的指标

Site24x7 在 API Stage 级别收集以下指标。

指标 描述 数据类型 统计方式
4XX 错误 统计捕获的客户端错误数量 计数 求和
5XX 错误 统计捕获的服务端错误数量 计数 求和
缓存命中数 统计从 API 缓存中获取响应的请求数量 计数 求和
缓存未命中数 统计在启用缓存时由后端处理的请求数量 计数 求和
请求数 统计 API 请求总数 计数 求和
集成延迟 统计 API Gateway 将请求路由到后端与接收到后端响应之间的耗时 毫秒 平均值及第 95 百分位
延迟 统计 API Gateway 从客户端接收请求到向客户端返回响应之间的耗时 毫秒 平均值及第 95 百分位

API 设置

属性 描述
API 端点  API 的 URI 
API 密钥选择表达式 当服务判断请求仅允许提供了有效 API 密钥的客户端访问时,将对此表达式进行求值 
禁用执行 API 端点  指定客户端是否可以使用默认的 execute-api 端点调用您的 API
创建日期  API 的创建日期和时间 
路由选择表达式  当服务选择路由以处理传入消息时,将对路由选择表达式进行求值 

Stage 设置

属性 描述
协议类型  API 类型:HTTP、WebSocket 或 REST
Stage 名称 Stage 的名称 
API Gateway ID API 的 ID 
API Gateway 名称  API Gateway 的名称 
区域  API 所在的区域 
自动部署 指定部署是否已自动发布 
创建日期  Stage 的创建日期 
最后更新时间  Stage 的最后更新时间 
部署 ID  部署标识符 
描述  部署的描述 
客户端证书 ID  Stage 的客户端证书标识符,仅支持 WebSocket API 
Stage 变量  为 Stage 资源定义 Stage 变量的映射 

 跨域资源共享 (CORS) 详情

属性 描述
允许凭证 指定 CORS 请求中是否包含凭证,仅支持 HTTP API 
允许的请求头 允许的请求头集合,仅支持 HTTP API 
允许的方法  允许的 HTTP 方法集合,仅支持 HTTP API
允许的来源 允许的来源集合,仅支持 HTTP API 
公开的响应头  公开的响应头集合,仅支持 HTTP API 
最大缓存时间  浏览器应缓存预检请求结果的秒数,仅支持 HTTP API 

 访问日志设置

属性 描述
目标 ARN 用于接收访问日志的 CloudWatch 日志组的 ARN 
格式  访问日志数据的单行格式,由所选的 $context 变量指定,格式中至少需包含 $context.requestId

默认路由设置

属性 描述
已启用详细指标 指定是否为 Stage 启用了详细指标
限流突发限制  指定 Stage 的限流突发限制 
限流速率限制  指定 Stage 的限流速率限制 
数据追踪已启用  指定是否为此路由启用了数据追踪日志记录 
日志级别  指定此路由的日志级别:INFOERROROFF  

查看数据

  • 登录 Site24x7 控制台,点击 AWS,选择被监控的 AWS 账户。
  • 从菜单下拉中选择 API Gateway Stage
  • 在已监控的 API Stage 列表中,选择您希望查看指标的 Stage。
  • 适用于您资源的各种时间序列图表(指标的可视化表示)可在 API Gateway 摘要标签页中查看。

被监控的资源

查看与您的 API Gateway Stage 关联的已监控 API Gateway 资源和路由列表。点击单个条目可查看与该资源关联的性能及资源使用统计信息。您还可以设置阈值,并在任何服务发生故障时通过点击操作栏下的铅笔图标进行通知配置。

拓扑视图

拓扑视图标签页提供实时的以资源为中心的依赖关系图。它能动态追踪您的 API Gateway 资源与周围 AWS 基础设施的实时连接关系,帮助在告警触发时快速定位根本原因。如果某个关联组件处于严重状态,该状态将在拓扑视图中标注显示,同时附有中断原因,让您无需离开监视器页面即可精确定位故障点。与账户级拓扑视图不同,此标签页将可视化范围限定于单个资源,精准回答以下问题:此 API Gateway 资源连接了哪些内容,若出现故障会影响什么?您可以从单个资源追踪完整的依赖链,直至其主要父实体、服务类型、区域和 AWS 账户层级。

在方法级别监控 API 执行

针对与资源路径关联的所有已定义方法,监控、可视化 API 执行指标并设置告警,以解决 API 执行和实现中的问题。

前提条件

  • 需已启用 Amazon API Gateway 集成。
  • Site24x7 控制台中的 API Gateway Stage 监视器需处于活跃状态。
  • 需为 API Stage 启用详细 CloudWatch 指标。

添加 API Gateway 资源监视器

本节介绍如何发现并将 API Gateway 资源添加为监视器:

  • 登录 Site24x7 控制台,点击 AWS,选择被监控的 AWS 账户
  • 从菜单下拉中选择 API Gateway 资源

发现

本节介绍如何从 API Stage 中选择特定资源。

  • 从下拉菜单中选择一个 API Stage(不支持多选)
  • 接下来,输入适当的正则表达式以匹配所选 API Stage 中的资源。在输入字符串前后添加 .* 作为前缀或后缀,以从 API Stage 中选择特定资源。
    例如,假设 API Stage 暴露了多个资源,如 /income/user/expense。您可以输入 .*/income,仅包含属于该特定路径的资源。
  • 点击 发现资源

添加

匹配正则表达式模式的所有资源及其方法将显示在下方。

  • 勾选您希望监控的资源路径旁边的复选框
  • 点击 添加所选资源,将其添加为监视器。

查看数据

  • 登录 Site24x7 控制台。
  • 点击 AWS,选择被监控的 AWS 账户。
  • 从菜单下拉中选择 API Gateway 资源
  • 在已监控资源列表中,选择您希望查看指标的资源。

元数据

API 概述

API 概述标签页提供服务状态和配置信息。

Stage 属性

属性 描述
API Gateway ID 显示 API 标识符。
API Gateway 名称 显示 API Gateway 名称。
区域 显示 API Gateway 所在的区域。
属性 描述
Stage 名称 显示 Stage 的名称(API Gateway 调用 URI 中的第一个路径段)
创建日期 显示 Stage 创建时的时间戳。
最后更新时间 显示 Stage 最后更新时的时间戳。
部署 ID 显示 Stage 指向的部署标识符。
描述 显示 Stage 的描述。
缓存集群 显示此 Stage 是否启用了缓存集群。
缓存集群大小 缓存集群的大小(如已启用)。
缓存集群状态 缓存集群的状态(如已启用)。
文档版本 显示关联的 API 文档版本。
访问日志 显示访问日志记录设置。
客户端证书 ID 显示 API Stage 的客户端证书标识符。
Stage 变量 显示 Stage 变量。

方法设置

属性 描述
指标监控 指定是否启用了 Amazon CloudWatch 指标。
日志级别 指定方法的日志级别(OFF、ERROR 或 INFO)。
数据追踪 指定是否为此方法启用了追踪日志记录。
限流突发限制 指定限流突发限制。
限流速率限制 指定限流速率限制。
目标 ARN 显示接收访问日志的 CloudWatch 日志组的 ARN。
API 缓存 显示是否应为请求缓存并返回响应。
缓存生存时间 显示缓存响应的生存时间 (TTL),单位为秒。
缓存数据加密 显示缓存响应是否已加密。
需要授权 显示缓存失效请求是否需要授权。 
处理授权请求 显示如何处理缓存失效的未授权请求。

金丝雀设置

属性 描述
金丝雀部署 ID 显示 Stage 指向的金丝雀部署标识符。
流量百分比 显示引导至金丝雀部署的流量百分比。
金丝雀 Stage 变量 显示金丝雀发布部署中覆盖的 Stage 变量。
使用 Stage 缓存 指示金丝雀部署 Stage 是否使用 Stage 缓存。 

资源设置

属性 描述
资源 ID 显示资源标识符。
父级 ID 显示引导至金丝雀部署的流量百分比。
资源路径 显示资源的完整路径。
方法 显示方法的 HTTP 动词。

在路由级别监控 API 执行

发现、监控、可视化 HTTP 和 WebSocket API Gateway 上所有已定义路由的 API 执行指标并设置告警,帮助追踪路由到不同 Stage 的情况。

前提条件

  • 需已启用 Amazon API Gateway 集成。
  • API Stage 监视器的路由需处于活跃状态。
  • 需为 Stage 启用详细 CloudWatch 指标。

添加和发现 API Gateway 路由监视器

按照以下步骤发现并将 API Gateway 路由添加为监视器:

  1. 登录 Site24x7 网页客户端,转到 云服务 > AWS,然后选择被监控的 AWS 账户。
  2. 从下拉菜单中选择 API Gateway 路由,然后点击 发现。或者,点击左侧面板中 API Gateway 路由旁的 + 按钮
  3. 在弹出的添加 API Gateway 路由监视器界面中,按照以下步骤操作:
    • 选择 API Gateway Stage:选择与 HTTP 和 WebSocket API Gateway 关联的路由。
    • 使用正则表达式选择路由:输入正则表达式以匹配所选 API Stage 中的路由。在输入字符串前后添加 .* 作为前缀或后缀,以从 API Stage 中选择特定资源。请参考下方示例
    • 点击 发现
  4. 未启用详细指标:发现并监控 API Gateway 路由以获取详细信息。为此,请点击 启用详细指标
注意

启用 API Gateway 路由监控将在您的 AWS 账户中产生额外费用。

使用正则表达式选择路由的示例

  1. 如果 API Stage 暴露了多个资源,如 /income/user/expense,可以输入 .*/income,仅包含属于该特定路径的资源。
  2. 路由由两部分组成:HTTP 方法和资源路径。如果要按方法筛选,可以指定方法名称,如 GET、POST、OPTION、PUT 或 DELETE
    • GET /bookStore/allBooks - 获取所有书籍信息
    • GET /bookStore/book?bookName=AWS - 获取所有 AWS 书籍详情
    • POST /bookStrore/addDetail/book?id=10?name=JAVA?price=200 - 向书店添加书籍详情
    • DELETE /bookStrore/removeDetail?id=10?name=JAVA - 删除特定书籍详情
  3. 如果要列出所有 GET 方法资源,可以输入 GET 来列出属于该特定方法的所有资源。结果如下:
    • GET /bookStore/allBooks - 获取所有书籍信息
    • GET /bookStore/book?bookName=AWS - 获取所有 AWS 书籍详情

已发现的 API Gateway 路由

  1. 只有在上一步中点击了 启用详细指标后,此部分才会显示。
  2. 已发现的 API Gateway 路由路径将被显示。勾选您希望监控的 API Gateway 路由路径旁边的复选框。
  3. 然后点击 添加所选路由

查看 API Gateway 路由监控数据

  1. 从 Site24x7 网页客户端,转到 云服务 > AWS,然后选择被监控的 AWS 账户。
  2. 从下拉菜单中选择 API Gateway 路由
  3. 在监视器列表中,选择您希望查看指标的 API Gateway 路由监视器。

监控 API Gateway 路由

HTTP 级别的性能指标

属性 描述 数据类型 统计方式
4xx 错误 统计捕获的客户端错误数量  计数 求和
5xx 错误 统计捕获的服务端错误数量  计数 

求和 

请求数  统计 API 请求总数  计数  求和
集成延迟  统计 API Gateway 将请求路由到后端与接收到响应之间的耗时  毫秒  平均值及第 95 百分位
延迟  统计 API Gateway 从客户端接收请求到向客户端返回响应之间的耗时  毫秒  平均值及第 95 百分位 
处理的数据量  API Gateway 路由处理的总数据量  兆字节  求和 

WebSocket 级别的性能指标

属性 描述 数据类型 统计方式
连接数  发送到 $connect 路由集成的消息数量  计数 求和
消息数    发送到 WebSocket API 或从 WebSocket API 发送到客户端的消息数量 计数  求和 
集成错误   从集成返回 4XX/5XX 响应的请求数量  计数  求和 
客户端错误   在调用集成之前,API Gateway 返回 4XX 响应的请求数量  计数  求和
执行错误   调用集成时发生的错误  计数  求和 
集成延迟  API Gateway 向集成发送请求与接收到集成响应之间的时间差。回调和模拟集成不计入此指标  毫秒 平均值 

配置

属性 描述
API Gateway ID 被监控路由的 API Gateway ID
API Gateway 名称 被监控路由的 API Gateway 名称 
区域  API Gateway 所部署的区域 
Stage 名称  被监控路由的 Stage 名称 
路由 ID  被监控路由的 ID 
资源端点 URL  被监控 API Gateway 路由的 URL 
资源路径  被监控 API Gateway 路由的路由键,由 HTTP 方法和资源路径组合而成
方法  路由的 HTTP 方法 
协议类型  API 类型 
需要 API 密钥  指定此路由是否需要 API 密钥,仅支持 WebSocket API 
授权  显示被监控路由是否启用了授权 
目标  路由的目标 

集成详情

属性 描述
连接类型 与集成端点的网络连接类型
连接 ID 用于私有集成的 VPC 链接 ID,仅支持 HTTP API 
集成 ID 集成的标识符 
集成方法  指定集成的 HTTP 方法类型 
集成类型  集成类型,如 AWS、AWS_PROXY、HTTP、HTTP_PROXYMOCK 
集成 URI   Lambda 函数的 URI、完整限定 URL,或 Application Load Balancer 侦听器、Network Load Balancer 侦听器或 AWS Cloud Map 服务的 ARN
有效载荷格式版本 指定发送到集成的有效载荷格式 
超时时间  WebSocket API 自定义超时为 50 至 29,000 毫秒,HTTP API 为 50 至 30,000 毫秒 
内容处理策略  指定如何处理响应有效载荷内容类型转换 
描述  集成的描述 
集成子类型  集成的子类型,可以是 AWS、AWS_PROXY、HTTP、HTTP_PROXYMOCK 
直通行为  根据请求中的 Content-Type 请求头及 Integration 资源上指定为 requestTemplates 属性的可用映射模板,指定传入请求的直通行为
请求参数  对于 WebSocket API,这是一个键值映射,指定从方法请求传递到后端的请求参数。对于具有指定 integrationSubtype 的 HTTP API 集成,请求参数是传递给 AWS_PROXY 集成的键值映射 
请求模板  表示根据客户端发送的 Content-Type 请求头值应用于请求有效载荷的 Velocity 模板映射
响应模板   在将响应返回给客户端之前,对后端集成的 HTTP 响应进行转换的模板
TLS 配置  私有集成的 TLS 配置

授权详情

属性 描述
授权方 ID 授权方标识符
授权方类型 指定使用传入请求参数的 Lambda 函数为 REQUEST,或 JSON Web Token 为 JWT 
授权方 URI  授权方的统一资源标识符
身份来源  请求授权的身份来源 
名称  授权方的名称 
JWT 配置  表示 JWT 授权方的配置 
启用简单响应  指定 Lambda 授权方是否以简单格式返回响应。如果启用,Lambda 授权方可以返回布尔值而非 IAM 策略  
有效载荷格式版本  指定发送到 HTTP API Lambda 授权方的有效载荷格式 
授权方结果 TTL  缓存授权方结果的生存时间,单位为秒 

许可

每个 API Gateway 路由监视器均被视为基础监视器

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!