症状
分析データが保存されている Postgres サーバーの空き容量が不足しています。
次の例では、/u01 のディスク使用率が 90%(176 GB / 207 GB)に達しています。
/u01/app/apigee/data/apigee-postrgresql/pgdata/base/ $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 サーバーのディスク容量エラーが発生した場合、よくある原因の一つはディスク容量の不足です。大量の分析データを保存するのに十分な容量が割り当てられていないため、この問題が発生しています。以下の手順に従って、十分なディスク容量が確保されているかどうか確認し、適切な処置を講じて問題を解決してください。
- [Analytics Proxy Performance] ダッシュボードで、Edge での API 受信トラフィックの発生率を確認します。
TPS の平均値を示すプロキシ パフォーマンスの例
- 次のシナリオで考えてみましょう。
- 組織の API 受信トラフィックが 22 TPS(トランザクション/秒)とします。
- この場合、1 日あたりの API トラフィックは 1,900,800 トランザクションとなります(22 * 60 * 60 * 24)。
- 分析では、メッセージあたりの 1 トランザクションのサイズは 1.5K バイトになります。
- したがって、毎日 2.7 GB の分析データが生成されることになります(1,900,800 * 1.5 K)。
- また、分析データは Postgres サーバーに 30 日間保存しなければならないとします。
- 30 日間で生成されるデータの合計量は 81 GB(2.7 GB * 30)になります。
- したがって、トラフィック率が 22 TPS の分析データを 30 日間保存するには、150 GB のディスク容量が必要になります。
- 81 GB(分析データ) + 50 GB(ログなどの他のデータ) + 20 GB(追加のバッファ容量) = 150 GB
- 組織の API 受信トラフィックが 22 TPS(トランザクション/秒)とします。
- システムのディスク容量が少ない場合(上の例では 150 GB 未満)、分析データの保存に十分なディスク容量がありません。
解決策
Postgres サーバマシンに十分なディスク容量を追加します。
分析データのプルーニングが行われていない
診断
Edge に対する API トラフィックが増加すると、Postgres データベースに保存される分析データの量も増加します。Postgres データベースに保存できる分析データの量は、システムで使用可能なディスク容量によって制限されます。
Postgres データベースに引き続き分析データを保存するには、次のいずれかのアクションを行う必要があります。
-
ディスク容量を増やす。
制限やコストを考えると、ディスク容量を追加し続けることはできません。これはスケーラブルなオプションではありません。
-
必要な保存期間を過ぎたデータをプルーニングする。
不要になったデータを一定の間隔で削除します。これは推奨の解決策です。
手動または cron ジョブでデータを定期的にプルーニングしないと、分析データが増え続け、最後にはシステムのディスク容量が不足します。
解決策
必要な保存期間を過ぎたデータをプルーニングするには:
- 分析データを Postgres データベースに保存する期間を決めます。
たとえば、分析データの保存期間を 60 日に設定します。
- 次のコマンドを実行して、特定の組織と環境のデータをプルーニングします。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org env num_days_to_purge_back_from_current_date
- 詳しくは、分析データのプルーニングをご覧ください。
問題が解決しない場合は、Apigee サポートにご連絡ください。