Apigee Analytics 概览

您正在查看 Apigee X 文档。
查看 Apigee Edge 文档。

本主题介绍 Apigee Analytics。

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

通过分析改善 API

Apigee Analytics 会收集并计算流经 API 代理的大量信息。您可以使用 Apigee 界面中的图形和图表直观呈现这些数据,也可以使用 Apigee API 下载原始数据,以供离线分析。

Analytics(分析)可帮助您解答常见问题,例如:

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

您可以分析特定主机名或整个环境的数据。

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

API Analytics 可帮助每个人改善

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

数据从应用流经 API 代理,然后数据分析可帮助引导应用开发者、API 团队、运营团队和业务所有者执行操作。
  • API 团队 - API 团队正逐渐探索内部系统,以创建有趣的 API。API 团队想要了解 API 程序的整体执行情况、各个 API 的运行方式以及如何改进其 API。
  • 应用开发者 - 与应用开发者共享分析信息,即可获得更好的应用。这些开发者正使用您的 API 进行创新,并构建创意应用,帮助企业增加收入。Analytics 可帮助应用开发者了解其应用的执行情况,以及他们对企业利润的贡献有多大。应用开发者希望了解如何改进其应用。
  • 运营团队 - 运营团队希望了解流量模式并预计何时添加后端资源或做出其他关键调整。
  • 企业所有者 - 企业所有者希望查看他们的 API 投资的收益情况,以及今后将来的 API 资金投向。

哪些类型的数据会收集并分析?

Apigee API Analytics 会收集并分析流经 API 代理的众多数据,例如:

  • 响应时间
  • 请求延迟时间
  • 请求大小
  • 目标错误
  • API 产品名称
  • 开发者电子邮件地址
  • 应用名称
  • 其他

如需 API Analytics 收集的数据的完整列表,请参阅分析指标、维度和过滤器参考文档

如何收集自定义分析数据?

Apigee 以原生方式收集海量数据。您可能还希望收集特定于 API 代理、应用、产品或开发者的自定义分析数据。例如,您可能希望从查询参数、请求标头、请求和响应正文或者您在 API 中定义的变量中收集分析数据。

您可以使用收集自定义分析数据来收集自定义分析数据,并使用分析界面或 API 检查数据。如需查看有关如何收集自定义分析数据的完整示例,请参阅使用自定义分析分析 API 消息内容

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

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

  • 数据延迟时间间隔 - 调用 API 代理后,您最长可能需要等待 10 分钟,才能访问数据以便显示或或通过 API 调用显示。
  • Analytics(分析)可用性 - 通过 Apigee 按方案保留分析数据(包括获利数据和 Sense 数据,如果适用)的时长。您可以根据方案,查看过去 30 天、90 天或 14 个月的分析数据。

我的分析数据存储在哪里?

您在安装 Apigee 或 Apigee hybrid 时定义了分析数据的位置。有效位置是第 1 步:选择您的项目中列出的一部分 Compute Engine 区域。

如何访问我的分析数据?

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

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

分析信息中心

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

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

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

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

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

自定义报告

利用自定义报告,您可以深入到特定 API 指标,也可以查看想要查看的确切数据。您可以使用 Apigee 中内置的任何分析数据创建自定义报告。

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

您还可以将自定义报告中显示的图表类型设置为柱形图或折线图。 下图显示了按 API 代理分组的每秒事务数示例:

  • 柱形 - 每个 API 代理由不同的柱形表示:

    自定义柱形图

  • 线条 - 每个 API 由不同的线条表示:

    自定义折线图

如需了解详情,请参阅创建和管理自定义报告

Analytics API

使用 Apigee API 下载分析数据。例如,您可以使用 API 构建自己的可视化工具,并将其嵌入到门户或自定义应用中。

下面是一个检索 API 代理分析数据的 API 调用示例:

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/20120%2000:00~6/24/2020%2023:59&timeUnit=hour" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

此调用会返回:

  • 每个 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

将分析数据导出至 GCP

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

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

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

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

应用通过 API 代理发送数据,然后数据分析有助于应用开发者了解其应用的表现。

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

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

如需了解详情,请参阅 Drupal 8 文档中的监控应用

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

  • 创建自定义报告,并与应用开发者分享。如需了解详情,请参阅创建和管理自定义报告
  • 使用 Metrics API 捕获更长时间段的数据,并与应用开发者离线共享。如需了解详情,请参阅使用 Metrics API

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

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

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

  1. 创建一个或多个 API 产品,这是 API 代理和服务计划的分组。请参阅管理 API 产品
  2. 通过 Apigee 注册应用开发者。请参阅注册应用开发者
  3. 为开发者注册应用和管理 API 密钥。请参阅注册应用和管理 API 密钥
  4. 向您的 API 代理添加安全政策,以验证 API 密钥和/或安全令牌。请参阅以下主题:VerifyAPIKey 政策OAuthV2 政策VerifyJWT 政策

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

更多信息