Les données n'apparaissent pas dans les tableaux de bord d'analyse

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Symptôme

Les tableaux de bord d'analyse (Performances du proxy, Performances cibles, etc.) n'en montrent aucun dans l'interface utilisateur Edge. Tous les tableaux de bord affichent le message suivant:

No traffic in the selected date range

Messages d'erreur

Ce problème n'entraîne pas d'erreurs observables.

Causes possibles

Le tableau suivant répertorie les causes possibles de ce problème:

Cause Pour
Aucun trafic d'API pour l'environnement de l'organisation Edge pour les utilisateurs de cloud privé
Données disponibles dans la base de données Postgres, mais non affichées dans UI Edge pour les utilisateurs de cloud privé
Les données Analytics ne sont pas transférées vers la base de données Postgres Edge pour les utilisateurs de cloud privé
Déploiement Analytics incorrect Edge pour les utilisateurs de cloud privé
UUID du serveur Analytics non actualisés Edge pour les utilisateurs de cloud privé

Aucun trafic d'API pour l'environnement de l'organisation

Diagnostic

  1. Vérifier s'il existe du trafic pour les proxys d'API sur l'environnement d'organisation spécifique pour la durée spécifique pendant laquelle vous essayez de visualiser les données d'analyse à l'aide de l'un des méthodes: <ph type="x-smartling-placeholder">
      </ph>
    1. Activez la trace pour toutes les API actuellement utilisées par vos utilisateurs. vérifiez si vous pouvez obtenir des requêtes dans la trace.
    2. Afficher les journaux d'accès NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log) et voyez s'il y en a de nouvelles entrées pour les proxys d'API pour une durée spécifique.
    3. Si vous consignez des informations des proxys d'API dans un serveur de journalisation tel que Syslog, Splunk, Loggly, etc., vous pouvez vérifier s'il y a des entrées dans ces serveurs de journalisation pour les proxys d'API pour la durée spécifique.
  2. S'il n'y a pas de trafic (aucune requête API) pendant la durée spécifique, alors les données d'analyse sont non disponible. Le message "Aucun trafic au cours de la période sélectionnée" s'affiche. dans les données analytiques tableau de bord.

Solution

  1. Effectuez des appels vers un ou plusieurs proxys d'API dans l'environnement d'organisation spécifique.
  2. Patientez quelques secondes, puis consultez les tableaux de bord des analyses dans l'onglet Heure et voyez si les données s'affichent.
  3. Si le problème persiste, passez à la section Données disponibles dans Postgres Base de données, mais ne s'affiche pas dans l'UI.

Données disponibles dans la base de données Postgres, mais non affichées dans l'interface utilisateur

Symptôme

Tout d'abord, déterminez la disponibilité des dernières données Analytics dans la base de données Postgres.

Vérifier si les dernières données Analytics sont disponibles dans le maître Postgres nœud:

  1. Connectez-vous à chacun des serveurs Postgres et exécutez la commande suivante pour vérifier sur le nœud Postgres maître:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. Sur le nœud Postgres maître, connectez-vous à PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Vérifiez si la table existe pour votre organisation "org-env" à l'aide de la requête SQL suivante dans le base de données:
    \d analytics."orgname.envname.fact"
    
  4. Vérifiez si les dernières données sont disponibles dans la base de données Postgres à l'aide du code SQL suivant : requête:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Si le dernier code temporel est très ancien (ou nul), cela indique que les données ne sont pas dans la base de données Postgres. Ce problème est probablement dû au fait que les données n'ont pas été transférées du serveur Qpid vers la base de données Postgres. Passez à la section Les données Analytics ne sont pas transférées vers la base de données Postgres.
  6. Si les données les plus récentes sont disponibles dans la base de données Postgres sur le nœud maître, suivez les étapes ci-dessous pour diagnostiquer pourquoi les données ne s'affichent pas dans l'interface utilisateur Edge.

Diagnostic

  1. Activez les outils pour les développeurs. dans votre navigateur Chrome et utilisez l'un des tableaux de bord d'analyse à l'aide de la procédez comme suit: <ph type="x-smartling-placeholder">
      </ph>
    1. Sélectionnez l'onglet "Réseau" dans les Outils pour les développeurs.
    2. Démarrez l'enregistrement.
    3. Actualisez le tableau de bord Analytics.
    4. Dans le panneau de gauche des outils pour les développeurs, sélectionnez la ligne "apiproxy?_optimized...".
    5. Dans le panneau de droite des outils pour les développeurs, sélectionnez "Headers" (En-têtes). et notez que "URL de la demande".
  2. Voici un exemple de sortie des outils pour les développeurs:

    Exemple de résultat illustrant l'API utilisée dans le tableau de bord Proxy Performance à partir de l'onglet "Network" du tableau de bord "Developer Tools for Proxy Performance"

  3. Exécutez directement l'appel d'API de gestion et vérifiez si vous obtenez les résultats. Voici un exemple d'API pour l'onglet "Jour" dans le tableau de bord "Proxy Performance" :
    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 vous obtenez une réponse positive, mais sans aucune donnée, cela signifie que le Le serveur de gestion n'est pas en mesure d'extraire les données du serveur Postgres pour des raisons de réseau les problèmes de connectivité.
  5. Vérifiez que vous êtes en mesure de vous connecter au serveur Postgres à partir du serveur de gestion:
    telnet Postgres_server_IP_address 5432
    
  6. Si vous ne parvenez pas à vous connecter au serveur Postgres, vérifiez la présence éventuelle d'un pare-feu sur le port 5432.
  7. Si des restrictions de pare-feu existent, cela pourrait être la cause du serveur de gestion l'impossibilité d'extraire les données du serveur Postgres.

Solution

  1. S'il existe des restrictions de pare-feu, supprimez-les afin que le serveur de gestion puisse communiquer avec le serveur Postgres.
  2. Si aucune restriction du pare-feu n'est appliquée, le problème peut être dû à un problème réseau.
  3. En cas de problème réseau sur le serveur de gestion, le redémarrage de celui-ci peut résoudre le problème problème.
  4. Redémarrez tous les serveurs de gestion un par un à l'aide de la commande suivante:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Vérifiez si vous pouvez afficher les données d'analyse dans l'interface utilisateur Edge.

Si vous ne voyez toujours pas les données, contactez l'assistance Apigee Edge.

Les données d'analyse ne sont pas transférées vers la base de données Postgres

Diagnostic

Si les données ne sont pas transférées de Qpid Server vers la base de données Postgres comme indiqué dans la section Données disponibles dans la base de données Postgres, mais pas affichées dans l'interface utilisateur, exécutez la commande suivante : procédez comme suit:

  1. Vérifiez que chacun des serveurs Qpid est opérationnel en exécutant la commande suivante:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Si un serveur Qpid est en panne, redémarrez-le. Sinon, passez à l'étape 5.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Attendez un peu, puis revérifiez si les données les plus récentes sont disponibles dans la base de données Postgres.
    1. Connectez-vous à PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. Exécutez la requête SQL ci-dessous pour vérifier si les données les plus récentes sont disponibles:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. Si les données les plus récentes sont disponibles, ignorez les étapes suivantes et passez à la dernière étape de Résolution. Si les données les plus récentes ne sont pas disponibles, procédez comme suit : étapes.
  5. Vérifiez si les messages des files d'attente du serveur Qpid sont transférés vers la base de données Postgres.
    1. Exécutez qpid-stat -q command et vérifiez les paramètres msgIn et msgOut.
    2. Voici un exemple de résultat qui montre que msgIn et msgOut ne sont pas égaux. Cela indique que les messages ne sont pas transmis de Qpid Server à la base de données Postgres.

  6. Si les colonnes msgIn et msgOut ne correspondent pas, vérifiez le Qpid Le serveur enregistre /opt/apigee/var/log/edge-qpid-server/system.log et vérifie s'il y a en cas d'erreur.
  7. Il se peut que vous voyiez des messages d'erreur tels que "Le PG est probablement toujours en panne" ou "FATAL: désolé, il y a déjà trop de clients", comme illustré ci-dessous:
    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)
    

Cela peut se produire si le serveur Postgres exécute trop de requêtes SQL ou si le processeur est en cours d'exécution et donc incapable de répondre au serveur Qpid.

Solution

  1. Redémarrez le serveur Postgres et PostgreSQL comme indiqué ci-dessous:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. Ce redémarrage garantit que toutes les requêtes SQL précédentes sont arrêtées et qu'elles doivent permettre à la base de données Postgres.
  3. Actualisez les tableaux de bord Analytics et vérifiez si les données Analytics s'affichent.

Si le problème persiste, contactez l'assistance Apigee Edge.

Déploiement Analytics incorrect

Diagnostic

  1. Obtenez l'état du déploiement d'analyse à l'aide de l'appel d'API suivant:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. Vérifiez l'état des serveurs Qpid et Postgres à partir des résultats de l'appel d'API.
    1. Si l'état des serveurs Qpid et Postgres est "SUCCÈS", cela indique les serveurs d'analyse sont câblés correctement. Passer à l'état Non actualisé UUID du serveur Analytics.
    2. Si l'état des serveurs Qpid/Postgres est défini sur "UNKNOWN" ou « ÉCHEC », alors il indique un problème avec le serveur correspondant.

      Par exemple, le scénario suivant montre l'état des serveurs Postgres par "UNKNOWN" :

      Cela peut se produire en cas d'échec de l'intégration d'Analytics. Cet échec empêche les messages des serveurs de gestion d'atteindre les serveurs Postgres.

Solution

Ce problème peut généralement être résolu en redémarrant les serveurs qui affichent le message "ÉCHEC". ou "UNKNOWN".

  1. Redémarrez chacun des serveurs dont l'état du câblage des données analytiques indique "ÉCHEC". ou "UNKNOWN" en exécutant la commande suivante:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Par exemple: <ph type="x-smartling-placeholder">
      </ph>
    1. Si vous rencontrez le problème sur les serveurs Qpid, redémarrez-les:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Si vous rencontrez le problème sur les serveurs Postgres, redémarrez le maître et l'esclave. Nœuds de serveur Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. Dans l'exemple ci-dessus, la mention "UNKNOWN" s'affiche pour les serveurs Postgres. Vous devez donc pour redémarrer les serveurs Postgres maître et esclave:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

UUID du serveur Analytics obsolète

Diagnostic

  1. Obtenez la configuration d'analyse à l'aide de l'appel d'API suivant:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Voici un exemple de résultat de l'API ci-dessus:

    [ {
      "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. Assurez-vous que les informations suivantes sont correctes: <ph type="x-smartling-placeholder">
      </ph>
    1. les noms org-env répertoriés dans les "champs d'application" ; .
    2. UUID des serveurs Postgres et Qpid.
      • Récupérez les UUID du serveur Postgres en exécutant la commande suivante sur chacune des Nœuds de serveur Postgres:
        curl 0:8084/v1/servers/self/uuid
        
      • Obtenez les UUID du serveur Qpid en exécutant la commande suivante sur chacun des identifiants Qpid nœuds de serveur:
        curl 0:8083/v1/servers/self/uuid
        
  3. Si toutes les informations sont correctes, passez à la section Données Analytics ne sont pas transférées vers la base de données Postgres.
  4. Si les UUID des serveurs Postgres et/ou Qpid sont incorrects, il est possible que les serveurs de gestion font référence à des UUID obsolètes.

Solution

Pour supprimer les UUID obsolètes et ajouter les bons UUID des serveurs, contactez l'assistance Apigee Edge.