Le dimensioni personalizzate non vengono visualizzate quando sono stati configurati più gruppi di assi

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//environments//properties, 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//environments//properties 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:

  1. 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.
  2. 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-001 dell'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'
    
  3. Abilita l'analisi utilizzando l' API Enable analytics.
  4. 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
    
  5. 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.
  6. 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:

  1. Il file edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log dal momento dell'ultimo riavvio.
  2. L'output della seguente chiamata API di gestione:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. L'output dell'albero ZooKeeper ottenuto utilizzando il seguente comando:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt