Benutzerdefinierte Dimensionen werden nicht angezeigt, wenn mehrere Axgroups konfiguriert wurden

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Symptom

Die benutzerdefinierte Variable, die mit dem Statistik-Collector nicht unter „Benutzerdefinierte Dimensionen“ in den benutzerdefinierten Analytics-Berichten in der Edge-Benutzeroberfläche

Fehlermeldung

Das Edge-postgres-server-Systemprotokoll zeigt nach einem Neustart für jedes Kombination aus Organisation und Umgebung, bei der der Pfad fehlt:

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

Mögliche Ursachen

Ursache Beschreibung Anleitungen zur Fehlerbehebung für
Der Zookeeper-Property-Pfad fehlt für die Kombination aus Organisation und Umgebung. Wenn der ZooKeeper-Pfad /organizations//environments//properties fehlt, können keine benutzerdefinierten Dimensionen erstellt werden. Edge Private Cloud-Nutzer

Ursache: ZooKeeper-Property-Pfad fehlt für Organisations- und Umgebungskombination

Diagnose

Analytics wird für eine Kombination aus Organisation und Umgebung über die <ph type="x-smartling-placeholder"></ph> Aktivieren Sie die Analyse-API, die die /organizations//environments//properties ausfüllt. im ZooKeeper-Baum. Wenn diese API fehlschlägt, kann die Edge-Postgres-Server-Komponente keine benutzerdefinierte Dimensionen und der folgende Fehler wird in der Datei "system.log" angezeigt:

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

Dies ist in der Regel der Fall, wenn eine Organisation Es gab bereits eine Analysegruppe, die dieselben Postgres-Server-UUIDs verwendet. Um zu prüfen, wie viele Analysen Gruppen vorhanden sind, führen Sie den folgenden API-Aufruf aus:

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"

Wenn diese API mehrere Gruppen zurückgibt, ist dies höchstwahrscheinlich die Ursache des Problems. Beachten Sie im folgenden Beispiel, dass zwei Gruppen vorhanden sind, die sich nur durch einen Bindestrich unterscheiden: axgroup-001 und 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" : {
  }

Das Problem tritt insbesondere auf, wenn die Postgres-Server-UUID, die für jede „axgroup“ ist identisch. Mit dem folgenden Befehl können Sie dies schnell feststellen:

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"

In der folgenden Beispielausgabe werden die Postgres-Server-UUIDs schnell verglichen, um festzustellen, sind sie identisch:

{  "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" ],

Auflösung

Derselbe Satz von PostgreSQL-Servern kann nicht zwei Axgruppen zugewiesen werden. Am schnellsten lässt sich das Problem lösen, indem Sie die Postgres-Serverinformationen aus einer Axgroup löschen. Weisen Sie der anderen Gruppe alle Bereiche (Organisationen und Umgebungskombinationen) zu. Gehen Sie dazu wie folgt vor: führen Sie folgende Schritte aus:

  1. Entfernen Sie die Postgres-Serverkomponenten aus einer der beiden Axgroups anhand der Anweisungen bei Hinzufügen und Löschen von Analysekomponenten in Analysegruppen Wenn nur Probleme mit Nicht-Produktionsumfängen auftreten, wählen Sie die Axgroup aus, hat KEINEN Produktionsumfang für diese Übung. Andernfalls wählen Sie die Achsengruppe mit der Anzahl der Bereiche haben.
  2. Entfernen Sie alle Bereiche aus der Axgroup, die keine Postgres-Server mehr hat, und diese bei dem Sie das Problem mit der benutzerdefinierten Dimension der Axgroup sehen. Unter der Annahme axgroup-001 aus dem Beispiel oben ist die Gruppe, die Sie verwenden möchten. verwenden Sie folgenden Code, um den Bereich für die Organisation myorg zu entfernen: und der prod-Umgebung:
    curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
    
  3. Aktivieren Sie Analysen mithilfe der <ph type="x-smartling-placeholder"></ph> Aktivieren Sie die Analyse-API.
  4. Starten Sie die Edge-postgres-Server-Komponente auf dem Postgres-Masterknoten neu und Edge-qpid-server, die Sie möglicherweise installiert haben, verwenden Sie die folgenden Befehle:
     /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    
     /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    
  5. Prüfen Sie, ob der Fehler oben im Abschnitt Fehlermeldung angegeben ist. tritt nicht mehr in der Protokolldatei des Postgres-Servers auf. /opt/apigee/var/log/edge-postgres-server/logs/system.log
  6. Prüfen Sie, ob die benutzerdefinierten Dimensionen in der Edge-Benutzeroberfläche angezeigt werden.

Wenn das Problem weiterhin besteht, gehen Sie zu Diagnoseinformationen müssen erfasst werden.

Erfassen von Diagnoseinformationen erforderlich

Wenn das Problem trotz Befolgung der vorherigen Anleitung weiterhin besteht, folgenden Diagnoseinformationen folgen. Teilen Sie sie dem Apigee Edge-Support mit:

  1. Der Edge-postgres-Server /opt/apigee/var/log/edge-postgres-server/logs/system.log ab dem letzten Neustart.
  2. Die Ausgabe des folgenden Management API-Aufrufs:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. Die Ausgabe des ZooKeeper-Baums, der mit dem folgenden Befehl abgerufen wird:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt