Timeout del report

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Sintomo

Quando utilizzi lo script apigee-provision per creare una nuova organizzazione, a volte lo script termina con un messaggio di errore. Dopo questo errore, se tenti di visualizzare la dashboard della UI Edge 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 l'uscita dello script di provisioning. Tuttavia, quando provi a visualizzare la dashboard dell'interfaccia utente Edge, viene visualizzato il seguente messaggio di errore 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 di Edge Private Cloud

Causa: configurazione di più gruppi AX

Diagnosi

  1. Esegui la seguente API di gestione dei gruppi di Analytics e determina se l'output mostra più di un gruppo di Analytics 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, il gruppo di analisi axgroup-001 non ha ambiti definiti, ma ha comunque server Postgres definiti come datastore.

  3. Esegui il comando per le statistiche della coda Qpid riportato di seguito sui server Qpid e verifica che non arrivino messaggi per il gruppo di analisi specifico identificato nel passaggio 2.

    qpid-stat -q
    

    Esempio di statistiche della coda Qpid

    Le seguenti statistiche della coda Qpid indicano che non sono presenti messaggi in arrivo per la coda del gruppo Analytics specifico dell'esempio citato in precedenza (axgroup-001):

    queue dur autoDel excl msg msgIn msgOut byte bytesIn bytesOut cons 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,4 milioni 52,4 milioni 0 0 2

    Poiché non sono presenti messaggi/traffico per il gruppo di analisi specifico axgroup-001, viene visualizzato l'errore "Il report ha superato il timeout" nella dashboard della UI Edge o nelle dashboard di analisi.

Risoluzione

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

Segui la procedura riportata di seguito per eliminare axgroup :

Passaggio 1: elimina i consumatori per il gruppo ax 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 riportata sopra se sono presenti più consumatori, menzionando l'UUID di ciascun consumatore in una chiamata API separata.

    Per l'esempio mostrato sopra, la seguente API 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 di nuovo la stessa API per eliminare l'altro consumatore il cui UUID è 7794c428-e553-4ed2-843d-69f93bbec8a3 nell'esempio attuale.

Passaggio 2 : rimuovi i gruppi di consumatori

  1. Utilizza la seguente API di gestione per rimuovere i gruppi di consumer dal particolare 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 consumer 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 UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 nell'esempio attuale:

    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 server master e lo 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 mostrato sopra, 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 Management 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 Management 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 precedente non sono presenti informazioni relative al gruppo di analisi specifico axgroup-001. Ciò conferma che axgroup-001 è stato rimosso completamente.

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 a Informazioni di diagnostica da raccogliere.

Must Gather Diagnostic Information

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 dell'installazione di Private Cloud (numero di host configurati, numero di ciascun componente).
  2. Output dei seguenti comandi:

    1. Analytics Group

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Statistiche della coda Qpid su ciascuna delle macchine 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