Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
Síntoma
La variable personalizada que se creó con la política de Statistics Collector no se puede ver en Dimensiones personalizadas en los informes personalizados de Analytics en la IU de Edge.
Mensajes de error
No se observan 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 de la nube pública y privada de Edge |
No hay tráfico en el proxy de API que implementa la política Statistics Collector | Usuarios de la nube pública y privada de Edge |
No se envió la variable personalizada al servidor de Postgres | Usuarios de la nube privada perimetral |
Haz clic en un vínculo de la tabla para ver las posibles soluciones.
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 Statistics Collector no cumple con los lineamientos estándar (consulta la Resolución), no aparecerá en los informes personalizados.
En el siguiente fragmento de código, se 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>
Resolución
Los nombres de variables personalizadas que se usan en la política de Statistics Collector dentro del proxy de API deben 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.
- No se permiten las palabras clave reservadas que aparecen en la tabla del siguiente vínculo. Por ejemplo, no se permite usar "usuario". Para obtener más información, consulta Palabras clave de SQL.
Si el problema persiste, ve a No hay tráfico en el proxy de API que implementa la política Statistics Collector.
El proxy de API no tiene tráfico que implementa la política Statistics Collector
Diagnóstico
Si no hay tráfico en el proxy de API que implementa la política Statistics Collector, la variable personalizada no aparecerá en los informes personalizados.
Resolución
Realiza algunas llamadas al proxy de la API que implementa la política StatisticsRecopilador.
Espera un tiempo y verifica si las variables personalizadas aparecen en las dimensiones personalizadas del Informe personalizado.
Si el problema persiste, ve a Variable personalizada no enviada al servidor de Postgres.
No se envió la variable personalizada al servidor de Postgres
Diagnóstico
Cuando se crea una variable personalizada en el proxy de API y se realizan llamadas a la API, la variable primero se almacena en la memoria del Message Processor. Luego, el procesador de mensajes envía la información sobre la variable nueva a ZooKeeper, que, a su vez, la envía al servidor de Postgres para agregarla como una columna en la base de datos de Postgres.
A veces, es posible que la notificación de ZooKeeper no llegue al servidor de Postgres debido a problemas de red. Debido a este error, es posible que la variable personalizada no aparezca en el Informe personalizado.
Para identificar dónde falta la variable personalizada, haga lo siguiente:
- 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 existe en el árbol de ZooKeeper, ejecuta los siguientes comandos para verificar si se agregó a la base de datos de Postgres:
- 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 notes que falta la columna de variable personalizada en la tabla de hechos, por lo que no aparece en las dimensiones personalizadas.
Resolución
Solución 1: Reinicia el servidor de Postgres
- Reinicia el servidor de Postgres a fin de forzar la lectura de toda la información relevante de Zookeeper para Analytics:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Si el problema persiste, aplica la solución 2.
Solución 2: Habilita la propiedad forceonboard
Para habilitar la propiedad forceonboard, sigue estos pasos:
- Crea el 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 y, luego, implementa el proxy de la API que usa la política Statistics Collector.
- Ejecuta las llamadas a la API.
- Verifica si las variables personalizadas aparecen en las dimensiones personalizadas del Informe personalizado.
Si el problema persiste, comunícate con el equipo de asistencia de Apigee Edge.