Los datos no aparecen en los paneles de estadísticas

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

Síntoma

Los paneles de estadísticas (Proxy Performance, Target Performance, etc.) no muestran nada datos en la IU de Edge. Todos los paneles muestran el siguiente mensaje:

No traffic in the selected date range

Mensajes de error

Este problema no genera errores observables.

Causas posibles

En la siguiente tabla, se enumeran las posibles causas de este problema:

Causa Para
Sin tráfico de API para el entorno de la organización Edge para usuarios de la nube privada
Datos disponibles en la base de datos de Postgres, pero que no se muestran en IU Edge para usuarios de la nube privada
No se envían los datos de Analytics a la base de datos de Postgres Edge para usuarios de la nube privada
Implementación incorrecta de Analytics Edge para usuarios de la nube privada
UUIDs de servidor de estadísticas inactivos Edge para usuarios de la nube privada

Sin tráfico de API para el entorno de la organización

Diagnóstico

  1. Comprueba si hay tráfico para los proxies de API en el entorno de organización específico la duración específica en la que intentas ver los datos de estadísticas mediante una de las siguientes opciones: métodos:
    1. Habilita el seguimiento para cualquiera de las APIs que usan los usuarios en ese momento y Verifica si puedes obtener solicitudes en el seguimiento.
    2. Visualiza los registros de acceso de NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log) y fíjate si hay alguna nuevas entradas para proxies de API durante la duración específica.
    3. Si registras información desde los proxies de API a un servidor de registros como Syslog, Splunk, Loggly, puedes comprobar si hay entradas en estos servidores de registros de proxies de API para la duración específica.
  2. Si no hay tráfico (no hay solicitudes a la API) durante el tiempo específico, los datos de Analytics se no disponible. Verás el mensaje "No hay tráfico en el período seleccionado". en las estadísticas o un panel dinámico más robusto.

Solución

  1. Realiza algunas llamadas a uno o más proxies de API en el entorno de organización específico.
  2. Espera unos segundos y luego consulta los paneles de estadísticas en la pestaña Hora y comprueba si para que aparezcan los datos.
  3. Si el problema persiste, ve a Datos disponibles en Postgres Base de datos, pero no se muestra en la IU.

Datos disponibles en la base de datos de Postgres, pero no se muestran en la IU

Síntoma

Primero, determina la disponibilidad de los datos de Analytics más recientes en la base de datos de Postgres.

Para verificar si los datos de Analytics más recientes están disponibles en el programa Postgres Master, nodo:

  1. Accede a cada uno de los servidores de Postgres y ejecuta el siguiente comando para validar si en el nodo de la instancia principal de Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. En el nodo de la instancia principal de Postgres, accede a PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Comprueba si la tabla existe para tu org-env usando la siguiente consulta en SQL en Postgres base de datos:
    \d analytics."orgname.envname.fact"
    
  4. Verifica si los datos más recientes están disponibles en la base de datos de Postgres con el siguiente SQL consulta:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Si la marca de tiempo más reciente es muy antigua (o nula), esto indica que los datos no disponibles en la base de datos de Postgres. La causa probable de este problema sea que los datos están no se envía desde el servidor Qpid a la base de datos de Postgres. Continúa con Los datos de Analytics no se envían a la base de datos de Postgres.
  6. Si los datos más recientes están disponibles en la base de datos de Postgres en el nodo principal, sigue los siguientes pasos para diagnosticar por qué los datos no se muestran en la IU de Edge.

Diagnóstico

  1. Habilita las herramientas para desarrolladores. en el navegador Chrome y obtener la API desde uno de los paneles de análisis con el a continuación:
    1. Selecciona la pestaña Red de las Herramientas para desarrolladores.
    2. Iniciar grabación
    3. Vuelve a cargar el panel de Analytics.
    4. En el panel de la izquierda en las Herramientas para desarrolladores, selecciona la fila que contiene “apiproxy?_optimized...”.
    5. En el panel de la derecha en las Herramientas para desarrolladores, selecciona la sección "Encabezados". y observa el “Solicitar URL”.
  2. A continuación, se muestra un resultado de muestra de las Herramientas para desarrolladores:

    Resultado de ejemplo en el que se muestra la API que se usa en el panel de rendimiento del proxy en la pestaña Red de Herramientas para desarrolladores para el panel de rendimiento de proxies

  3. Ejecuta la llamada a la API de Management directamente y verifica si obtienes los resultados. Esta es una API de muestra llamada para la pestaña Día en el panel de rendimiento de proxy:
    curl -u username:password
      "http://management_server_IP_address:8080/v1/organizations/
      org_name/environments/env_name/stats/apiproxy?limit=14400&
      select=sum(message_count),sum(is_error),avg(total_response_time),
      avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error),
      avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+
      18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
    
  4. Si ves una respuesta exitosa pero sin ningún dato, significa que el Management Server no puede recuperar los datos del servidor de Postgres debido al problema problemas de conectividad.
  5. Verifica si puedes conectarte al servidor de Postgres desde el servidor de administración:
    telnet Postgres_server_IP_address 5432
    
  6. Si no puedes conectarte al servidor de Postgres, comprueba si hay firewall restricciones en el puerto 5432.
  7. Si hay restricciones de firewall, esa podría ser la causa del servidor de administración. no poder extraer los datos del servidor de Postgres.

Solución

  1. Si hay restricciones de firewall, quítalas para que el servidor de administración pueda comunicarse con el servidor de Postgres.
  2. Si no hay restricciones de firewall, este problema podría deberse a una falla de la red.
  3. Si hubo una falla de red en el servidor de administración, reiniciarlo podría solucionar el problema. problema.
  4. Reinicia todos los servidores de administración uno por uno con el siguiente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Verifica si puedes ver los datos de estadísticas en la IU de Edge.

Si aún no ves los datos, comunícate con el equipo de asistencia de Apigee Edge.

Los datos de estadísticas no se envían a la base de datos de Postgres

Diagnóstico

Si los datos no se envían del servidor Qpid a la base de datos de Postgres como se determina en Datos disponibles en la base de datos de Postgres, pero no se muestran en la IU, realiza sigue estos pasos:

  1. Para comprobar si cada servidor Qpid está funcionando, ejecuta el siguiente comando:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Si algún servidor Qpid no funciona, reinícialo. De lo contrario, avanza al paso 5.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Espera un tiempo y vuelve a verificar si los datos más recientes están disponibles en la base de datos de Postgres.
    1. Accede a PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. Ejecuta la siguiente consulta en SQL para verificar si los datos más recientes están disponibles:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. Si los datos más recientes están disponibles, omite los siguientes pasos y continúa con el último paso de Resolución. Si los datos más recientes no están disponibles, continúa con lo siguiente: pasos.
  5. Verifica si los mensajes de las colas del servidor Qpid se envían a la base de datos de Postgres.
    1. Ejecuta qpid-stat -q command, marca msgIn y msgOut.
    2. Este es un resultado de muestra que indica que msgIn y msgOut no son iguales. Esto indica que los mensajes no se envían del servidor Qpid a la base de datos de Postgres.

  6. Si las columnas msgIn y msgOut no coinciden, verifica el Qpid. El servidor registra /opt/apigee/var/log/edge-qpid-server/system.log y comprueba si hay errores.
  7. Es posible que veas mensajes de error como "Probablemente la PG todavía no está disponible" o . “FATAL: Lamentablemente, ya hay demasiados clientes”, como se muestra en la siguiente figura:
    2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be
      retriable - . Error observed while trying to connect to
      jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when
      execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d
      Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d]
    2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection;
      nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already
    2017-07-28 09:56:53,617 pool-7-thread-1
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be
      retriable - . Error observed while trying to connect to
      jdbc:postgresql://PG_IP_address:5432/apigee
      Initial referenced UUID when execution started in this thread was
      a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used -
      [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d]
    2017-07-28 09:56:53,617 pool-7-thread-1
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection;
      nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create
      PoolableConnectionFactory (FATAL: sorry, too many clients already)
    

Esto podría suceder si el servidor de Postgres ejecuta demasiadas consultas en SQL o si la CPU se ejecuta alta y, por lo tanto, no puede responder al servidor Qpid.

Solución

  1. Reinicia el servidor de Postgres y PostgreSQL como se muestra a continuación:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. Este reinicio garantiza que todas las consultas en SQL anteriores se detengan y debería permitir nuevas conexiones a la base de datos de Postgres.
  3. Vuelve a cargar los paneles de Analytics y verifica si se muestran los datos de Analytics.

Si el problema persiste, comunícate con el equipo de asistencia de Apigee Edge.

Implementación incorrecta de Analytics

Diagnóstico

  1. Obtén el estado de implementación de estadísticas mediante la siguiente llamada a la API:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. Verificar el estado de los servidores Qpid y Postgres de los resultados de la llamada a la API
    1. Si el estado de los servidores Qpid y Postgres se muestra como "SUCCESS", significa que que los servidores de análisis estén conectados correctamente. Continúa con Inactivo UUID del servidor de Analytics.
    2. Si el estado de los servidores Qpid/Postgres se muestra como "UNKNOWN" o "FAILURE", entonces indica un problema con el servidor correspondiente.

      Por ejemplo, la siguiente situación muestra el estado de los servidores de Postgres como “DESCONOCIDO”:

      Esto puede ocurrir si hay una falla durante la integración de las estadísticas. Este error impide que los mensajes de Management Servers lleguen a los servidores de Postgres.

Solución

Por lo general, este problema se puede resolver reiniciando los servidores que mostraron el error "FAILURE" o “DESCONOCIDO”.

  1. Reinicia cada uno de los servidores cuyo estado de cableado de análisis indique “FAILURE” o "UNKNOWN" con el siguiente comando:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Por ejemplo:
    1. Si observas el problema en los servidores Qpid, reinícialo:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Si ves el problema en los servidores de Postgres, reinicia la instancia principal y la secundaria. Nodos del servidor de Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. En el ejemplo anterior, el error "UNKNOWN" para los servidores de Postgres, por lo que para reiniciar los servidores de Postgres principal y secundario:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

UUIDs de servidor de estadísticas inactivos

Diagnóstico

  1. Obtén la configuración de estadísticas con la siguiente llamada a la API:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Este es un resultado de muestra de la API anterior:

    [ {
      "name" : "axgroup001",
      "properties" : {
        "consumer-type" : "ax"
      },
      "scopes" : [ "myorg~prod", "myorg~test" ],
      "uuids" : {
        "aries-datastore" : [ ],
        "postgres-server" : [ "6777...2db14" ],
        "dw-server" : [ ],
        "qpid-server" : [ "774e...fb23", "29f3...8c11" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "774e...8c11" ],
        "datastores" : [ "6777...db14" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    } ]
    
  2. Asegúrate de que la siguiente información en el resultado sea correcta:
    1. los nombres de org-env que se enumeran en los “alcances” .
    2. Los UUID de los servidores de Postgres y los servidores Qpid
      • Obtén los UUID del servidor de Postgres ejecutando el siguiente comando en cada uno de los Nodos del servidor de Postgres:
        curl 0:8084/v1/servers/self/uuid
        
      • Ejecuta el siguiente comando en cada uno de los UUID del servidor Qpid para obtener los UUID. en los nodos del servidor:
        curl 0:8083/v1/servers/self/uuid
        
  3. Si toda la información es correcta, ve a Datos de Analytics. que no se envíen a la base de datos de Postgres.
  4. Si los UUID de los servidores Postgres o Qpid son incorrectos, es posible que los servidores de administración se refieren a los UUID inactivos.

Solución

Para quitar los UUID inactivos y agregar los UUID correctos de los servidores, comunícate con el equipo de asistencia de Apigee Edge.