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
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.
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.
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.
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}'
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 }
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
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
Utilizza la seguente API di gestione per eliminare
qpid-servers
da un determinatoaxgroup
.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"
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
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"
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
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
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:
- Riavvia apigee-qpidd.
- Riavvia edge-qpid-server.
- Riavvia edge-postgres-server.
- 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.
- Configurazione dell'architettura della tua installazione del cloud privato (quanti host sono configurati, numero di ciascuno dei componenti).
Output dei seguenti comandi:
Gruppo di Analytics
curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/analytics/groups/ax
Statistiche Qpid coda su ciascuna macchina Qpid
qpid-stat -q
Stato Analytics
curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus