Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Sintomo
La variabile personalizzata creata utilizzando Raccoglitore delle statistiche Norma non è visibile nella sezione Dimensioni personalizzate dei report personalizzati di Analytics nella UI Edge.
Messaggio di errore
Il log di sistema edge-postgres-server mostrerà il seguente errore dopo un riavvio per ogni combinazione organizzazione/ambiente in cui manca il percorso:
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
Possibili cause
Causa | Descrizione | Istruzioni per la risoluzione dei problemi applicabili a |
---|---|---|
Manca il percorso delle proprietà di Zookeeper per la combinazione organizzazione e ambiente. | Quando il percorso ZooKeeper /organizations/
mancante, non è possibile creare dimensioni personalizzate. |
Utenti Edge Private Cloud |
Causa: il percorso delle proprietà di ZooKeeper non è presente per la combinazione organizzazione e ambiente
Diagnosi
Analytics è abilitato per una combinazione organizzazione-ambiente tramite la proprietà
Abilita l'API Analytics, che compila la /organizations/
nell'albero di ZooKeeper. In caso di errore di questa API, il componente edge-postgres-server non può creare
dimensioni personalizzate e il seguente errore verrà visualizzato nel relativo system.log:
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
In genere questo accade quando un'organizzazione è stata accettata in un momento in cui di analisi che utilizzava gli stessi UUID postgres-server. Per controllare quanti dati dei gruppi esistenti, esegui la chiamata API seguente:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
Se questa API restituisce più gruppi, molto probabilmente questa è la causa del problema. Nell'esempio seguente, nota che esistono due gruppi, differenziati solo da un trattino: axgroup-001 e axgroup001
[ { "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { } }, { "name" : "axgroup001", "properties" : { }, "scopes" : [ "example~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { }
In particolare, il problema si verifica se l'UUID postgres-server è configurato axgroup è lo stesso. Per determinare rapidamente questo problema, esegui il seguente comando:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
L'output di esempio seguente confronta rapidamente gli UUID postgres-server per determinare sono le stesse:
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]-- "name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
Risoluzione
Non è possibile assegnare lo stesso set di server PostgreSQL a due axgroups. Il modo più rapido per risolvere il problema è eliminare le informazioni del server postgres da un gruppo axgroup e assegnare tutti gli ambiti (organizzazione, combinazioni di ambiente) all'altro gruppo. Per farlo, segui questi passaggi:
- Rimuovi i componenti del server postgres da uno dei due axgroups utilizzando le istruzioni alle Aggiunta ed eliminazione di componenti di analisi nei gruppi di analisi. Se riscontri problemi solo con ambiti non di produzione, scegli il gruppo ax che NON ha alcun ambito di produzione per questo esercizio. Altrimenti, scegli il gruppo assi con il numero minimo di ambiti.
- Rimuovi dall'axgroup tutti gli ambiti che non hanno più server postgres e quelli
per il quale riscontri il problema relativo alle dimensioni personalizzate del rispettivo gruppo di assi. Supponendo
axgroup-001
dell'esempio precedente è il gruppo che vuoi utilizzare, dovresti utilizzare quanto segue per rimuovere l'ambito per l'organizzazione myorg, e l'ambiente prod:curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- Abilita l'analisi mediante Abilita l'API Analytics.
- Riavvia il componente edge-postgres-server sul nodo master postgres e
edge-qpid-server installati, utilizzando i seguenti comandi:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Verifica che l'errore fornito nella sezione Messaggio di errore sopra riportata
non si trova più nel file di log del server Postgres
/opt/apigee/var/log/edge-postgres-server/logs/system.log
. - Verifica se le dimensioni personalizzate vengono visualizzate nella UI di Edge.
Se il problema persiste, vai alla pagina Raccogliere dati diagnostici.
Raccogliere informazioni diagnostiche
Se il problema persiste anche dopo aver seguito le istruzioni precedenti, raccogli il le seguenti informazioni diagnostiche. Contatta e condividili con l'assistenza Apigee Edge:
- Il server edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.log
dal momento dell'ultimo riavvio. - L'output della seguente chiamata all'API di gestione:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- L'output dell'albero di ZooKeeper ottenuto utilizzando il seguente comando:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt