您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
Edge API Analytics 是 Apigee Edge 提供的一项非常强大的内置功能。它可以收集和 分析流经 API 的众多数据。捕获的分析数据可以提供 非常有用的洞见。例如,API 流量在一段时间内的趋势如何? 哪个 API 的使用频率最高?哪些 API 的错误率较高?
定期分析这些数据和洞见可用于采取适当的行动,例如根据当前使用情况、业务和未来投资决策来规划 API 的未来容量,等等。
分析数据及其存储
API Analytics 会捕获许多不同类型的数据,例如:
- 有关 API 的信息 - 请求 URI、客户端 IP 地址、响应状态代码等
- API 代理性能 - 成功/失败率、请求和响应处理时间等
- 目标服务器性能 - 成功/失败率、处理时间
- 错误信息 - 错误数、故障代码、失败的政策、Apigee 和目标 服务器导致的错误数。
- 其他信息 - 开发者、开发者应用等发出的请求数
所有这些数据都存储在 Apigee Edge 在
Postgres 数据库中创建和管理的 analytics 架构 中。
通常,在原始 Edge 安装中,Postgres 将具有以下架构:
名为 analytics 的架构供 Edge 用于存储
每个组织和环境的所有分析数据。如果安装了创收功能,则会有一个 rkms
架构。其他架构用于 Postgres 内部。
analytics 架构会不断变化,因为 Apigee Edge 会在运行时动态向其中添加新的事实
表。Postgres 服务器组件会将事实数据汇总到汇总
表中,这些表会加载并显示在 Edge 界面上。
反模式
不建议直接使用 SQL 查询向 Private Cloud 环境中 Postgres 数据库内的任何 Apigee 拥有的架构添加自定义列、表和/或视图,因为这可 能会产生不利影响。
下面我们举例详细说明。
假设在分析架构下创建了一个名为 account 的自定义表,如下所示:
过一段时间后,假设需要将 Apigee Edge 从较低版本升级到较高 版本。升级 Private Cloud Apigee Edge 涉及升级 Postgres 以及许多其他 组件。如果向 Postgres 数据库添加了任何自定义列、表或视图, 则 Postgres 升级会失败,并显示引用自定义对象的错误,因为这些对象不是由 Apigee Edge 创建的。因此,Apigee Edge 升级也会失败,并且无法完成。
同样,在执行 Apigee Edge 维护活动(包括备份和恢复 Edge 组件,包括 Postgres 数据库)期间,也可能会发生错误。
影响
- Apigee Edge 升级无法完成,因为 Postgres 组件升级失败,并显示 引用非 Apigee Edge 创建的自定义对象的错误。
- 执行 Apigee Analytics 服务维护 (备份/恢复)时出现不一致(和失败)的情况。
最佳做法
- 请勿以列、表、视图、函数和
过程的形式将任何自定义信息直接添加到任何 Apigee 拥有的架构(例如
analytics等)中 - 如果需要支持自定义信息,可以使用
Statistics Collector 政策将其作为列(字段)添加到
analytics架构中。