报告超时

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

问题

当您使用 apigee-provision 脚本创建新组织时,有时脚本会退出并显示错误消息。发生此错误后,如果您尝试查看 Edge 界面信息中心或任何分析信息中心,则会看到新创建的组织的错误消息 The report timed out(报告超时)。

错误消息

运行 apigee-provision 脚本以创建新组织时,您可能会看到以下错误消息:

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

即使收到此错误,您也可以在配置脚本退出后对新创建的组织执行操作。但是,当您尝试查看 Edge 界面信息中心时,会看到新创建的组织的以下错误消息:

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

以下屏幕截图显示了错误:

可能的原因

原因 说明 问题排查说明适用于
多个 AX 组设置 已使用相同的一组 Postgres 服务器创建多个分析群组。 Edge Private Cloud 用户

原因:多个 AX 组设置

诊断

  1. 执行以下 Google Analytics(分析)Groups Management API,并确定输出结果中是否定义了多个分析组。例如:

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

    显示两个分析组的示例输出

    {  
     "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. 检查以确保所有分析群组均已指定范围。

    在上面显示的示例分析群组输出中,分析群组 axgroup-001 未定义任何范围,但仍将 Postgres 服务器定义为数据存储区。

  3. 在 Qpid 服务器上执行以下 Qpid 队列统计信息命令,并验证第 2 步中确定的特定分析群组是否未收到任何消息。

    qpid-stat -q
    

    Qpid 队列统计信息示例

    以下 Qpid 队列统计信息表明,上述示例 (axgroup-001) 中的特定分析群组队列没有传入消息:

    队列 dur autoDel 排除 msg msgIn msgOutmsgOut 字节 bytesIn bytesOut 缺点 bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 0 24.1 万 24.1 万 0 21.7 克 21.7 克 12 2
    ax-q-axgroup001-consumer-group-001-dl 323 323 0 5240 万 5240 万 0 0 2

    由于特定分析群组 axgroup-001 没有传入任何消息/流量,因此您在 Edge 界面信息中心或分析信息中心内观察到错误“报告超时”。

分辨率

如需解决此问题,请删除没有任何范围且未获得任何流量的 axgroup

请按照以下步骤删除 axgroup

第 1 步:删除特定 axgroup 的使用方。

  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 调用,并在单独的 API 调用中提及每个使用方的 UUID。

    对于上面显示的示例,以下 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 步:从 axgroup 中删除 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 步:从 axgroup 中删除 postgres 服务器

  1. 如果只有一个 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-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 删除 Postgres 服务器:

    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. 使用以下 Management 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. 使用以下 Management 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 Edge 支持团队,并共享收集到的信息。

  1. Private Cloud 安装的架构设置(设置的主机数量、每个组件的数量)。
  2. 以下命令的输出:

    1. Google Analytics(分析)组

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. 每台 Qpid 机器上的 Qpid 队列统计信息

      qpid-stat -q
      
    3. Google Analytics(分析)状态

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