API 分析概览

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

本主题介绍 Edge API Analytics。

视频 :观看一小段视频,简要了解 Edge API Analytics 服务。

通过分析改善 API

Edge API Analytics 会收集并计算流经 API 代理的大量信息。 您可以在 Edge 界面中通过图形和图表直观呈现这些数据,也可以下载 进行离线分析。

Analytics 可帮助您解答常见问题,例如:

  • 我的 API 流量在一段时间内的趋势如何?
  • 哪些 API 方法最受欢迎?
  • 我的主要开发者有哪些?
  • 什么时候 API 响应时间最快?最慢
  • 从地理位置角度看,在哪里查看 API 流量最多?

这些问题解答可帮助您改进 API、排查问题,并做出更好的与您的 API 程序相关的业务决策。

API Analytics 可帮助每个人改善

通过持续收集、分析和直观呈现数据的过程,Edge API Analytics 可帮助 您的 API 团队会改进 API 并帮助应用开发者改进应用:

alt_text
  • 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 生成的自定义报告和 Google Analytics。例如,您可能会看到 超时错误(两个后端超时)报告结果的差异 (请求的 HTTP 状态代码 504)和客户端超时(HTTP 状态代码 499)。 在 Google Analytics 自定义报告中,此类代码可能会显示为 200 状态代码。 但在 Monitoring 自定义报告中显示为状态代码 504 或 499。

我的分析数据在何时可用,可用时长是多少?

可以通过以下两种时间间隔来控制您查看分析数据的时间和时长:

  • 数据延迟间隔 - 调用 API 代理后,最多可能需要 需要 10 分钟,才能访问数据以显示或通过 Management API 调用进行访问。
  • 数据保留 - Edge 保留分析数据的时长 因方案而异。 根据您的方案,系统可能会提供过去 30 天、60 天、90 天或 365 天的分析数据。

如何访问我的分析数据?

Edge API Analytics 提供 Edge 界面中内置的数据可视化工具。这些工具包括预定义的分析信息中心和自定义报告,让您可以在图表和图表中显示数据,并且可以深入了解按不同维度分组的数据(例如通过 API 代理、IP 地址或 HTTP 状态代码)。

此外,您还可以使用 Edge Management API 下载分析数据。下载后,您可以将这些数据导入到您自己的数据可视化工具或分析系统中。

分析信息中心

Edge 界面提供了一组预定义的信息中心,可用于查看分析数据。 例如,以下图像显示了代理性能信息中心:

此信息中心包含如下图表:

  • 总流量 - Edge 收到的针对组织中 API 环境的 API 请求总数。
  • 流量成功 - 产生成功响应的请求总数。错误响应不计入。
  • 流量错误 - 所有失败的 API 请求总数;也就是说,请求不提供响应。计数包括代理错误(Apigee 端)和目标错误(后端服务)。
  • 平均 TPS - 每秒 API 请求数和生成的响应数。

其他预定义的信息中心包括:

如需详细了解这些预定义信息中心,请参阅使用分析信息中心

自定义报告

利用自定义报告,您可以深入到特定 API 指标,也可以查看想要查看的确切数据。您可以使用 Edge 内置的分析数据或自定义分析来创建自定义报告 StatisticsCollector 政策收集的数据。

构建自定义报告时,您可选择要查看的数据(指标),以有意义的方式对数据进行分组(维度),并视情况限制根据数据的特定特征返回的数据(过滤)。

您还可以将自定义报告中显示的图表类型设置为柱形图或折线图。 下图显示了按 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" \
-u email:password

此调用会返回:

  • 每个 API 代理的请求总数(消息计数)
  • 对于 24 小时期间
  • 按小时分组

timeRange 查询参数以以下形式指定时间段:

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

请注意 HH:MM 之前的 %20timeRange 参数要求在 HH:MM 之前使用采用网址编码的空格字符或 + 字符,例如 MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM

有关更多信息,请参见 使用 Metrics API 来衡量 API 项目的表现。

将分析数据导出至 Google Cloud

您可以使用 Edge Management API 从 Edge 导出一整天的所有分析数据 到您自己的数据存储区,例如 Google Cloud StorageBigQuery。 然后,您可以利用 Google Cloud BigQuery 和 TensorFlow 提供的强大的查询和机器学习功能来执行您自己的数据分析。

如需了解详情,请参阅从 Google Analytics 导出数据

如何与应用开发者共享数据?

将应用开发者视为您的客户时,您想要确保他们拥有所需的工具和信息,以便充分利用您的 API。

alt_text

应用开发者不仅关注应用的质量,他们对您的 API 也非常感兴趣。基于 Drupal 的开发者门户包含一个可选的应用性能页面,旨在让应用开发者访问其应用的重要指标。本页面向开发者提供有关以下内容的信息:

  • 错误:我的应用发现了哪些 API 错误?
  • 性能:API 的速度目前是否较慢?哪些 API 方法通常较慢或目前较慢?
  • 可用性:API 现在是启动还是关闭?
  • 配额:您的 API 是否有配额?作为应用开发者,我如何处理配额?

如需了解详情,请参阅:

此外,您还可以通过以下方式与开发者共享分析:

如何生成完整的分析数据?

完整的分析是指什么?例如,您可以创建一个 API 代理, 收集有关该代理的分析数据。但是,调用 API 代理的开发者或应用的指标会怎么样?如果 Edge 不知道谁发出了 API 调用,则无法收集这些数据。

您需要完成几个步骤,才能让 Edge 确定哪些开发者和哪些开发者应用 调用您的 API 代理下面列出了这些步骤,其中包含指向更详细信息的链接:

  1. 创建一个或多个 API 产品,这是 API 代理和服务计划的分组。请参阅管理 API 产品
  2. 在 Edge 中注册应用开发者。请参见 注册应用开发者
  3. 为开发者注册应用并生成 API 密钥。请参见 注册应用和管理 API 密钥
  4. 向您的 API 代理添加安全政策,以验证 API 密钥和/或安全令牌。请参阅以下主题:验证 API 密钥政策OAuthV2 政策验证 JWT 政策
  5. 如果您使用的是 Edge Microgateway, 请确保您已启用分析插件 (默认处于启用状态)。如果分析插件被停用,Edge Microgateway 不会将分析数据发送到 Edge 分析。

以下教程将引导您完成必要步骤,从而查看开发者和应用的分析:通过要求 API 密钥保护 API使用 OAuth 保护 API

将 API Analytics 与 API Monitoring 进行比较

您可以充分利用 Edge API Monitoring 和 API AnalyticsAPI Monitoring 会检查分析数据,以提供有关 API 性能的实时上下文数据洞见,让您能够快速诊断问题,并促进采取补救措施以实现业务连续性。API 监控旨在快速找出 API 和后端中的故障点。 API Analytics 旨在捕获各种分析数据,供多个不同的团队使用 但数据通常用于非实时场景下的分析。

API Monitoring 和 API Analytics 之间的主要区别之一是,API Monitoring 内置了提醒机制。借助提醒,您可以指定 HTTP 状态代码 (2xx/4xx/5xx)、延迟时间或错误代码 阈值,当超过该阈值时,将触发向您的运营团队发出提醒通知。提醒通知可以 通过各种渠道(如电子邮件、Slack、寻呼机或网络钩子)发送,让您可以 立即解决问题。

请参阅将 API Monitoring 与 Edge API Analytics 进行比较 ,详细了解这些服务。

更多信息