Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Problème constaté
La variable personnalisée créée à l'aide de la stratégie du collecteur de statistiques n'est pas visible sous les dimensions personnalisées dans les rapports personnalisés Analytics de l'interface utilisateur Edge.
Message d'erreur
Après un redémarrage, le journal système "edge-postgres-server" renverra l'erreur suivante pour chaque combinaison organisation/environnement pour laquelle le chemin d'accès est manquant:
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
Causes possibles :
Cause | Description | Instructions de dépannage applicables à |
---|---|---|
Le chemin d'accès aux propriétés Zookeeper est manquant pour la combinaison organisation/environnement. | Si le chemin ZooKeeper /organizations/ est manquant, il est impossible de créer des dimensions personnalisées. |
Utilisateurs de cloud privé périphérique |
Cause: le chemin d'accès aux propriétés ZooKeeper est manquant pour la combinaison organisation/environnement
Diagnostic
Analytics est activé pour une combinaison organisation/environnement via l'
API d'analyse, qui renseigne le /organizations/
dans l'arborescence ZooKeeper. Lorsque cette API échoue, le composant Edge-postgres-server ne peut pas créer de dimensions personnalisées et l'erreur suivante apparaît dans son fichier 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
Cela se produit généralement lorsqu'une organisation a été intégrée à un moment où plusieurs groupes d'analyse utilisaient les mêmes UUID postgres-server. Pour vérifier le nombre de groupes d'analyse existants, exécutez l'appel d'API suivant:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
Si cette API renvoie plusieurs groupes, le problème est probablement la cause du problème. Dans l'exemple suivant, vous remarquerez l'existence de deux groupes, différenciés par un seul trait d'union : axgroup-001 et 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" : { }
Plus précisément, ce problème survient si l'UUID postgres-server configuré pour chaque axgroup est le même. Pour cela, exécutez la commande suivante:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
L'exemple de résultat suivant compare rapidement les UUID postgres-server afin de déterminer qu'ils sont identiques:
{ "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" ],
Résolution
Le même ensemble de serveurs PostgreSQL ne peut pas être attribué à deux axgroups. Le moyen le plus rapide de résoudre le problème consiste à supprimer les informations du serveur postgres d'un groupe axgroup et à attribuer tous les champs d'application (combinaisons d'organisation et d'environnement) à l'autre groupe. Pour ce faire, procédez comme suit:
- Supprimez les composants de serveur postgres de l'un des deux groupes d'analyse en suivant les instructions de la section Ajouter et supprimer des composants d'analyse dans des groupes d'analyse. Si vous rencontrez des problèmes uniquement avec des champs d'application hors production, choisissez le groupe axgroup qui n'a PAS de champ d'application en production pour cet exercice. Sinon, choisissez le groupe axgroup ayant le plus petit nombre de champs d'application.
- Supprimez de l'axgroup tous les champs d'application de l'axgroup qui ne comportent plus de serveurs postgres, ainsi que ceux pour lesquels vous rencontrez le problème de dimension personnalisée. En supposant que
axgroup-001
de l'exemple ci-dessus soit le groupe que vous souhaitez utiliser, vous devriez utiliser ce qui suit pour supprimer le champ d'application de l'organisation myorg et de l'environnement prod :curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- Activez les analyses à l'aide de l' API d'analyse.
- Redémarrez le composant Edge-postgres-server sur le nœud maître postgres et tous les composants Edge-qpid-server que vous avez éventuellement installés, à l'aide des commandes suivantes :
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Vérifiez que l'erreur indiquée dans la section Message d'erreur ci-dessus ne se produit plus dans le fichier journal
/opt/apigee/var/log/edge-postgres-server/logs/system.log
du serveur Postgres. - Vérifiez si les dimensions personnalisées s'affichent dans l'interface utilisateur Edge.
Si le problème persiste, consultez Obtention des informations de diagnostic nécessaires.
Doit recueillir des informations de diagnostic
Si le problème persiste même après avoir suivi les instructions précédentes, veuillez rassembler les informations de diagnostic suivantes. Contactez-les et partagez-les avec l'assistance Apigee Edge:
- Le
/opt/apigee/var/log/edge-postgres-server/logs/system.log
Edge-postgres-server à partir du dernier redémarrage. - Résultat de l'appel d'API Management suivant :
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- La sortie de l'arborescence ZooKeeper obtenue à l'aide de la commande suivante :
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt