La variable personalizada no es visible para los informes personalizados de Analytics

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:

  1. Genera el árbol de ZooKeeper con el siguiente comando:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Busca la variable personalizada en el resultado del árbol de ZooKeeper.
  3. 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:
    1. En el nodo de Postgres, accede a PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Ejecuta la siguiente consulta en SQL:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. 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

  1. 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:

  1. Crear archivo /opt/apigee/customer/application/postgres-server.properties en la máquina del servidor de Postgres, si aún no existe.
  2. Agrega la siguiente línea a este archivo:
    conf_pg-agent_forceonboard=true
  3. Asegúrate de que este archivo sea propiedad de Apigee con el siguiente comando:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Reinicia el servidor de Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Si tienes más de un servidor de Postgres, repite los pasos anteriores en todos los Servidores de Postgres.
  6. Anula la implementación del proxy de API que usa StatisticsCollector y, luego, impleméntalo .
  7. Ejecuta las llamadas a la API.
  8. 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.