Les dimensions personnalisées ne s'affichent pas lorsque plusieurs axes sont configurés

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Symptôme

La variable personnalisée créée à l'aide de la variable Collecteur de statistiques des règles ne s'affiche pas sous "Dimensions personnalisées" dans les rapports personnalisés Analytics, dans la Interface utilisateur Edge

Message d'erreur

Après un redémarrage, le journal système du serveur Edge-postgres-server génère l'erreur suivante pour chaque Combinaison organisation/environnement dans 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 aux
Chemin d'accès aux propriétés Zookeeper manquant pour la combinaison organisation/environnement. Lorsque le chemin d'accès à ZooKeeper /organizations//environments//properties est manquante, les dimensions personnalisées ne peuvent pas être créées. Utilisateurs du cloud privé Edge

Cause: le chemin des propriétés ZooKeeper est manquant pour la combinaison organisation/environnement

Diagnostic

Analytics est activé pour une combinaison entreprise/environnement via la <ph type="x-smartling-placeholder"></ph> Activer l'API d'analyse, qui renseigne le /organizations//environments//properties dans l'arborescence ZooKeeper. En cas de défaillance de cette API, le composant Edge-postgres-server ne peut pas créer des 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 est intégrée, alors que plusieurs un groupe d'analyse existant utilisant les mêmes UUID postgres-server. Pour vérifier le nombre d'analyses existent, 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, il s'agit très probablement de la cause du problème. Dans l'exemple suivant, notez l'existence de deux groupes, qui ne se différencient que par un 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, le problème se produit si l'UUID postgres-server configuré pour chaque axgroup est le même. Pour le déterminer rapidement, 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 pour déterminer 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" ],

Solution

Le même ensemble de serveurs PostgreSQL ne peut pas être attribué à deux groupes d'axes. Le moyen le plus rapide de résoudre le problème consiste à supprimer les informations du serveur postgres d'un groupe d'axes et attribuer tous les champs d'application (combinaisons d'organisation et d'environnement) à l'autre groupe. Pour ce faire, procédez comme suit:

  1. Supprimez les composants du serveur postgres de l'un des deux groupes d'axes en suivant les instructions. à <ph type="x-smartling-placeholder"></ph> Ajout et suppression de composants d'analyse dans des groupes d'analyse Si vous ne constatez des problèmes qu'avec des champs d'application hors production, sélectionnez l'axe horizontal N'A AUCUNE portée en production pour cet exercice. Sinon, choisissez le groupe d'axes avec le le plus petit nombre de champs d'application.
  2. Supprimez tous les champs d'application de l'axgroup qui ne comporte plus de serveurs postgres, ainsi que ceux pour lesquelles vous constatez le problème de dimension personnalisée à partir du groupe d'axes. En supposant axgroup-001 de l'exemple ci-dessus est le groupe que vous souhaitez utiliser, devez utiliser la commande suivante pour supprimer le champ d'application pour l'organisation myorg, et l'environnement prod:
    curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
    
  3. Activez les analyses à l'aide de la <ph type="x-smartling-placeholder"></ph> Activer l'API d'analyse
  4. Redémarrez le composant Edge-postgres-server sur le nœud maître postgres. les composants Edge-qpid-server que vous avez 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
    
  5. Vérifiez que l'erreur indiquée dans la section Message d'erreur ci-dessus n'apparaît plus dans le fichier journal du serveur Postgres /opt/apigee/var/log/edge-postgres-server/logs/system.log
  6. Vérifiez si les dimensions personnalisées s'affichent dans l'interface utilisateur Edge.

Si le problème persiste, consultez Obtenir des informations de diagnostic.

Vous devez collecter des informations de diagnostic

Si le problème persiste alors que vous avez suivi les instructions précédentes, veuillez rassembler les à l'aide des informations de diagnostic suivantes. Contactez-les et partagez-les avec l'assistance Apigee Edge:

  1. Le /opt/apigee/var/log/edge-postgres-server/logs/system.log Edge-postgres-server à partir du dernier redémarrage.
  2. Résultat de l'appel de l'API Management suivant:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. Le résultat de l'arborescence ZooKeeper est obtenu à l'aide de la commande suivante:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt