Upłynął limit czasu przesyłania raportu

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Krótki opis problemu

Gdy tworzysz nową organizację przy użyciu skryptu apigee-provision, czasami skrypt jest zamykany i wyświetla się komunikat o błędzie. Jeśli po tym błędzie spróbujesz wyświetlić panel interfejsu Edge lub panel analityki, dla nowo utworzonej organizacji pojawi się komunikat o błędzie The report timed (Przekroczono limit czasu raportu).

Komunikat o błędzie

Po uruchomieniu skryptu apigee-provision w celu utworzenia nowej organizacji może pojawić się ten komunikat o błędzie:

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

Nawet jeśli wystąpi ten błąd, po zakończeniu skryptu obsługi administracyjnej można wykonywać operacje na nowo utworzonej organizacji. Jeśli jednak spróbujesz wyświetlić panel interfejsu Edge, zobaczysz ten komunikat o błędzie dla nowo utworzonej organizacji:

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

Oto zrzut ekranu, na którym widać błąd:

Możliwe przyczyny

Przyczyna Opis Instrukcje dotyczące rozwiązywania problemów dotyczące
Konfiguracja wielu grup AX Z tym samym zestawem serwerów Postgres utworzono wiele grup analitycznych. Użytkownicy Edge Private Cloud

Przyczyna: konfiguracja wielu grup AX

Diagnostyka

  1. Uruchom poniższy interfejs Analytics Groups Management API i sprawdź, czy dane wyjściowe pokazują więcej niż jedną zdefiniowaną grupę analityczną. Na przykład:

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

    Przykładowe dane wyjściowe przedstawiające 2 grupy statystyk

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

    Dane wyjściowe wskazują, że są 2 grupy statystyk: axgroup-001 i axgroup001.

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

    W przykładowych grupach analitycznych widocznych powyżej grupa analityczna axgroup-001 nie ma zdefiniowanych żadnych zakresów, ale nadal ma serwery Postgres zdefiniowane jako magazyny danych.

  3. Wykonaj poniższe polecenie ze statystykami kolejki Qpid na serwerach Qpid i sprawdź, czy nie ma żadnych wiadomości dla określonej grupy analitycznej zidentyfikowanej w kroku 2.

    qpid-stat -q
    

    Przykładowe statystyki kolejki Qpid

    Poniższe statystyki kolejki Qpid wskazują, że nie ma żadnych wiadomości dla konkretnej kolejki grupy analitycznej z podanego wyżej przykładu (axgroup-001):

    queue (kolejka) d autoDel z wyłączeniem wiadomości msgIn msgOut bajty bytesIn bytesOut wady powiąż
    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

    W przypadku określonej grupy analitycznej axgroup-001 nie ma żadnych komunikatów ani ruchu, pojawia się błąd „The report timed out” (Upłynął limit czasu raportu). w panelu interfejsu Edge lub w panelach statystyk.

Rozdzielczość

Aby rozwiązać ten problem, usuń obiekt axgroup, który nie ma żadnych zakresów i nie rejestruje żadnego ruchu.

Aby usunąć axgroup :

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

  1. Użyj poniższego interfejsu API do zarządzania, aby usunąć każdego klienta z grupy 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. Powtórz to samo wywołanie interfejsu API, jeśli jest wielu klientów, podając identyfikator UUID każdego z nich w osobnym wywołaniu interfejsu API.

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

Krok 2. Usuń grupy użytkowników

  1. Aby usunąć grupy konsumentów z określonego zasobu (axgroup), użyj podanego niżej 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. Użyj poniższego interfejsu API do zarządzania, aby usunąć qpid-servers z: axgroup.

    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. Jeśli istnieje kilka serwerów Qpid, uruchom to samo wywołanie interfejsu API.

    Przykład:

    Aby usunąć serwer Qpid o identyfikatorze UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 w tym przykładzie, 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 istnieje tylko jeden serwer Postgres, użyj poniższego interfejsu API do zarządzania, aby usunąć serwer 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. Jeśli masz konfigurację mastera i podrzędnego serwera Postgres, użyj poniższego interfejsu API do 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 występują główne i podrzędne serwery Postgres, więc do usunięcia serwerów Postgres możesz użyć tego interfejsu 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
    }
    
    

KROK 5. Usuń grupę w Statystykach

  1. Aby usunąć grupę Analytics, użyj poniższego 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 poniższego interfejsu API 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ższych danych wyjściowych nie ma informacji dotyczących konkretnej grupy analitycznej axgroup-001. Jest to potwierdzenie, że grupa axgroup-001 została całkowicie usunięta.

Krok 7. Uruchom ponownie procesy

Te procesy na maszynach Qpid i Postgres:

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

Krok 8. Zweryfikuj

Sprawdź, czy dane wyświetlają się w panelach statystyk.

Jeśli problem nadal występuje, przejdź do artykułu Wymagane zbieranie informacji diagnostycznych.

Musi zbierać informacje diagnostyczne

Jeśli po wykonaniu powyższych czynności problem nie ustąpi, zbierz poniższe informacje diagnostyczne. Skontaktuj się z zespołem pomocy Apigee Edge i udostępnij zebrane informacje.

  1. Konfiguracja architektury instalacji Private Cloud (czyli liczba skonfigurowanych hostów i liczba każdego z komponentów).
  2. Dane wyjściowe tych poleceń:

    1. Grupa Analytics

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Statystyki kolejki Qpid na każdej z maszyn 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