您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
问题
包含 Analytics 数据的 Postgres 服务器磁盘空间不足。
在以下示例中,您可以看到磁盘 /u01 已占用 90% 的磁盘空间 (176GB/207GB)。
$df -g Filesystem Size User Avail Use% Mounted on /dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01
错误消息
除非 Postgres 服务器上的磁盘空间完全用尽,否则您可能不会看到任何错误消息。
可能的原因
下表列出了此问题的可能原因:
| 原因 | 适用于 |
|---|---|
| 磁盘空间不足 | Edge Private Cloud 用户 |
| 缺少分析数据清理功能 | Edge Private Cloud 用户 |
磁盘空间不足
诊断
Postgres 服务器上出现磁盘空间错误的一个常见原因是,您没有足够的磁盘空间来存储大量的分析数据。以下步骤将帮助您确定磁盘空间是否足够,并采取适当的措施来解决问题。
- 通过查看“分析代理性能”信息中心,确定进入 Edge 的 API 流量速率。
显示平均 TPS 的代理性能示例

- 请考虑以下情形:
- 您组织的入站 API 流量为 22 TPS(每秒事务数)。
- 这意味着 API 流量为每天 1,900,800 笔交易(22 * 60 * 60 * 24)。
- 请注意,Google Analytics 中的每笔交易/消息的大小为 1.5K 字节。
- 因此,每天会生成 2.7GB 的分析数据(1,900,800 * 1.5 K)。
- 您需要将 30 天的 Google Analytics 数据保留在 Postgres 服务器上以供参考。
- 30 天内生成的数据总量 = 81GB(2.7GB * 30)
- 因此,若要以 22 TPS 的流量速率存储 30 天的 Google Analytics 数据,您需要 150 GB 的磁盘空间。
- 81GB(Google Analytics 数据)+ 50GB(其他数据,例如日志等)+ 20GB(额外缓冲空间)= 150GB。
- 您组织的入站 API 流量为 22 TPS(每秒事务数)。
- 如果系统上的磁盘空间较小(即少于 150 GB,如上述示例方案所示),则您没有足够的磁盘空间来存储 Google Analytics 数据。
分辨率
为 Postgres 服务器机器添加足够的磁盘空间。
未进行 Analytics 数据清理
诊断
随着 Edge 的 API 流量增加,存储在 Postgres 数据库中的分析数据量也会增加。Postgres 数据库中可存储的分析数据量受系统上可用磁盘空间量的限制。
因此,如果不采取以下任一措施,您将无法继续在 Postgres 数据库中存储额外的分析数据:
-
添加更多磁盘空间。
这不是一个可扩缩的选项,因为我们无法不断添加更多磁盘空间,这会受到限制且成本高昂。
-
剪除超出所需保留时间间隔的数据。
这是首选解决方案,因为您可以确保不再需要的数据会定期移除。
如果您不定期手动或使用 cron 作业剪除数据,分析数据的量就会不断增加,最终可能会导致系统磁盘空间不足。
分辨率
如需剪除超出所需保留时间间隔的数据,请执行以下操作:
- 确定保留间隔,即您希望在 Postgres 数据库中保留 Google Analytics 数据的时长。
- 运行以下命令,以剪除特定组织和环境的数据:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
该脚本具有以下选项:
Delete-from-parent-fact默认值:否。还会从父事实表中删除存储时长超过保留天数的数据。Skip-confirmation-prompt。默认值:否。如果为“否”,脚本会在从父事实中删除数据之前提示用户确认。如果清理脚本是自动的,则设置为“是”。
如需了解详情,请参阅剪除 Analytics 数据。
如果问题仍然存在,请与 Apigee Edge 支持团队联系。