Timeout del report

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Sintomo

Quando utilizzi lo script apigee-provision per creare una nuova organizzazione, a volte lo script viene chiuso con un messaggio di errore. Dopo questo errore, se tenti di visualizzare la dashboard dell'interfaccia utente perimetrale o qualsiasi dashboard di analisi, vedrai il messaggio di errore Timeout del report per l'organizzazione appena creata.

Messaggio di errore

Quando esegui lo script apigee-provision per creare una nuova organizzazione, potresti visualizzare il seguente messaggio di errore:

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

Anche se ricevi questo errore, puoi operare sull'organizzazione appena creata dopo la chiusura dello script di provisioning. Tuttavia, quando tenti di visualizzare la dashboard dell'interfaccia utente perimetrale, vedrai il messaggio di errore seguente per l'organizzazione appena creata:

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

Ecco uno screenshot che mostra l'errore:

Possibili cause

Causa Descrizione Istruzioni per la risoluzione dei problemi applicabili a
Configurazione di più gruppi AX Sono stati creati più gruppi di analisi con lo stesso insieme di server Postgres. Utenti del cloud privato perimetrale

Causa: configurazione di più gruppi AX

Diagnostica

  1. Esegui la seguente API di gestione dei gruppi di Analytics e determina se l'output mostra più di un gruppo di analisi definito. Ad esempio:

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

    Output di esempio che mostra due gruppi di analisi

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

    Questo output mostra che esistono due gruppi di analisi, axgroup-001 e axgroup001.

  2. Verifica che tutti i gruppi di analisi abbiano ambiti definiti.

    Nell'output dei gruppi di analisi di esempio mostrato sopra, per il gruppo di analisi axgroup-001 non è stato definito alcun ambito, ma i server Postgres sono comunque definiti come datastore.

  3. Esegui il comando delle statistiche Qpid riportato di seguito sui server Qpid e verifica se non sono in arrivo messaggi per il gruppo di analisi specifico identificato nel passaggio 2.

    qpid-stat -q
    

    Statistiche di esempio sulle code Qpid

    Le seguenti statistiche sulla coda Qpid indicano che non sono presenti messaggi per la coda del gruppo di analisi specifico dall'esempio citato sopra (axgroup-001):

    coda dur autoDel escluso msg msgIn msgOut byte bytesIn bytesOut contro bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Y Y 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Y 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Y 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Y 0 241.000 241.000 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl Y 323 323 0 52.4m 52.4m 0 0 2

    Poiché non sono presenti messaggi/traffico per il gruppo di analisi specifico axgroup-001, vedrai l'errore "Timeout del report" nella dashboard dell'interfaccia utente perimetrale o nelle dashboard di analisi.

Risoluzione

Per risolvere il problema, elimina il axgroup che non ha ambiti e non riceve traffico.

Per eliminare axgroup :

Passaggio 1: elimina i consumer per l'axgroup specifico.

  1. Utilizza la seguente API di gestione per rimuovere ciascun consumer da 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. Ripeti la stessa chiamata API se ci sono più consumer, menzionando l'UUID di ogni consumer in una chiamata API separata.

    Nell'esempio mostrato sopra, l'API seguente rimuove il consumer con 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. Esegui nuovamente la stessa API per eliminare l'altro consumatore il cui UUID è 7794c428-e553-4ed2-843d-69f93bbec8a3 nell'esempio presente.

Passaggio 2 : rimuovi i gruppi di tipo consumer

  1. Utilizza la seguente API di gestione per rimuovere i gruppi di consumatori da un determinato axgroup:

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

    Esempio:

    La seguente API elimina il nome del gruppo di consumatori 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
    }
    

Passaggio 3: elimina qpid-servers da axgroup

  1. Utilizza la seguente API di gestione per eliminare qpid-servers da un determinato 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. Esegui di nuovo la stessa chiamata API se sono presenti più server Qpid.

    Esempio:

    Utilizza la seguente API per eliminare il server Qpid con l'UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 nell'esempio presente:

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

Passaggio 4: elimina i server postgres da axgroup

  1. Utilizza la seguente API di gestione per eliminare il server Postgres, se è presente un solo server 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. Utilizza la seguente API di gestione per eliminare i server Postgres se hai configurato il master e uno slave 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"
    

    Esempio:

    Nell'esempio precedente sono presenti server Postgres master e slave, quindi puoi utilizzare la seguente API per eliminare i server 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
    }
    
    

PASSAGGIO 5: rimuovi il gruppo di analisi

  1. Utilizza la seguente API di gestione per rimuovere il gruppo di analisi:

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

    Esempio:

    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
    }
    

PASSAGGIO 6: controlla se il gruppo è stato rimosso completamente

  1. Utilizza la seguente API di gestione per verificare se il gruppo di analisi specifico è stato completamente rimosso:

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

    Esempio:

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

    Tieni presente che nell'output riportato sopra non ci sono informazioni relative a un particolare gruppo di analisi axgroup-001. Questo conferma che axgroup-001 è stato completamente rimosso.

Passaggio 7: riavvia i processi

I seguenti processi sulle macchine Qpid e Postgres:

  1. Riavvia apigee-qpidd.
  2. Riavvia edge-qpid-server.
  3. Riavvia edge-postgres-server.
  4. Riavvia apigee-postgresql.

Passaggio 8: verifica

Verifica se i dati vengono visualizzati nelle dashboard di analisi.

Se il problema persiste, vai alla pagina Devi raccogliere informazioni diagnostiche.

Raccogliere informazioni diagnostiche

Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche. Contatta l'assistenza Apigee Edge e condividi le informazioni raccolte.

  1. Configurazione dell'architettura della tua installazione del cloud privato (quanti host sono configurati, numero di ciascuno dei componenti).
  2. Output dei seguenti comandi:

    1. Gruppo di Analytics

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Statistiche Qpid coda su ciascuna macchina Qpid

      qpid-stat -q
      
    3. Stato Analytics

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