本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
本主题介绍 Apigee API Analytics。
视频:观看一段简短视频,简要了解 Apigee API Analytics 服务。
通过分析改善 API
Apigee API 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 进行创新,并构建创意应用,帮助企业增加收入。Analytics 可帮助应用开发者了解其应用的执行情况,以及他们对企业利润的贡献有多大。应用开发者希望了解如何改进其应用。
- 运营团队 - 运营团队希望了解流量模式并预计何时添加后端资源或做出其他关键调整。
- 企业所有者 - 企业所有者希望查看他们的 API 投资的收益情况,以及今后将来的 API 资金投向。
如何开始使用 Apigee API Analytics?
您使用的 Apigee 组织类型决定开始使用 Apigee API Analytics 所需的步骤。 如果您不确定您使用的是订阅还是随用随付 Apigee 组织,请与您的 Apigee 组织管理员联系。
将 Apigee API Analytics 与订阅组织搭配使用
如果您是 Apigee 订阅客户,则对 Apigee API Analytics 的访问权限包含在订阅权益中,并为您的每个 Apigee 环境自动启用。
您可以使用 Apigee 界面、Cloud 控制台中的 Apigee 界面或 Apigee API 访问订阅组织的分析数据。如需了解详情,请参阅如何访问我的分析数据。
将 Apigee API Analytics 与随用随付组织搭配使用
如果您是Pay-as-you-go客户,则必须将 Apigee API Analytics 作为付费插件启用,才能开始使用分析数据。如需详细了解如何为中间或综合 Apigee 环境启用 Apigee API Analytics 插件,请参阅管理 Apigee API Analytics 插件。
在您的环境中启用 Apigee API Analytics 插件后,您可以使用 Cloud 控制台中的 Apigee 界面或 Apigee API 访问分析数据并管理 Apigee API Analytics 插件。如需了解详情,请参阅如何访问我的分析数据。随用随付组织的经典版 Apigee 界面不提供分析数据和插件管理。
哪些类型的数据会收集并分析?
Apigee API Analytics 会收集并分析流经 API 代理的众多数据,例如:
- 响应时间
- 请求延迟时间
- 请求大小
- 目标错误
- API 产品名称
- 开发者电子邮件地址或 AppGroup ID
- 应用名称
- 事务收益
如需 API Analytics 收集的数据的完整列表,请参阅分析指标、维度和过滤器参考文档。
如何收集自定义分析数据?
Apigee 以原生方式收集海量数据。您可能还希望收集特定于 API 代理、应用、产品或开发者的自定义分析数据。例如,您可能希望从查询参数、请求标头、请求和响应正文或者您在 API 中定义的变量中收集分析数据。
您可以使用 DataCapture 政策收集自定义分析数据,然后使用分析界面或 API 检查收集的数据。
我的分析数据在何时可用,可用时长是多少?
可以通过以下两种时间间隔来控制您查看分析数据的时间和时长:
- 数据延迟时间间隔 - 调用 API 代理后,您最长可能需要等待 10 分钟,才能访问数据以便显示或或通过 API 调用显示。
- Analytics 可用性 - 通过 Apigee 按方案保留分析数据(包括获利数据和 Sense 数据,如果适用)的时长。您可以根据方案,查看过去 30 天、90 天或 14 个月的分析数据。
使用 Apigee API Analytics 插件时的分析数据保留
如果您有随用随付组织,则可以在环境级层启用 Apigee API Analytics 插件。为环境启用插件后,环境的分析数据将保留 14 个月。只要插件已启用,您就可以从控制台中的 API 指标页面访问环境的历史分析数据。
如果您为随用随付组织中的环境停用 Apigee API Analytics 插件,则该环境的分析数据将在 30 天后删除。如果您在停用后的 30 天内在同一环境中重新启用该插件,则可以在 14 个月的保留期限内重新获得对环境分析数据的访问权限。如果在 30 天后为该环境重新启用插件,则不会恢复任何数据。
如果您希望在超过 14 个月的保留期限后保留随用随付组织中任何环境的分析数据,我们建议您导出数据并将其保存在其他位置。您还可以在停用 Apigee API Analytics 插件之前,或者在停用后的 30 天期限内导出 Analytics 数据。如需了解详情,请参阅从 Analytics 导出数据。
我的分析数据在何处存储和处理?
分析数据的存储和处理位置由您在安装 Apigee 时指定的分析区域决定:
- 如果您是订阅客户并使用 Apigee 预配向导安装了 Apigee,当您设置了分析托管区域时,您便已在第 1 步创建组织中指定了分析区域。
- 如果您是随用随付客户并且使用 Google Cloud 控制台安装了 Apigee,当您设置了分析托管区域时,您便已在第 3 步创建组织中指定了分析区域。
- 如果您以订阅或随用随付客户身份通过命令行安装了 Apigee,当您定义了环境变量
ANALYTICS_REGION
时,您便已指定了分析区域。
分析数据按以下方式存储和处理:
- 对于美国或欧盟以外的分析区域,分析数据在分析区域中进行存储和处理。
- 对于美国或欧盟内的分析区域,数据分别存储在美国或欧盟多区域中,以实现更高的可用性。
如何访问我的分析数据?
Apigee API Analytics 提供了 Apigee 界面内置的数据可视化工具。这些工具包括预定义的分析信息中心和自定义报告,让您可以在图表和图表中显示数据,并且可以深入了解按不同维度分组的数据(例如通过 API 代理、IP 地址或 HTTP 状态代码)。
您还可以使用 Apigee API 下载分析数据。下载后,您可以将这些数据导入到您自己的数据可视化工具或分析系统中。
分析信息中心
Apigee 界面提供了一组预定义信息中心,可供您用来查看分析数据。
Cloud 控制台中的 Apigee
如需打开 Analytics 信息中心(适用于随用随付或订阅组织),请执行以下操作:
- 在浏览器中打开 Cloud 控制台中的 Apigee 界面。
- 选择分析 > API 指标。
从以下标签页中选择以查看相应的信息中心:
如需了解详情,请参阅使用分析信息中心。
经典版 Apigee
如需打开 Analytics 信息中心(仅适用于订阅组织),请执行以下操作:
除此之外,您还可以使用以下信息中心:
如需了解详情,请参阅使用分析信息中心。
自定义报告
利用自定义报告,您可以深入到特定 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/2022%2000:00~6/25/2022%2023:59&timeUnit=hour" \ -H "Authorization: Bearer $TOKEN"
此调用会返回:
- 每个 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。
将分析数据导出至 Google Cloud Platform
您可以使用 Apigee API 将整天的所有分析数据从 Apigee 导出到您自己的数据存储区,例如 Google Cloud Storage 或 BigQuery。然后,您可以利用 Google Cloud BigQuery 和 TensorFlow 提供的强大的查询和机器学习功能来执行您自己的数据分析。
如需了解详情,请参阅从 Analytics 中导出数据。
如何与应用开发者共享数据?
将应用开发者视为您的客户时,您想要确保他们拥有所需的工具和信息,以便充分利用您的 API。
应用开发者不仅关注应用的质量,他们对您的 API 也非常感兴趣。基于 Drupal 的开发者门户包含一个可选的应用性能页面,旨在让应用开发者访问其应用的重要指标。本页面向开发者提供有关以下内容的信息:
- 错误:我的应用发现了哪些 API 错误?
- 性能:API 的速度是否缓慢?哪些 API 方法通常较慢或目前较慢?
- 可用性:API 是启动还是关闭?
- 配额:您的 API 是否有配额?作为应用开发者,我如何处理配额?
如需了解详情,请参阅 Drupal 8 文档中的监控应用。
此外,您还可以通过以下方式与开发者共享分析:
- 创建自定义报告,并与应用开发者分享。如需了解详情,请参阅创建和管理自定义报告。
- 使用 Metrics API 捕获更长时间段的数据,并与应用开发者离线共享。如需了解详情,请参阅使用 Metrics API。
如何生成完整的分析数据?
完整的分析是指什么?例如,您可以创建 API 代理,而 Apigee 将收集有关该代理的分析数据。但是,调用 API 代理的开发者或应用的指标会怎么样?如果 Apigee 不知道谁发起 API 调用,则无法收集该数据。
您需要执行几个步骤才能让 Apigee 确定哪些开发者和哪些开发者应用调用您的 API 代理。下面列出了这些步骤,其中包含指向更详细信息的链接:
- 创建一个或多个 API 产品,这是 API 代理和服务计划的分组。请参阅管理 API 产品。
- 通过 Apigee 注册应用开发者。请参阅注册应用开发者。
- 为开发者注册应用和管理 API 密钥。请参阅注册应用和管理 API 密钥。
- 向您的 API 代理添加安全政策,以验证 API 密钥和/或安全令牌。请参阅以下主题:VerifyAPIKey 政策、OAuthV2 政策和 VerifyJWT 政策。
以下教程将引导您完成必要步骤,从而查看开发者和应用的分析:通过要求 API 密钥保护 API 和使用 OAuth 保护 API。
Apigee Hybrid 要求
本部分列出了面向 Apigee Hybrid 用户的重要信息。
支持数据驻留
- 如果您有一个新建的 Apigee Hybrid v1.13.1 组织,并且已启用数据驻留,请按照将数据驻留与 Apigee Hybrid 搭配使用中的步骤操作。
- 所有 Synchronizer 节点上的时钟应同步且采用世界协调时间 (UTC)。
旧版 Apigee Hybrid 不支持 Apigee API Analytics。
其他要求
- 您必须配置
apigee-udca
服务账号。请参阅指定配置替换。 - 所有 Synchronizer 节点上的时钟应同步且采用世界协调时间 (UTC)。