Las dimensiones personalizadas no aparecen cuando se configuran varios grupos de ejes

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Síntoma

La variable personalizada creada con el Recopilador de estadísticas política no está visible en Dimensiones personalizadas en los Informes personalizados de Analytics en la IU de Edge

Mensaje de error

El registro del sistema de Edge-postgres-server tendrá el siguiente error después de un reinicio para cada combinación de organización y entorno en la que falta la ruta:

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

Causas posibles

Causa Descripción Instrucciones de solución de problemas aplicables a
Falta la ruta de acceso de las propiedades de Zookeeper para la combinación de organización y entorno. Cuando la ruta de acceso de ZooKeeper /organizations//environments//properties si falta, no se pueden crear dimensiones personalizadas. Usuarios de la nube privada perimetral

Causa: Falta la ruta de acceso de propiedades de ZooKeeper para la combinación de organización y entorno.

Diagnóstico

Analytics se habilita para una combinación organización y entorno a través de la Habilita la API de Analytics, que propaga la /organizations//environments//properties. en el árbol de ZooKeeper. Cuando falla esta API, el componente Edge-postgres-server no puede crear dimensiones personalizadas y aparecerá el siguiente error en el archivo 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

Por lo general, esto sucede cuando una organización se incorporó en un momento en que más de una y que usaba los mismos UUID de postgres-server. Para comprobar cuántas estadísticas grupos existentes, ejecuta la siguiente llamada a la API:

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

Si esta API muestra varios grupos, lo más probable es que esa sea la causa del problema. En el siguiente ejemplo, observa que existen dos grupos, diferenciados por solo un guion: axgroup-001 y 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" : {
  }

Específicamente, el problema ocurre si el UUID de postgres-server configurado para cada axgroup es el mismo. Una forma rápida de determinar esto es ejecutar lo siguiente:

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

El siguiente resultado de muestra compara rápidamente los UUID de postgres-server para determinar sean iguales:

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

Solución

El mismo conjunto de servidores PostgreSQL no se puede asignar a dos axgroups. La forma más rápida de resolver el problema es borrar la información del servidor de postgres de un grupo ax. y asignar todos los alcances (organización, combinaciones de entorno) al otro grupo. Para ello, sigue estos pasos:

  1. Quita los componentes del servidor de postgres de uno de los dos grupos de ejes mediante las instrucciones. en Agrega y borra componentes de estadísticas en grupos de Analytics. Si solo ves problemas con permisos que no son de producción, elige el grupo ax que NO tiene ningún alcance de producción para este ejercicio. De lo contrario, elige el grupo ax con el menor número de alcances.
  2. Quita todos los permisos del axgroup que ya no tengan servidores de postgres y aquellos para el que ves el problema de dimensión personalizada de su grupo de ejes. Suponiendo axgroup-001 del ejemplo anterior es el grupo que deseas usar. debe usar lo siguiente para quitar el permiso de la organización myorg, y el entorno prod:
    curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
    
  3. Habilitar el análisis con el Habilita la API de Analytics.
  4. Reinicia el componente Edge-postgres-server en el nodo principal de postgres y Edge-qpid-server que podrías haber instalado con los siguientes comandos:
     /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    
     /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    
  5. Verifica que el error proporcionado en la sección Mensaje de error anterior ya no se produce en el archivo de registro del servidor de Postgres /opt/apigee/var/log/edge-postgres-server/logs/system.log
  6. Confirma si las dimensiones personalizadas aparecen en la IU de Edge.

Si el problema persiste, ve a Se debe recopilar información de diagnóstico.

Se debe recopilar información de diagnóstico

Si el problema persiste, incluso después de seguir las instrucciones anteriores, reúne los siguiente la información de diagnóstico. Comunícate con ellos y compártelos con el equipo de asistencia de Apigee Edge:

  1. El Edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log desde el momento del último reinicio.
  2. El resultado de la siguiente llamada a la API de Management:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. El resultado del árbol de ZooKeeper obtenido con el siguiente comando:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt