보고서 시간 초과

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

증상

apigee-provision 스크립트를 사용하여 새 조직을 만들면 스크립트가 종료되고 오류 메시지가 표시될 때도 있습니다. 이 오류 후 Edge UI 대시보드 또는 애널리틱스 대시보드를 보려고 하면 새로 만든 조직에 대해 보고서 시간이 초과되었습니다라는 오류 메시지가 표시됩니다.

오류 메시지

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. 다음 Analytics Groups management API를 실행하고 정의된 분석 그룹이 2개 이상 출력에 표시되는지 확인합니다. 예를 들면 다음과 같습니다.

    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에는 정의된 범위가 없지만 Datastore로 정의된 Postgres 서버가 계속 있습니다.

  3. Qpid 서버에서 아래 Qpid 큐 통계 명령어를 실행하고 2단계에서 식별된 특정 분석 그룹에 수신되는 메시지가 없는지 확인합니다.

    qpid-stat -q
    

    샘플 Qpid 큐 통계

    다음 Qpid 큐 통계는 위에 언급된 예 (axgroup-001)에서 특정 분석 그룹 큐로 수신되는 메시지가 없음을 나타냅니다.

    queue 기간 autoDel 제외 msg msgIn msgOut 바이트 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.7g 21.7g 12 2
    ax-q-axgroup001-consumer-group-001-dl 구매 가능 323 323 0 52.4m 52.4m 0 0 2

    특정 분석 그룹 axgroup-001로 수신되는 메시지/트래픽이 없으므로 Edge UI 대시보드 또는 분석 대시보드에 '보고서 시간이 초과되었습니다'라는 오류가 표시됩니다.

해상도

이 문제를 해결하려면 범위가 없고 트래픽을 가져오지 않는 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 호출에서 각 소비자의 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. 특정 axgroup에서 소비자 그룹을 삭제하려면 다음 관리 API를 사용합니다.

    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 서버가 있으므로 다음 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. 다음 관리 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 Edge 지원팀에 문의하여 수집한 정보를 공유합니다.

  1. 프라이빗 클라우드 설치의 아키텍처 설정 (설정된 호스트 수, 각 구성요소 수)
  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