Zeitüberschreitung bei Bericht

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Symptom

Wenn Sie das Skript apigee-provision zum Erstellen einer neuen Organisation verwenden, wird das Skript manchmal mit einer Fehlermeldung beendet. Wenn Sie versuchen, das Edge-UI-Dashboard oder Analyse-Dashboards aufzurufen, wird für die neu erstellte Organisation die Fehlermeldung Das Zeitlimit für den Bericht wurde überschritten angezeigt.

Fehlermeldung

Wenn Sie das Skript apigee-provision ausführen, um eine neue Organisation zu erstellen, wird möglicherweise die folgende Fehlermeldung angezeigt:

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

Selbst wenn dieser Fehler angezeigt wird, können Sie mit der neu erstellten Organisation fortfahren, nachdem das Bereitstellungsskript beendet wurde. Wenn Sie jedoch versuchen, das Edge-UI-Dashboard aufzurufen, wird die folgende Fehlermeldung für die neu erstellte Organisation angezeigt:

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

Hier ist ein Screenshot, auf dem der Fehler zu sehen ist:

Mögliche Ursachen

Ursache Beschreibung Gilt für die Anleitung zur Fehlerbehebung
Mehrere AX-Gruppen einrichten Es wurden mehrere Analysegruppen mit denselben Postgres-Servern erstellt. Edge Private Cloud-Nutzer

Ursache: Einrichtung mehrerer AX-Gruppen

Diagnose

  1. Führen Sie die folgende Analytics Groups Management API aus und prüfen Sie, ob in der Ausgabe mehr als eine Analytics-Gruppe definiert ist. Beispiel:

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

    Beispielausgabe mit zwei Analysegruppen

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

    Diese Ausgabe zeigt, dass es die beiden Analysegruppen axgroup-001 und axgroup001 gibt.

  2. Prüfen Sie, ob für alle Analysegruppen Bereiche definiert sind.

    In der oben gezeigten Beispielausgabe von Analysegruppen sind für die Analysegruppe axgroup-001 keine Bereiche definiert, es sind jedoch Postgres-Server als Datenspeicher definiert.

  3. Führen Sie den unten angegebenen Befehl für die Qpid-Warteschlangenstatistiken auf den Qpid-Servern aus und prüfen Sie, ob für die in Schritt 2 angegebene Analysegruppe keine Nachrichten eingehen.

    qpid-stat -q
    

    Beispiel für Statistiken zu Qpid-Warteschlangen

    Die folgenden Qpid-Warteschlangenstatistiken zeigen, dass für die spezifische Analysegruppen-Warteschlange aus dem oben genannten Beispiel (axgroup-001) keine Nachrichten eingehen:

    Warteschlange Während autoDel ohne msg msgIn msgOut Byte bytesIn bytesOut Nachteile bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Ja Ja 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Ja 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Ja 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Ja 0 241.000 241.000 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl Ja 323 323 0 52.4m 52.4m 0 0 2

    Da keine Nachrichten/Traffic für die spezifische Analysegruppe axgroup-001 gesendet werden, wird im Dashboard der Edge-Benutzeroberfläche oder in den Analyse-Dashboards der Fehler „Zeitüberschreitung bei Bericht“ angezeigt.

Auflösung

Um dieses Problem zu beheben, löschen Sie die axgroup, die keine Bereiche hat und keinen Traffic empfängt.

Folgen Sie der Anleitung unten, um axgroup zu löschen :

Schritt 1: Nutzer für die jeweilige axgroup löschen

  1. Verwenden Sie die folgende Verwaltungs-API, um die einzelnen Nutzer aus dem axgroup zu entfernen:

    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. Wenn mehrere Nutzer vorhanden sind, wiederholen Sie den oben genannten API-Aufruf und geben Sie die UUID jedes Nutzers in einem separaten API-Aufruf an.

    Im obigen Beispiel entfernt die folgende API den Nutzer mit der 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. Führen Sie dieselbe API noch einmal aus, um den anderen Nutzer zu löschen, dessen UUID im aktuellen Beispiel 7794c428-e553-4ed2-843d-69f93bbec8a3 ist.

Schritt 2 : Nutzergruppen entfernen

  1. Verwenden Sie die folgende Management API, um die Nutzergruppen aus dem jeweiligen axgroup zu entfernen:

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

    Example:

    Mit der folgenden API wird der Name der Verbrauchergruppe consumer-group-001: gelöscht:

    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
    }
    

Schritt 3: qpid-server aus axgroup löschen

  1. Verwenden Sie die folgende Verwaltungs-API, um qpid-servers aus dem jeweiligen axgroup zu löschen.

    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. Führen Sie denselben API-Aufruf noch einmal aus, wenn mehrere Qpid-Server vorhanden sind.

    Example:

    Verwenden Sie die folgende API, um den Qpid-Server mit der UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 in diesem Beispiel zu löschen:

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

Schritt 4: Postgres-Server aus axgroup löschen

  1. Verwenden Sie die folgende Verwaltungs-API, um den Postgres-Server zu löschen, wenn ein einzelner Postgres-Server vorhanden ist:

    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. Verwenden Sie die folgende Verwaltungs-API, um die Postgres-Server zu löschen, wenn Sie einen Master- und einen Postgres-Slave eingerichtet haben

    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"
    

    Example:

    Im obigen Beispiel gibt es Master- und Slave-Postgres-Server, sodass Sie die folgende API zum Löschen der Postgres-Server verwenden können:

    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
    }
    
    

SCHRITT 5: Analysegruppe entfernen

  1. Verwenden Sie die folgende Verwaltungs-API, um die Analysegruppe zu entfernen:

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

    Example:

    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
    }
    

SCHRITT 6: Prüfen, ob die Gruppe vollständig entfernt wurde

  1. Mit der folgenden Verwaltungs-API können Sie prüfen, ob die jeweilige Analysegruppe vollständig entfernt wurde:

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

    Example:

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

    Wie Sie sehen, enthält die obige Ausgabe keine Informationen zu einer bestimmten Analysegruppe axgroup-001. Damit bestätigen Sie, dass axgroup-001 vollständig entfernt wurde.

Schritt 7: Prozesse neu starten

Die folgenden Prozesse auf den Qpid- und Postgres-Maschinen:

  1. Starten Sie apigee-qpidd neu.
  2. Starten Sie „edge-qpid-server“ neu.
  3. Starten Sie den Edge-Postgres-Server neu.
  4. Starten Sie apigee-postgresql neu.

Schritt 8: Bestätigen

Überprüfen Sie, ob die Daten in den Analyse-Dashboards angezeigt werden.

Wenn das Problem weiterhin besteht, lesen Sie den Artikel Diagnoseinformationen müssen erfasst werden.

Diagnoseinformationen müssen erfasst werden

Wenn das Problem trotz Befolgen der obigen Anweisungen weiterhin besteht, stellen Sie die folgenden Diagnoseinformationen zusammen. Wenden Sie sich an den Apigee Edge-Support und geben Sie die gesammelten Informationen weiter.

  1. Architektureinrichtung Ihrer Private Cloud-Installation (Anzahl der eingerichteten Hosts, Anzahl der einzelnen Komponenten).
  2. Ausgabe der folgenden Befehle:

    1. Analytics-Gruppe

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Statistiken der Qpid-Warteschlange auf allen Qpid-Maschinen

      qpid-stat -q
      
    3. Analytics-Status

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