Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Sintomo
La variabile personalizzata creata utilizzando il criterio Statistics Collectornon è visibile in Dimensioni personalizzate nei report personalizzati di Analytics nell'interfaccia utente di Edge.
Messaggio di errore
Il log di sistema edge-postgres-server conterrà il seguente errore dopo un riavvio per ogni combinazione di 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 di organizzazione e ambiente. | Quando manca il percorso ZooKeeper /organizations/, non è possibile creare dimensioni personalizzate. |
Utenti di Edge Private Cloud |
Causa: manca il percorso delle proprietà di ZooKeeper per la combinazione di organizzazione e ambiente
Diagnosi
Analytics è abilitato per una combinazione di organizzazione e ambiente tramite l'
API Enable analytics, che popola /organizations/
nell'albero ZooKeeper. Quando questa API non riesce, il componente edge-postgres-server non può creare dimensioni personalizzate e nel suo system.log viene visualizzato il seguente errore:
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 eseguita in un momento in cui esistevano più gruppi di analisi che utilizzavano gli stessi UUID postgres-server. Per verificare quanti gruppi di analisi esistono, esegui la seguente chiamata API:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
Se questa API restituisce più gruppi, è molto probabile che sia 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 per ogni axgroup è lo stesso. Un modo rapido per determinarlo è eseguire quanto segue:
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 se sono gli stessi:
{ "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
Lo stesso insieme di server PostgreSQL non può essere assegnato a due axgroup. Il modo più rapido per risolvere il problema è eliminare le informazioni del server postgres da un axgroup e assegnare tutti gli ambiti (combinazioni di organizzazione e ambiente) all'altro gruppo. Per farlo:
- Rimuovi i componenti del server postgres da uno dei due axgroup utilizzando le istruzioni riportate in Aggiungere ed eliminare componenti di analisi nei gruppi di analisi. Se riscontri problemi solo con gli ambiti non di produzione, scegli l'axgroup che NON ha alcun ambito di produzione per questo esercizio. In caso contrario, scegli l'axgroup con il minor numero di ambiti.
- Rimuovi tutti gli ambiti dall'axgroup che non ha più server postgres e quelli
per cui riscontri il problema della dimensione personalizzata dal relativo axgroup. Supponendo
axgroup-001dell'esempio precedente sia il gruppo che vuoi utilizzare, dovrai 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 utilizzando l' API Enable analytics.
- Riavvia il componente edge-postgres-server sul nodo master postgres e tutti
i componenti edge-qpid-server che potresti aver installato 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
non si verifichi 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 nell'interfaccia utente di Edge.
Se il problema persiste, vai a Raccogliere informazioni di diagnostica.
Raccogliere informazioni di diagnostica
Se il problema persiste anche dopo aver seguito le istruzioni precedenti, raccogli le seguenti informazioni di diagnostica. Contatta l'assistenza Apigee Edge e condividile:
- Il file edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.logdal momento dell'ultimo riavvio. - L'output della seguente chiamata API di gestione:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- L'output dell'albero ZooKeeper ottenuto utilizzando il seguente comando:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt