Zeitüberschreitung bei Bericht

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen.
info

Symptom

Wenn Sie mit dem Script apigee-provision eine neue Organisation erstellen, wird das Script manchmal mit einer Fehlermeldung beendet. Wenn Sie nach diesem Fehler versuchen, das Edge-UI-Dashboard oder ein beliebiges Analysedashboard aufzurufen, wird für die neu erstellte Organisation die Fehlermeldung Zeitüberschreitung beim Bericht angezeigt.

Fehlermeldung

Wenn Sie das apigee-provision-Skript 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" : [ ] 
} 

Auch wenn dieser Fehler auftritt, können Sie die neu erstellte Organisation verwenden, nachdem das Bereitstellungsscript beendet wurde. Wenn Sie jedoch versuchen, das Edge-UI-Dashboard aufzurufen, wird für die neu erstellte Organisation die folgende Fehlermeldung angezeigt:

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

Hier ist ein Screenshot, der den Fehler zeigt:

Mögliche Ursachen

Ursache Beschreibung Anleitungen zur Fehlerbehebung gelten für
Mehrere AX-Gruppen einrichten Es wurden mehrere Analysegruppen mit derselben Gruppe von Postgres-Servern erstellt. Edge Private Cloud-Nutzer

Ursache: Mehrere AX-Gruppen eingerichtet

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 zwei Analysegruppen gibt: axgroup-001 und axgroup001.

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

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

  3. Führen Sie den folgenden Befehl für Qpid-Warteschlangenstatistiken auf den Qpid-Servern aus und prüfen Sie, ob keine Nachrichten für die in Schritt 2 identifizierte Analytics-Gruppe eingehen.

    qpid-stat -q
    

    Beispiel für Qpid-Warteschlangenstatistiken

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

    queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut Nachteile bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 J J 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 J 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl J 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 J 0 241.000 241.000 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl J 323 323 0 52,4 m 52,4 m 0 0 2

    Da für die spezifische Analysegruppe axgroup-001 keine Nachrichten/kein Traffic eingehen, wird im Edge-UI-Dashboard oder in den Analysedashboards der Fehler „Zeitüberschreitung beim Bericht“ angezeigt.

Auflösung

Löschen Sie die axgroup, die keine Bereiche hat und keinen Traffic erhält, um dieses Problem zu beheben.

So löschen Sie die axgroup :

Schritt 1: Löschen Sie die Nutzer für die jeweilige Achsengruppe.

  1. Verwenden Sie die folgende Management API, um die einzelnen Nutzer aus 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. Wiederholen Sie den API-Aufruf oben, wenn es mehrere Verbraucher gibt, und geben Sie die UUID jedes Verbrauchers in einem separaten API-Aufruf an.

    Im oben gezeigten Beispiel wird mit der folgenden API der Nutzer mit der UUID 5c1e9690-7b58-499a-a4bb-d54454474b8f: entfernt.

    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 mit der UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 in diesem Beispiel zu löschen.

Schritt 2 : Nutzergruppen entfernen

  1. Verwenden Sie die folgende Management API, um die Verbrauchergruppen 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}'
    

    Beispiel:

    Mit der folgenden API wird der Name der Nutzergruppe 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 Management 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. Wiederholen Sie denselben API-Aufruf, wenn es mehrere Qpid-Server gibt.

    Beispiel:

    Verwenden Sie die folgende API, um den Qpid-Server mit der UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 im vorliegenden 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 Management API, um den Postgres-Server zu löschen, sofern es nur einen Postgres-Server gibt:

    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 Management API, um die Postgres-Server zu löschen, wenn Sie Master und 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"
    

    Beispiel:

    Im obigen Beispiel gibt es Master- und Slave-Postgres-Server. Sie können die folgenden APIs verwenden, um die Postgres-Server zu löschen:

    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: Analytics-Gruppe entfernen

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

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

    Beispiel:

    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. Verwenden Sie die folgende Management API, um zu 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 
    

    Beispiel:

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

    Beachten Sie, dass die obige Ausgabe keine Informationen zur Analytics-Gruppe axgroup-001 enthält. Das bestätigt, 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 „edge-postgres-server“ neu.
  4. Starten Sie apigee-postgresql neu.

Schritt 8: Bestätigen

Prüfen Sie, ob die Daten in den Analysedashboards angezeigt werden.

Wenn das Problem weiterhin besteht, gehen Sie zu Erfassen von Diagnoseinformationen erforderlich.

Erfassen von Diagnoseinformationen erforderlich

Wenn das Problem auch nach Befolgen der obigen Anweisungen weiterhin besteht, sammeln Sie bitte die folgenden Diagnoseinformationen. Wenden Sie sich an den Apigee Edge-Support und teilen Sie die gesammelten Informationen mit.

  1. Architektur 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. Qpid-Warteschlangenstatistiken auf jedem der Qpid-Computer

      qpid-stat -q
      
    3. Analytics-Status

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