Upłynął limit czasu przesyłania raportu

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Krótki opis problemu

Gdy używasz skryptu apigee-provision do tworzenia nowej organizacji, czasami skrypt kończy działanie z komunikatem o błędzie. Jeśli po tym błędzie spróbujesz wyświetlić panel interfejsu Edge lub dowolny panel analityczny, w przypadku nowo utworzonej organizacji zobaczysz komunikat o błędzie The report timed out (Raport przekroczył limit czasu).

Komunikat o błędzie

Gdy uruchomisz skrypt apigee-provision, aby utworzyć nową organizację, może się wyświetlić ten komunikat o błędzie:

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

Nawet jeśli pojawi się ten błąd, po zakończeniu działania skryptu udostępniania możesz korzystać z nowo utworzonej organizacji. Gdy jednak spróbujesz wyświetlić panel interfejsu Edge, w przypadku nowo utworzonej organizacji zobaczysz ten komunikat o błędzie:

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

Zrzut ekranu pokazujący błąd:

Możliwe przyczyny

Przyczyna Opis Instrukcje rozwiązywania problemów mające zastosowanie w przypadku
Konfigurowanie wielu grup AX Utworzono wiele grup analitycznych z tym samym zestawem serwerów Postgres. Użytkownicy Edge Private Cloud

Przyczyna: skonfigurowano wiele grup AX

Diagnostyka

  1. Uruchom ten interfejs API do zarządzania grupami w Analytics i sprawdź, czy w danych wyjściowych jest zdefiniowana więcej niż 1 grupa w Analytics. Na przykład:

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

    Przykładowe dane wyjściowe pokazujące 2 grupy analityczne

    {  
     "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":{  
     }
    }

    Z tego wyniku wynika, że istnieją 2 grupy analityczne: axgroup-001 i axgroup001.

  2. Sprawdź, czy wszystkie grupy analityczne mają zdefiniowane zakresy.

    W przykładowych danych wyjściowych grup analitycznych pokazanych powyżej grupa analityczna axgroup-001 nie ma zdefiniowanych zakresów, ale ma zdefiniowane serwery Postgres jako magazyny danych.

  3. Uruchom na serwerach Qpid to polecenie statystyk kolejki Qpid i sprawdź, czy nie ma komunikatów przychodzących dla konkretnej grupy analitycznej zidentyfikowanej w kroku 2.

    qpid-stat -q
    

    Przykładowe statystyki kolejki Qpid

    Poniższe statystyki kolejki Qpid wskazują, że w kolejce określonej grupy analitycznej z przykładu powyżej (axgroup-001) nie ma żadnych wiadomości:

    queue dur autoDel excl msg msgIn msgOut bajtów bytesIn bytesOut wady bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 T T 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 T 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl T 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 T 0 241 tys. 241 tys. 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl T 323 323 0 52,4 mln 52,4 mln 0 0 2

    Ponieważ w przypadku konkretnej grupy analitycznej axgroup-001 nie ma żadnych wiadomości ani ruchu, w panelu interfejsu Edge lub w panelach analitycznych pojawia się błąd „Przekroczono limit czasu raportu”.

Rozdzielczość

Aby rozwiązać ten problem, usuń axgroup, które nie mają zakresów i nie generują ruchu.

Aby usunąć axgroup, wykonaj te czynności :

Krok 1. Usuń konsumentów z danej grupy axgroup.

  1. Aby usunąć każdego konsumenta z axgroup, użyj tego interfejsu Management API:

    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. Jeśli jest więcej konsumentów, powtórz powyższe wywołanie interfejsu API, podając identyfikator UUID każdego z nich w osobnym wywołaniu.

    W przykładzie powyżej ten interfejs API usuwa konsumenta o identyfikatorze 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. Ponownie uruchom ten sam interfejs API, aby usunąć innego konsumenta, którego identyfikator UUID w tym przykładzie to 7794c428-e553-4ed2-843d-69f93bbec8a3.

Krok 2. Usuń grupy konsumentów

  1. Aby usunąć grupy konsumentów z określonego axgroup, użyj tego interfejsu API do zarządzania:

    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}'
    

    Przykład:

    Ten interfejs API usuwa nazwę grupy konsumentów 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
    }
    

Krok 3. Usuń serwery qpid z grupy axgroup

  1. Aby usunąć qpid-servers z określonego axgroup, użyj tego interfejsu API zarządzania:

    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. W przypadku wielu serwerów Qpid ponownie uruchom to samo wywołanie interfejsu API.

    Przykład:

    Aby usunąć serwer Qpid o identyfikatorze UUID 7794c428-e553-4ed2-843d-69f93bbec8a3, użyj tego interfejsu API:

    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" : {
      }
    }
    

Krok 4. Usuń serwery postgres z grupy axgroup

  1. Jeśli jest tylko jeden serwer Postgres, użyj tego interfejsu API zarządzania, aby go usunąć:

    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. Jeśli masz konfigurację serwera głównego i serwera podrzędnego Postgres, użyj tego interfejsu API zarządzania, aby usunąć serwery 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"
    

    Przykład:

    W przykładzie powyżej znajdują się serwery Postgres typu master i slave, więc możesz użyć tego interfejsu API, aby je usunąć:

    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
    }
    
    

KROK 5. Usuń grupę analityczną

  1. Aby usunąć grupę analityczną, użyj tego interfejsu API do zarządzania:

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

    Przykład:

    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
    }
    

KROK 6. Sprawdź, czy grupa została całkowicie usunięta

  1. Aby sprawdzić, czy dana grupa analityczna została całkowicie usunięta, użyj tego interfejsu API do zarządzania:

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

    Przykład:

    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" : {
      }
    } ]
    

    Zwróć uwagę, że w powyższym wyniku nie ma informacji dotyczących konkretnej grupy analitycznej axgroup-001. Potwierdza to, że grupa axgroup-001 została całkowicie usunięta.

Krok 7. Ponowne uruchamianie procesów

Te procesy na maszynach Qpid i Postgres:

  1. Uruchom ponownie apigee-qpidd.
  2. Ponownie uruchom serwer edge-qpid.
  3. Ponownie uruchom serwer edge-postgres-server.
  4. Uruchom ponownie apigee-postgresql.

Krok 8. Weryfikacja

Sprawdź, czy dane są widoczne w panelach statystyk.

Jeśli problem nadal występuje, przejdź do sekcji Wymagane informacje diagnostyczne.

Must Gather Diagnostic Information

Jeśli problem nadal występuje po wykonaniu powyższych instrukcji, zbierz te informacje diagnostyczne. Skontaktuj się z zespołem pomocy Apigee Edge i udostępnij zebrane informacje.

  1. Konfiguracja architektury instalacji chmury prywatnej (liczba skonfigurowanych hostów, liczba poszczególnych komponentów).
  2. Wynik tych poleceń:

    1. Analytics Group

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Statystyki kolejki Qpid na każdym komputerze Qpid

      qpid-stat -q
      
    3. Stan Analytics

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