症状
Edge UI の Analytics ダッシュボード(Proxy Performance、Target Performance、Custom Reports など)がタイムアウトします。
エラー メッセージ
Analytics ダッシュボードがタイムアウトし、次のエラー メッセージが表示されます。
The report timed out: Try again with a smaller date range or a larger aggregation interval.
考えられる原因
この問題で考えられる原因は次のとおりです。
原因 | 対象 |
---|---|
ハードウェアの構成が適切でない | Edge for Private Cloud ユーザー |
Postgres データベースに Analytics データが大量に保存されている | Edge for Private Cloud ユーザー |
Analytics データの取得時間が短い | Edge for Private Cloud と Public Cloud のユーザー |
ハードウェアの構成が適切でない
診断
Edge コンポーネントの容量が不足ている場合(CPU、RAM、IOPS の処理能力が不足ている場合)、Postgres Server / Qpid Server が低速になり、Analytics ダッシュボードがタイムアウトすることがあります。
解決策
すべての Edge コンポーネントがハードウェアの最小要件を満たすようにします。詳しくは、ハードウェア要件をご覧ください。
Postgres データベースに Analytics データが大量に保存されている
診断
- Postgres ノードで PostgresSQL にログインします。
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- 次の SQL クエリを使用して、Postgres Database データベースでのデータの保存期間を確認します。
select min(client_received_start_timestamp), max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Postgres データベースのすべてのテーブルのサイズを確認します。
SELECT relname as "Table",pg_size_pretty(pg_total_relation_size(relid)) As "Size", pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as "External Size" FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;
手順 2 と手順 3 の出力結果に分析します。データの保存期間が長い場合(保持間隔よりも長い場合)あるいはテーブルサイズが非常に大きい場合、Postgres データベースに大量の分析データが保存されていることを意味します。これが、Analytics ダッシュボードがタイムアウトする原因と考えられます。
解決策
必要な保存期間を過ぎたデータをプルーニングする:
- Analytics データを Postgres データベースに保存する期間を決めます。
たとえば、Analytics データの保存期間を 60 日に設定します。
- 次のコマンドを実行して、特定の組織と環境のデータをプルーニングします。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org env num_days_to_purge_back_from_current_date
- 詳しくは、Analytics データのプルーニングをご覧ください。
問題が解決しない場合は、Analytics データの取得時間が短いに進みます。
Analytics データの取得時間が短い
診断
- Analytics ダッシュボード(Proxy Performance / Target Performance)の [Hour] タブと [Day] タブにデータが表示できるかどうか確認します。
- [Hour] タブのみまたは [Hour] タブと [Day] タブにデータを表示でき、[Week] タブまたは [Custom] タブを表示しようとするとタイムアウト エラーが発生する場合、Postgres データベースから取得する必要があるデータ量が非常に多いことを意味します。これが、Edge UI がタイムアウトする原因と考えられます。
解決策
Edge UI では、Analytics データの取得から表示までのデフォルトのタイムアウトは 120 秒に設定されています。取得する Analytics データの量が非常に多い場合、120 秒では足りない可能性があります。Edge UI が Edge API 管理呼び出しで使用するタイムアウトの設定の手順に沿って、Edge UI のタイムアウト値を 300 秒に変更します。
Analytics ダッシュボードを再度読み込み、[Hour]、[Day]、[Week]、[Custom] のすべてのタブでデータが表示できるかどうか確認します。
問題が解決しない場合は、Apigee サポートにご連絡ください。