Analytics レポートのタイムアウト

症状

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 データが大量に保存されている

診断

  1. Postgres ノードで PostgresSQL にログインします。
        psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
        
  2. 次の SQL クエリを使用して、Postgres Database データベースでのデータの保存期間を確認します。
        select min(client_received_start_timestamp), max(client_received_start_timestamp) from
          analytics."orgname.envname.fact";
        
  3. 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 ダッシュボードがタイムアウトする原因と考えられます。

解決策

必要な保存期間を過ぎたデータをプルーニングする:

  1. Analytics データを Postgres データベースに保存する期間を決めます。

    たとえば、Analytics データの保存期間を 60 日に設定します。

  2. 次のコマンドを実行して、特定の組織と環境のデータをプルーニングします。
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge
            org env num_days_to_purge_back_from_current_date
        
  3. 詳しくは、Analytics データのプルーニングをご覧ください。

問題が解決しない場合は、Analytics データの取得時間が短いに進みます。

Analytics データの取得時間が短い

診断

  1. Analytics ダッシュボード(Proxy Performance / Target Performance)の [Hour] タブと [Day] タブにデータが表示できるかどうか確認します。
  2. [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 サポートにご連絡ください。