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

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

  1. 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.
  2. 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'
    
  3. Abilita l'analisi mediante Abilita l'API Analytics.
  4. 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
    
  5. 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.
  6. 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:

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