レポート タイムアウト

症状

apigee-provision スクリプトを使用して新しい組織を作成すると、スクリプトが終了し、エラー メッセージが返されることがあります。このエラーの後、Edge UI ダッシュボードまたは分析ダッシュボードを表示しようとすると、新しく作成した組織に「The report timed out」というエラー メッセージが表示されます。

エラー メッセージ

apigee-provision スクリプトを実行して新しい組織を作成すると、次のエラー メッセージが表示されることがあります。

!!!! Error !!!!
    HTTP STATUS CODE: 400
    {
    "code" : "dataapi.service.PGFoundInMultipleGroups",
    "message" : "dataapi.service.PGFoundInMultipleGroups",
    "contexts" : [ ]
    }
    

このエラーが発生しても、プロビジョニング スクリプトが終了すれば、新規に作成した組織を操作できます。ただし、Edge UI ダッシュボードを表示しようとすると、新しく作成した組織に以下のエラー メッセージが表示されます。

The report timed out
    Try again with a smaller date range or a larger aggregation interval.
    

エラーが表示されたスクリーンショットは次のとおりです。

考えられる原因

原因 説明 トラブルシューティング手順の適用対象
複数の AX グループが設定されている Postgres サーバーの同じセットに複数の分析グループが作成されています。 Edge Private Cloud ユーザー

原因: 複数の AX グループが設定されている

診断

  1. 次の分析グループの管理 API を実行し、複数の分析グループが定義されているかどうか確認します。例:

    curl -u adminEmail:adminPwd http://<ms_ip>:8080/v1/analytics/groups/ax
        

    2 つの分析グループが表示されている出力例

        {
         "name":"axgroup-001",
         "properties":{
         },
         "scopes":[
         ],
         "uuids":{
            "qpid-server":[
               "5c1e9690-7b58-499a-a4bb-d54454474b8f",
               "7794c428-e553-4ed2-843d-69f93bbec8a3"
            ],
            "postgres-server":[
               "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
            ]
         },
         "consumer-groups":[
            {
               "name":"consumer-group-001",
               "consumers":[
                  "5c1e9690-7b58-499a-a4bb-d54454474b8f",
                  "7794c428-e553-4ed2-843d-69f93bbec8a3"
               ],
               "datastores":[
                  "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
               ],
               "properties":{
               }
            }
         ],
         "data-processors":{
         }
        },
        {
         "name":"axgroup001",
         "properties":{
            "consumer-type":"ax"
         },
         "scopes":[
            "017pdspoint~dev",
            "010test~dev",
            "019charmo~dev",
            "009gcisearch1~dev",
            "000fj~trial-fjwan",
            "009dekura~dev",
            "008pisa~dev",
            "004fjadrms~dev",
            "018k5billing~dev",
            "004study14~dev",
            "001teama~dev",
            "005specdb~dev",
            "test~dev",
            "000fj~prod-fjwan",
            "012pjweb~dev",
            "020workflow~dev",
            "007ikou~prod-fjwan",
            "003asano~dev",
            "013mims~dev",
            "006studyhas~dev",
            "006efocus~dev",
            "002wfproto~dev",
            "008murahata~dev",
            "016mediaapi~dev",
            "015skillnet~dev",
            "014aclmanager~dev",
            "010fjppei~dev",
            "000fj~trial",
            "003esupport~dev",
            "000fj~prod",
            "005ooi~dev",
            "test~elb1",
            "007fjauth~dev",
            "011osp~dev",
            "002study~dev",
            "999test~dev"
         ],
         "uuids":{
            "qpid-server":[
               "5c1e9690-7b58-499a-a4bb-d54454474b8f",
               "7794c428-e553-4ed2-843d-69f93bbec8a3"
            ],
            "aries-datastore":[
            ],
            "postgres-server":[
               "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
            ],
            "dw-server":[
            ]
         },
         "consumer-groups":[
            {
               "name":"consumer-group-001",
               "consumers":[
                  "5c1e9690-7b58-499a-a4bb-d54454474b8f",
                  "7794c428-e553-4ed2-843d-69f93bbec8a3"
               ],
               "datastores":[
                  "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
               ],
               "properties":{
               }
            }
         ],
         "data-processors":{
         }
        }
        

    この出力には、axgroup-001axgroup001 という 2 つの分析グループが表示されています。

  2. すべての分析グループにスコープが定義されているかどうか確認します。

    上の出力例では、分析グループ axgroup-001 にスコープが定義されていません。Postgres サーバーがデータストアとして定義されています。

  3. Qpid サーバーで次の Qpid キュー統計コマンドを実行し、手順 2 の分析グループに対するメッセージがあるかどうか確認します。

    qpid-stat -q
        

    Qpid キュー統計の例

    次の Qpid キュー統計は、上記の例の分析グループ(axgroup-001)に対するメッセージがないことを表しています。

    キュー dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Y Y 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Y 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Y 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Y 0 241K 241K 0 21.7g 21.7g 12 2
    ax-q-axgroup001-consumer-group-001-dl Y 323 323 0 52.4m 52.4m 0 0 2

    特定の分析グループ axgroup-001 に対するメッセージ / トラフィックはないため、Edge UI ダッシュボードまたは分析ダッシュボードに "The report timed out" エラーが表示されます。

解決策

この問題を解決するには、スコープが未定義でトラフィックが発生していない axgroup を削除します。

次の手順で axgroup を削除します。

手順 1: 特定の AX グループのコンシューマを削除する

  1. 次の管理 API を使用して、それぞれのコンシューマを axgroup から削除します。

    curl -v -u admin@email.com:password -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}/consumers/{uuid-of the consumer}'
        
  2. 複数のコンシューマが存在する場合は、上の API 呼び出しを繰り返します。コンシューマの UUID を指定して、コンシューマごとに別の API 呼び出しを行います。

    上の例の場合、次の API を実行して、UUID が 5c1e9690-7b58-499a-a4bb-d54454474b8f: のコンシューマを削除します。

    curl -v -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/5c1e9690-7b58-499a-a4bb-d54454474b8f'
    
        {
          "name" : "axgroup-001",
          "properties" : {
          },
          "scopes" : [ ],
          "uuids" : {
            "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
            "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
          },
          "consumer-groups" : [ {
            "name" : "consumer-group-001",
            "consumers" : [ "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
            "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
            "properties" : {
            }
          } ],
          "data-processors" : {
          }
        * Connection #0 to host localhost left intact
        * Closing connection #0
        }
        
  3. 同じ API を実行して、UUID が 7794c428-e553-4ed2-843d-69f93bbec8a3 の別のコンシューマを削除します。

手順 2 : コンシューマ グループを削除します。

  1. 次の管理 API を使用して、特定の axgroup からコンシューマ グループを削除します。

    curl -v -u admin@email.com:password -X DELETE 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}'
        

    例:

    次の API は、consumer-group-001 という名前のコンシューマ グループを削除します。

    curl -v -X DELETE 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001'
        {
          "name" : "axgroup-001",
          "properties" : {
          },
          "scopes" : [ ],
          "uuids" : {
            "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
            "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
          },
          "consumer-groups" : [ {
            "name" : "consumer-group-001",
            "consumers" : [ ],
            "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
            "properties" : {
            }
          } ],
          "data-processors" : {
          }
        * Connection #0 to host localhost left intact
        * Closing connection #0
        }
        

手順 3: AX グループから qpid-servers を削除します。

  1. 次の管理 API を使用して、特定の axgroup から qpid-servers を削除します。

    curl -X DELETE -u admin@email.com "http://localhost:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={qpid-server-uuid}type=qpid-server" -H "Content-type: application/json"
        
  2. 複数の Qpid サーバーが存在する場合は、同じ API 呼び出しを再度実行します。

    例:

    次の API を使用して、UUID が 7794c428-e553-4ed2-843d-69f93bbec8a3 の Qpid サーバーを削除します。

    curl -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=7794c428-e553-4ed2-843d-69f93bbec8a3&type=qpid-server" -H "Content-type: application/json"
    
        {
          "name" : "axgroup-001",
          "properties" : {
          },
          "scopes" : [ ],
          "uuids" : {
            "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f" ],
            "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
          },
          "consumer-groups" : [ {
            "name" : "consumer-group-001",
            "consumers" : [ ],
            "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
            "properties" : {
            }
          } ],
          "data-processors" : {
          }
        }
        

手順 4: AX グループから postgres サーバーを削除する

  1. Postgres サーバーが 1 つしかない場合は、次の管理 API を使用して Postgres サーバーを削除します。

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-server-uuid}&type=postgres-server&force=true"
        
  2. マスターとスレーブの Postgres が存在する場合は、次の管理 API を使用して Postgres サーバーを削除します。

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-master-uuid,postgres-slave-uuid}&type=postgres-server&force=true"
        

    例:

    上の例では、マスターとスレーブの Postgres サーバーが存在します。これらの Postgres サーバーを削除するには、次の API を使用します。

    curl -v -X DELETE -H 'Accept:application/json'  "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=3b28b790-ec4e-45c5-a8d0-6d6f2088da65,750cd8ba-1799-4dfb-8c74-548010e95e5e&type=postgres-server&force=true"
    
        {
        "name" : "axgroup-001",
        "properties" : {
        },
        "scopes" : [ ],
        "uuids" : {
        "qpid-server" : [ ],
        "postgres-server" : [ ]
        },
        "consumer-groups" : [ ],
        "data-processors" : {
        }
        * Connection #0 to host localhost left intact
        * Closing connection #0
        }
    
        

手順 5: 分析グループを削除する

  1. 次の管理 API を使用して、分析グループを削除します。

    curl -v -X DELETE "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}"
        

    例:

    curl -v -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001"
        {
          "properties" : {
          },
          "scopes" : [ ],
          "uuids" : {
          },
          "consumer-groups" : [ ],
          "data-processors" : {
          }
        * Connection #0 to host localhost left intact
        * Closing connection #0
        }
        

手順 6: グループが完全に削除されたどうか確認する

  1. 次の管理 API を使用して、特定の分析グループが完全に削除されていることを確認します。

    curl -v -u admin@email.com -X GET "http://{mgmt-server-host}:8080/v1/analytics/groups/ax
        

    例:

    curl localhost:8080/v1/analytics/groups/ax
        [ {
          "name" : "axgroup001",
          "properties" : {
            "consumer-type" : "ax"
          },
          "scopes" : [ "017pdspoint~dev", "010test~dev", "019charmo~dev", "009gcisearch1~dev", "000fj~trial-fjwan", "009dekura~dev", "008pisa~dev", "004fjadrms~dev", "018k5billing~dev", "004study14~dev", "001teama~dev", "005specdb~dev", "test~dev", "000fj~prod-fjwan", "012pjweb~dev", "020workflow~dev", "007ikou~prod-fjwan", "003asano~dev", "013mims~dev", "006studyhas~dev", "006efocus~dev", "002wfproto~dev", "016mediaapi~dev", "015skillnet~dev", "014aclmanager~dev", "010fjppei~dev", "000fj~trial", "003esupport~dev", "000fj~prod", "005ooi~dev", "test~elb1", "007fjauth~dev", "011osp~dev", "002study~dev" ],
          "uuids" : {
            "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
            "aries-datastore" : [ ],
            "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
            "dw-server" : [ ]
          },
          "consumer-groups" : [ {
            "name" : "consumer-group-001",
            "consumers" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
            "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
            "properties" : {
            }
          } ],
          "data-processors" : {
          }
        } ]
        

    上の出力では、分析グループ axgroup-001 に関連する情報がありません。これは、axgroup-001 が完全に削除されたことを意味します。

手順 7: プロセスを再起動する

Qpid と Postgres マシンで、次のプロセスを再起動します。

  1. apigee-qpidd を再起動します。
  2. edge-qpid-server を再起動します。
  3. edge-postgres-server を再起動します。
  4. apigee-postgresql を再起動します。

手順 8: 検証する

分析ダッシュボードにデータが表示されるかどうか確認します。

問題が解決しない場合は、診断情報の収集に進みます。

診断情報の収集

上記の手順でも問題が解決されない場合は、次の診断情報を収集する必要があります。Apigee サポートに連絡して、収集した情報を提供してください。

  1. Private Cloud のアーキテクチャの設定(ホスト数、コンポーネントの数)。
  2. 次のコマンドの出力:

    1. 分析グループ

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
          
    2. 各 Qpid マシンの Qpid キュー統計

      qpid-stat -q
          
    3. 分析ステータス

      curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus