创建自定义报告

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

利用自定义报告,您可以深入到特定 API 指标,也可以查看想要查看的确切数据。在 API 监控信息中心,您可以根据创建时配置的条件,创建预设了过滤条件和指标的自定义报告。此外,系统还会在报告中为您配置一组默认维度和指标

根据您的情境创建自定义报告

您可以根据自己的背景信息快速创建自定义报告,如下表所示。在自定义报告页面上,使用 API 监控创建的自定义报告的名称是唯一的(默认),如表格所示;您可以在修改自定义报告时更改名称。

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

默认维度和指标

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

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

修改自定义报告

如前一部分所述,自定义报告中预配置了一组预定义的 API 监控默认维度和指标。创建自定义报告后,您可以根据需要对其进行编辑,以添加或删除指标和维度。例如,您可能希望将调查范围缩小到特定访问令牌、开发者应用、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 创建自定义报告:

如需详细了解您可以添加到报告中的所有预定义维度和指标,请参阅分析指标、维度和过滤条件参考文档

在下例中,您将过滤条件添加到自定义报告中,以捕获 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. 向您的 API 添加 StatisticsCollector 政策,以捕获自定义标头的值:

    <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 界面中,依次选择 Analytics> Custom Reports(自定义报告)> Reports(报告),以创建一个自定义报告,其中包含这些自定义指标的值作为维度。

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

  9. 为“指标”选择 Proxy Errors,并将汇总函数设置为 Sum。如果需要,您可以添加更多指标。

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

  11. 将过滤条件设置为仅包含 myapi API 代理 (apiproxy eq 'myapi') 的数据:

  12. 保存报告。

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

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

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

  16. 点击摘要下的目标版本,查看按用户划分的错误情况: