您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
本主题介绍 Edge API Analytics。
视频 :观看一段简短视频,简要了解 Edge API Analytics 服务。
通过分析改善 API
Edge API Analytics 会收集并计算流经 API 代理的大量信息。 您可以使用 Edge 界面中的图表和图表直观呈现这些数据,也可以使用 Edge 管理 API 下载原始数据,以供离线分析。
Analytics 可帮助您解答常见问题,例如:
- 我的 API 流量在一段时间内的趋势如何?
- 哪些 API 方法最受欢迎?
- 我的主要开发者有哪些?
- 什么时候 API 响应时间最快?最慢
- 从地理位置角度看,在哪里查看 API 流量最多?
这些问题解答可帮助您改进 API、排查问题,并做出更好的与您的 API 程序相关的业务决策。
API Analytics 可帮助每个人改善
通过收集、分析和直观呈现数据的持续流程,Edge API Analytics 可帮助您的 API 团队改进其 API,并可帮助应用开发者改进自己的应用:

- API 团队 - API 团队正逐渐探索内部系统,以创建有趣的 API。API 团队想要了解 API 程序的整体执行情况、各个 API 的运行方式以及如何改进其 API。
- 应用开发者 - 与应用开发者共享分析信息,即可获得更好的应用。这些开发者正使用您的 API 进行创新,并构建创意应用,帮助企业增加收入。Analytics 可帮助应用开发者了解其应用的执行情况,以及他们对企业利润的贡献有多大。应用开发者希望了解如何改进其应用。
- 运营团队 - 运营团队希望了解流量模式并预计何时添加后端资源或做出其他关键调整。
- 企业所有者 - 企业所有者希望查看他们的 API 投资的收益情况,以及今后将来的 API 资金投向。
哪些类型的数据会收集并分析?
Edge API Analytics 会收集并分析流经 API 代理的众多数据,例如:
- 响应时间
- 请求延迟时间
- 请求大小
- 目标错误
- API 产品名称
- 开发者电子邮件地址
- 应用名称
- 其他
如需 API Analytics 收集的数据的完整列表,请参阅分析指标、维度和过滤器参考文档。
如何收集自定义分析数据?
Edge 以原生方式收集海量数据。您可能还希望收集特定于 API 代理、应用、产品或开发者的自定义分析数据。例如,您可能希望从查询参数、请求标头、请求和响应正文或者您在 API 中定义的变量中收集分析数据。
您可以使用 StatisticsCollector 政策收集自定义分析数据。提取自定义数据后,您可以使用分析界面或 API 检查数据。如需查看有关如何收集自定义分析数据的完整示例,请参阅使用自定义分析分析 API 消息内容。
Google Analytics 数据与 API Monitoring 数据之间的差异
本部分介绍了 Edge Analytics 与 API Monitoring 收集的数据之间的一些细微差异。 由于 API Monitoring 和 Analytics 使用不同的数据流水线,因此 Monitoring 生成的自定义报告与 Analytics 生成的报告之间可能会存在细微差异。例如,您可能会发现超时错误的报告结果存在差异,包括后端超时(请求的 HTTP 状态代码为 504)和客户端超时(HTTP 状态代码为 499)。这些数据在 Google Analytics 自定义报告中显示的状态代码可能是 200,但在 Google Analytics 监控自定义报告中显示的状态代码可能是 504 或 499。我的分析数据在何时可用,可用时长是多少?
可以通过以下两种时间间隔来控制您查看分析数据的时间和时长:
- 数据延迟时间间隔 - 调用 API 代理后,您最长可能需要等待 10 分钟,才能访问数据以便显示或或通过 Management API 调用显示。
- 数据保留 - Google Analytics 数据的保留时长取决于您的订阅方案:
- 标准:30 天
- 企业版:3 个月
- 企业 Plus 版:14 个月
如何访问我的分析数据?
Edge API Analytics 提供了 Edge 界面内置的数据可视化工具。这些工具包括预定义的分析信息中心和自定义报告,让您可以在图表和图表中显示数据,并且可以深入了解按不同维度分组的数据(例如通过 API 代理、IP 地址或 HTTP 状态代码)。
此外,您还可以使用 Edge Management API 下载分析数据。下载后,您可以将这些数据导入到您自己的数据可视化工具或分析系统中。
分析信息中心
Edge 界面提供了一组预定义的信息中心,可供您用来查看分析数据。 例如,以下图像显示了代理性能信息中心:

此信息中心包含如下图表:
- 总流量 - Edge 针对组织中的 API 环境收到的 API 请求总数。
- 流量成功 - 产生成功响应的请求总数。错误响应不计入。
- 流量错误 - 所有失败的 API 请求总数;也就是说,请求不提供响应。计数包括代理错误(Apigee 端)和目标错误(后端服务)。
- 平均 TPS - 每秒 API 请求数和生成的响应数。
其他预定义的信息中心包括:
如需详细了解这些预定义信息中心,请参阅使用分析信息中心。
自定义报告
利用自定义报告,您可以深入到特定 API 指标,也可以查看想要查看的确切数据。您可以使用 StatisticsCollector 政策收集的 Edge 中内置的任何分析数据或自定义分析数据来创建自定义报告。
构建自定义报告时,您可选择要查看的数据(指标),以有意义的方式对数据进行分组(维度),并视情况限制根据数据的特定特征返回的数据(过滤)。
您还可以将自定义报告中显示的图表类型设置为柱形图或折线图。 下图显示了按 API 代理分组的每秒事务数示例:
柱形 - 每个 API 代理由不同的柱形表示:
线条 - 每个 API 代理由不同的线条表示:
有关详情,请参阅 创建和管理自定义报告。
Analytics API
使用 Edge Management API 下载分析数据。例如,您可以使用 API 构建自己的可视化工具,并将其嵌入到门户或自定义应用中。
下面是一个检索 API 代理分析数据的 API 调用示例:
curl https://api.enterprise.apigee.com/v1/o/org_name /environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \ -upassword
此调用会返回:
- 每个 API 代理的请求总数(消息计数)
- 对于 24 小时期间
- 按小时分组
timeRange
查询参数以以下形式指定时间段:
?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM
请注意 HH:MM
之前的 %20
。timeRange
参数要求在 HH:MM
之前使用采用网址编码的空格字符或 +
字符,例如 MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM
。
如需了解详情,请参阅 使用 Metrics API 衡量 API 程序性能。
将分析数据导出到 Google Cloud
您可以使用 Edge Management API 将整天的所有分析数据从 Edge 导出到您自己的数据存储区,例如 Google Cloud Storage 或 BigQuery。然后,您可以利用 Google Cloud BigQuery 和 TensorFlow 提供的强大的查询和机器学习功能来执行您自己的数据分析。
如需了解详情,请参阅从 Google Analytics 导出数据。
如何与应用开发者共享数据?
将应用开发者视为您的客户时,您想要确保他们拥有所需的工具和信息,以便充分利用您的 API。

应用开发者不仅关注应用的质量,他们对您的 API 也非常感兴趣。基于 Drupal 的开发者门户包含一个可选的应用性能页面,旨在让应用开发者访问其应用的重要指标。本页面向开发者提供有关以下内容的信息:
- 错误:我的应用发现了哪些 API 错误?
- 性能:API 的速度目前是否较慢?哪些 API 方法通常较慢或目前较慢?
- 可用性:API 现在是启动还是关闭?
- 配额:您的 API 是否有配额?作为应用开发者,我如何处理配额?
如需了解详情,请参阅:
- Drupal 7:显示应用使用情况分析
- Drupal 8:监控应用
- 集成式门户:不可用
此外,您还可以通过以下方式与开发者共享分析:
- 创建自定义报告,并与应用开发者分享。如需了解详情,请参阅创建自定义报告。
- 使用 Edge Management API 捕获更长时间段的数据,并与应用开发者离线共享。如需了解详情,请参阅 使用 Metrics API 衡量 API 程序性能。
如何生成完整的分析数据?
完整的分析是指什么?例如,您可以创建 API 代理,而 Edge 将收集有关该代理的分析数据。但是,调用 API 代理的开发者或应用的指标会怎么样?如果 Edge 不知道谁发起了 API 调用,则无法收集该数据。
您需要执行几个步骤才能让 Edge 确定哪些开发者和哪些开发者应用调用您的 API 代理。下面列出了这些步骤,其中包含指向更详细信息的链接:
- 创建一个或多个 API 产品,这是 API 代理和服务计划的分组。请参阅管理 API 产品。
- 通过 Edge 注册应用开发者。请参阅 注册应用开发者。
- 为开发者注册应用并生成 API 密钥。请参阅 注册应用和管理 API 密钥。
- 向您的 API 代理添加安全政策,以验证 API 密钥和/或安全令牌。请参阅以下主题:验证 API 密钥政策、OAuthV2 政策和验证 JWT 政策。
- 如果您使用的是 Edge Microgateway,请确保您已启用分析插件(默认处于启用状态)。如果停用分析插件,Edge Microgateway 将不会将分析数据发送到 Edge Analytics。
以下教程将引导您完成必要步骤,从而查看开发者和应用的分析:通过要求 API 密钥保护 API 和使用 OAuth 保护 API。
将 API Analytics 与 API Monitoring 进行比较
您可以同时使用 Edge API Monitoring 和 API Analytics。API Monitoring 会检查分析数据,以提供有关 API 性能的实时上下文数据洞见,让您能够快速诊断问题,并促进采取补救措施以实现业务连续性。API Monitoring 旨在快速发现 API 和后端中的问题。 API Analytics 旨在捕获各种分析数据,供多个不同团队使用,但这些数据通常用于非实时场景中的分析。
API Monitoring 和 API Analytics 之间的主要区别之一是,API Monitoring 内置了提醒机制。借助提醒,您可以指定 HTTP 状态代码 (2xx/4xx/5xx)、延迟时间或故障代码阈值;一旦超出该阈值,系统就会向运维团队发送提醒通知。提醒通知可以通过各种渠道(例如电子邮件、Slack、寻呼器或网络钩子)发送,以便您立即响应问题。
如需详细比较这两项服务,请参阅API 监控与 Edge API Analytics 的比较。