创建自定义报告

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

通过自定义报告,您可以深入了解特定的 API 指标,并查看您希望看到的确切数据。在 API Monitoring 信息中心内,您可以根据创建时配置的条件,使用预设的过滤条件和指标创建自定义报告。此外,报告中还为您配置了一组默认维度和指标

根据您的具体情况创建自定义报告

根据您的具体情况快速创建自定义报告,如下表所述。在自定义报告页面上,使用 API Monitoring 创建的自定义报告会具有唯一性(默认名称),如表格所示;您可以在修改自定义报告时更改名称。

自定义报告上下文 自定义报告的默认命名惯例
近期信息中心 API Monitoring Recent Generated
时间轴信息中心 API Monitoring Timeline Generated
调查信息中心 API Monitoring Investigate Generated
提醒条件 API Monitoring Generated: alert-name

默认维度和指标

默认情况下,对于所有 API Monitoring 生成的报告,自定义报告将包含下表中列出的维度和指标。

组件 默认值
维度 请求 URI
指标
  • 总响应时间
  • 目标响应时间
  • 代理错误
  • 目标错误

修改自定义报告

如上一部分所述,在自定义报告中,预定义了一组 API Monitoring 默认维度和指标。创建完成后,您可以根据需要修改自定义报告,以添加或删除指标和维度。例如,您可能希望将调查范围缩小到特定访问令牌、开发者应用、API 代理或请求 ID。

在以下自定义报告中,您添加了预定义的 Gateway Flow ID 维度,其中 Gateway Flow ID 包含向 Edge 发出的每个 API 请求的唯一 UUID。请注意,该报告已使用 Request URI 维度:

以下示例将 Client ID 维度添加到了自定义报告。 Client ID 维度包含进行 API 调用的开发者的使用方键(API 密钥),无论该调用方是作为 API 密钥在请求中传递,还是包含在 OAuth 令牌中:

自定义报告包含所有 Client ID 值的信息。在下例中,我们添加了一个过滤条件,让您可以针对特定 Client ID 创建自定义报告:

如需详细了解可添加到报告中的所有预定义维度和指标,请参阅 Google Analytics(分析)指标、维度和过滤器参考

在下一个示例中,您将向自定义报告添加一个过滤条件,以捕获 policies.ratelimit.QuotaViolation 错误代码和 5xx 状态代码的默认指标和维度:

有关如何修改自定义报告的完整详情,请参阅管理自定义报告

示例:使用自定义报告诊断部署问题

StatisticsCollector 政策附加到 API 代理,以收集自定义分析数据,如用户或产品 ID、价格、REST 操作、目标版本、目标网址和消息长度。 数据可能来自 Apigee 预定义的流变量、请求标头、查询参数或您定义的自定义变量。

例如,向 API 代理发出的请求会包含产品 ID、用户 ID 和目标服务器版本的标头。此请求的格式如下:

curl -H "prodid:123456" -H "userid:98765" -H "targetversion:beta" http://myapi.com/myapi

然后,您可以使用标头中的信息帮助诊断 API 代理的运行时问题。

要为这些标题创建自定义报告,请执行以下操作:

  1. StatisticsCollector 政策添加到您的 API 以捕获自定义标头的值:

    <StatisticsCollector name="publishPurchaseDetails">
      <Statistics>
        <Statistic name="prodid" ref="request.header.prodid" type="integer">0</Statistic>
        <Statistic name="userid" ref="request.header.userid" type="integer">0</Statistic>
        <Statistic name="targetversion" ref="request.header.targetversion" type="string">alpha</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  2. 部署您的代理,并留出时间来访问该代理。

  3. 在 Edge 界面中依次点击分析 > API 监控 > 最近以查看 API 的所有问题。请注意,您会遇到 myapi 代理的 4xx 和 5xx 错误:

  4. 选择 myapi 代理行,以在“最近”信息中心的右侧窗格中查看更多详情。

  5. 在“近期”信息中心的右侧窗格中,依次选择 更多菜单 > 在调查中查看,即可访问调查信息中心:

  6. myapi 代理过滤调查信息中心,然后在顶部图表中查看状态代码。请注意,您会遇到 403 和 501 错误:

  7. 在 Edge 界面中,依次选择分析 > 自定义报告 > 报告,创建一个以这些自定义指标的值作为维度的自定义报告。

  8. 选择 + 自定义报告,创建名为 myapi_errors 的自定义报告。

  9. 为“指标”选择代理错误,并将汇总函数设置为总和。如果需要,您可以添加更多指标。

  10. 选择预定义的响应状态代码维度,然后将 prodidtargetersionuserid 这三个自定义统计信息添加到“维度”中:

  11. 设置过滤器,以仅包含 myapi API 代理 (apiproxy eq 'myapi') 的数据:

  12. 保存报告。

  13. 生成过去 24 小时的报告。报告首次打开时,您会看到一个包含 HTTP 403 和 501 错误的图表:

  14. 摘要下,点击 403510 以查看哪个产品产生了错误。例如,您选择了 403

  15. 点击摘要下的产品 ID,即可按目标版本(Alpha 版或 Beta 版)查看错误:

  16. 点击摘要下的目标版本即可按用户查看错误: