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 La política de StatisticsCollector es No se puede ver en Dimensiones personalizadas en los informes personalizados de Analytics en la IU de Edge.
Mensajes de error
No se observaron errores.
Causas posibles
En la siguiente tabla, se enumeran las posibles causas de este problema:
Causa | Para |
---|---|
La variable personalizada no cumple con los lineamientos estándares | Usuarios perimetrales de nubes privadas y públicas |
Sin tráfico en el proxy de API que implementa la política StatisticsCollector | Usuarios perimetrales de nubes privadas y públicas |
La variable personalizada no se envía a Postgres Server | Usuarios de la nube privada perimetral |
Haz clic en un vínculo de la tabla para ver las posibles soluciones de esa causa.
La variable personalizada no cumple con los lineamientos estándares
Diagnóstico
Si el nombre de la variable personalizada que se usa en la política StatisticsCollector no cumpla con las pautas estándar (consulta Resolución), no aparecerá en los Informes personalizados.
El siguiente fragmento de código muestra que el nombre de variable "product id" tiene un espacio, por lo que no aparecerá en la dimensión personalizada del informe personalizado.
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
Solución
Nombres de variables personalizadas que se usan en la política StatisticsCollector de la API proxy debe cumplir con los siguientes lineamientos:
- Los nombres pueden incluir [a-z][0-9] y “_”.
- Los nombres no pueden incluir espacios. Por ejemplo, en la muestra de código anterior, el nombre de la variable debe cambiarse a “product_id”.
- No se hace distinción entre mayúsculas y minúsculas.
- Las palabras clave reservadas que aparecen en la tabla en el siguiente vínculo no son permitidos. Por ejemplo, "usuario" no está permitido. Para obtener más información, consulta Palabras clave de SQL.
Si el problema persiste, continúa con Sin tráfico en el proxy de API que implementa la política StatisticsCollector.
Sin tráfico en el proxy de API que implementa la política StatisticsCollector
Diagnóstico
Si no hay tráfico en el proxy de API que implementa StatisticsCollector política, la variable personalizada no aparecerá en los informes personalizados.
Solución
Realiza algunas llamadas al proxy de API que implementa StatisticsCollector .
Espere un tiempo y verifique si las variables personalizadas aparecen en las dimensiones personalizadas en Informe personalizado
Si el problema persiste, ve a No se envió la variable personalizada a Servidor Postgres.
La variable personalizada no se envió al servidor de Postgres
Diagnóstico
Cuando se crea una variable personalizada en el proxy de API y se realizan llamadas a la API, el por primera vez se almacena en la memoria del Message Processor. El mensaje Luego, el procesador envía la información sobre la variable nueva a ZooKeeper, que a su vez, lo envía al servidor de Postgres para agregarlo como una columna en en la base de datos.
En ocasiones, la notificación de ZooKeeper no llega al servidor de Postgres debido a la problemas. Debido a este error, es posible que la variable personalizada no aparezca en el Informe personalizado
Para identificar dónde falta la variable personalizada, sigue estos pasos:
- Genera el árbol de ZooKeeper con el siguiente comando:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- Busca la variable personalizada en el resultado del árbol de ZooKeeper.
- Si la variable personalizada se encuentra en el árbol de ZooKeeper, ejecute el comando
los siguientes comandos para verificar si la variable personalizada se agrega a Postgres
base de datos:
- En el nodo de Postgres, accede a PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Ejecuta la siguiente consulta en SQL:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- En el nodo de Postgres, accede a PostgreSQL:
- Es muy probable que vea que la columna de variable personalizada no aparece en el de hechos reales, por lo que no aparece en las dimensiones personalizadas.
Solución
Solución 1: reinicia el servidor de Postgres
- Reinicia el servidor Postgres para forzarlo a leer toda la información relevante para
Análisis de Zookeeper:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Si el problema persiste, aplica la solución n.o 2.
Solución n.o 2: Habilita la propiedad forceonboard
Habilita la propiedad forceonboard. Para ello, sigue estos pasos:
- Crear archivo
/opt/apigee/customer/application/postgres-server.properties
en la máquina del servidor de Postgres, si aún no existe. - Agrega la siguiente línea a este archivo:
conf_pg-agent_forceonboard=true
- Asegúrate de que este archivo sea propiedad de Apigee con el siguiente comando:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Reinicia el servidor de Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Si tienes más de un servidor de Postgres, repite los pasos anteriores en todos los Servidores de Postgres.
- Anula la implementación del proxy de API que usa StatisticsCollector y, luego, impleméntalo .
- Ejecuta las llamadas a la API.
- Verifica si las variables personalizadas aparecen en las dimensiones personalizadas en la sección Personalizado Informe.
Si el problema persiste, comunícate con el equipo de asistencia de Apigee Edge.