I dati non vengono visualizzati nelle dashboard di analisi

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Sintomo

Nelle dashboard di analisi (prestazioni proxy, prestazioni target e così via) non viene visualizzato alcun nell'interfaccia utente Edge. Tutte le dashboard mostrano il seguente messaggio:

No traffic in the selected date range

Messaggi di errore

Questo problema non provoca errori osservabili.

Possibili cause

Nella tabella seguente sono elencate le possibili cause di questo problema:

Causa Per
Nessun traffico API per l'ambiente dell'organizzazione Edge per utenti del cloud privato
Dati disponibili nel database Postgres, ma non visualizzati in UI Edge per utenti del cloud privato
I dati di Analytics non vengono inviati al database Postgres Edge per utenti del cloud privato
Implementazione errata di Analytics Edge per utenti del cloud privato
UUID server inattivi di Analytics Edge per utenti del cloud privato

Nessun traffico API per l'ambiente dell'organizzazione

Diagnosi

  1. Controlla se c'è traffico per i proxy API nell'ambiente organizzazione specifico per la durata specifica in cui stai provando a visualizzare i dati di analisi utilizzando uno dei seguenti metodo:
    1. Abilita la traccia per le API attualmente utilizzate dai tuoi utenti e verifica se riesci a ricevere richieste nella traccia.
    2. Visualizza i log di accesso NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log) e verifica se ce ne sono nuove voci per i proxy API per la durata specifica.
    3. Se registri le informazioni dai proxy API a un server di log come Syslog, Splunk, Loggly, e così via, puoi verificare se in questi server dei log sono presenti voci per proxy API per per la durata specifica.
  2. Se non c'è traffico (nessuna richiesta API) per la durata specifica, i dati di analisi vengono non disponibile. Viene visualizzato il messaggio "Nessun traffico nell'intervallo di date selezionato". nei dati di analisi Fitbit.com.

Risoluzione

  1. Effettua alcune chiamate a uno o più proxy API nell'ambiente dell'organizzazione specifico.
  2. Attendi qualche secondo, quindi visualizza le dashboard di analisi nella scheda Ora e verifica se vengono visualizzati i dati.
  3. Se il problema persiste, vai a Dati disponibili in Postgres Database, ma non visualizzato nella UI.

Dati disponibili nel database Postgres, ma non visualizzati nella UI

Sintomo

Innanzitutto, determina la disponibilità dei dati di Analytics più recenti nel database Postgres.

Per verificare se i dati di Analytics più recenti sono disponibili nel master Postgres nodo:

  1. Accedi a ciascuno dei server Postgres ed esegui questo comando per verificare che sul nodo Postgres master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. Nel nodo Postgres master, accedi a PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Controlla se la tabella esiste per il tuo org-env utilizzando la seguente query SQL in Postgres database:
    \d analytics."orgname.envname.fact"
    
  4. Controlla se sono disponibili i dati più recenti nel database Postgres utilizzando il seguente codice SQL query:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Se il timestamp più recente è molto vecchio (o nullo), significa che i dati non sono disponibili nel database Postgres. La causa più probabile di questo problema è che i dati sono non inviato dal server Qpid al database Postgres. Vai a I dati di Analytics non vengono inviati al database Postgres.
  6. Se nel database Postgres sul nodo master sono disponibili i dati più recenti, segui i passaggi seguenti per diagnosticare il motivo per cui i dati non vengono visualizzati nella UI Edge.

Diagnosi

  1. Attiva Developer Tools (Strumenti per sviluppatori). nel browser Chrome e ottenere l'API utilizzata da una delle dashboard di analisi con seguenti passaggi:
      .
    1. Seleziona la scheda Rete dagli Strumenti per sviluppatori.
    2. Avvia la registrazione.
    3. Ricarica la dashboard di Analytics.
    4. Nel riquadro di sinistra, in Strumenti per sviluppatori, seleziona la riga con "apiproxy?_optimized...".
    5. Nel riquadro a destra, in Strumenti per sviluppatori, seleziona "Intestazioni" e tieni presente che "URL di richiesta".
  2. Di seguito è riportato un esempio di output degli Strumenti per sviluppatori:

    Esempio di output che mostra l'API utilizzata nella dashboard delle prestazioni del proxy dalla scheda Rete della dashboard degli Strumenti per sviluppatori per le prestazioni del proxy

  3. Esegui direttamente la chiamata all'API di gestione e controlla se vengono visualizzati i risultati. Ecco un'API di esempio per la scheda Giorno nella dashboard sul rendimento del 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. Se vedi una risposta positiva, ma senza dati, significa che la Il server di gestione non è in grado di recuperare i dati dal server Postgres a causa della rete problemi di connettività.
  5. Verifica se riesci a connetterti al server Postgres dal server di gestione:
    telnet Postgres_server_IP_address 5432
    
  6. Se non riesci a connetterti al server Postgres, controlla se sono presenti firewall per la porta 5432.
  7. La causa potrebbe essere la causa di limitazioni del firewall, il server di gestione non è in grado di eseguire il pull dei dati dal server Postgres.

Risoluzione

  1. Se esistono restrizioni del firewall, rimuovile in modo che il server di gestione possa che comunicano con il server Postgres.
  2. Se non ci sono limitazioni del firewall, questo problema potrebbe essere dovuto a un glitch di rete.
  3. Se si è verificato un problema di rete sul server di gestione, il riavvio potrebbe risolvere il problema problema.
  4. Riavvia tutti i server di gestione uno alla volta utilizzando il comando seguente:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Controlla se riesci a visualizzare i dati di analisi nella UI Edge.

Se non vedi ancora i dati, contatta l'assistenza Apigee Edge.

Mancato push dei dati di Analytics al database Postgres

Diagnosi

Se i dati non vengono inviati dal server Qpid al database Postgres come stabilito in Dati disponibili nel database Postgres, ma non vengono mostrati nell'interfaccia utente, esegui segui questi passaggi:

  1. Controlla se ogni server Qpid è attivo e in esecuzione eseguendo questo comando:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Se un server Qpid è inattivo, riavvialo. In caso contrario, vai al passaggio 5.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Attendi un po' di tempo, quindi controlla di nuovo se nel database Postgres sono disponibili i dati più recenti.
    1. Accedi a PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. Esegui la query SQL seguente per verificare se sono disponibili i dati più recenti:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. Se sono disponibili i dati più recenti, salta i seguenti passaggi e vai all'ultimo passaggio della Risoluzione. Se i dati più recenti non sono disponibili, procedi con i seguenti passaggi: passaggi.
  5. Controlla se i messaggi delle code del server Qpid vengono inviati al database Postgres.
    1. Esegui qpid-stat -q command e controlla msgIn e Valori della colonna msgOut.
    2. Ecco un output di esempio che mostra che msgIn e msgOut non sono uguali. Ciò indica per sapere che non viene eseguito il push dei messaggi dal server Qpid al database Postgres.

  6. Se è presente una mancata corrispondenza nelle colonne msgIn e msgOut, controlla Qpid log del server /opt/apigee/var/log/edge-qpid-server/system.log e verifica se sono presenti a eventuali errori.
  7. Potresti visualizzare messaggi di errore del tipo "Probabilmente PG non è ancora attivo" o "IMPATTO: scusa, ci sono già troppi clienti" come mostrato nella figura seguente:
    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)
    

Questo può accadere se il server Postgres esegue troppe query SQL o se la CPU è in esecuzione e quindi non riesce a rispondere a Qpid Server.

Risoluzione

  1. Riavvia il server Postgres e PostgreSQL come mostrato di seguito:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. Questo riavvio assicura che tutte le query SQL precedenti vengano arrestate e dovrebbe consentire al database Postgres.
  3. Ricaricare le dashboard di Analytics e verificare se i dati di Analytics vengono visualizzati.

Se il problema persiste, contatta l'assistenza Apigee Edge.

Implementazione errata di Analytics

Diagnosi

  1. Per ottenere lo stato del deployment dell'analisi, utilizza la seguente chiamata API:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. Controlla lo stato dei server Qpid e Postgres dai risultati della chiamata API.
    1. Se lo stato dei server Qpid e Postgres è "SUCCESS", indica i server di analisi siano cablati correttamente. Passa a Inattivo UUID di Analytics Server.
    2. Se lo stato dei server Qpid/Postgres è mostrato come "UNKNOWN" o "ERRORE", indica un problema con il server corrispondente.

      Ad esempio, lo scenario seguente mostra lo stato dei server Postgres "UNKNOWN":

      Ciò può verificarsi in caso di errore durante l'onboarding delle analisi. Questo errore impedisce che i messaggi dei server di gestione raggiungano i server Postgres.

Risoluzione

In genere questo problema può essere risolto riavviando i server che mostravano il messaggio "ERRORE" o "UNKNOWN".

  1. Riavvia ciascuno dei server il cui stato del cablaggio dell'analisi era "ERRORE". o "UNKNOWN" utilizzando il seguente comando:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Ad esempio:
    1. Se il problema si verifica su Qpid Servers, riavvia i Qpid Servers:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Se il problema si verifica sui server Postgres, riavvia sia l'istanza master che quella slave Nodi del server Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. Nell'esempio precedente, il valore "UNKNOWN" per i server Postgres, quindi è necessario per riavviare i server Postgres master e slave:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

UUID server di analisi inattivi

Diagnosi

  1. Ottieni la configurazione di analisi utilizzando la seguente chiamata API:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Ecco un output di esempio dall'API precedente:

    [ {
      "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. Assicurati che le seguenti informazioni nell'output siano corrette:
    1. Nomi di ambiente org elencati negli "ambiti" .
    2. UUID dei server Postgres e dei server Qpid.
      • Per ottenere gli UUID del server Postgres, esegui questo comando su ciascuno Nodi del server Postgres:
        curl 0:8084/v1/servers/self/uuid
        
      • Recupera gli UUID del server Qpid eseguendo il comando seguente su ciascun comando Qpid nodi server:
        curl 0:8083/v1/servers/self/uuid
        
  3. Se tutte le informazioni sono corrette, passa alla sezione Dati di Analytics. non venga eseguito il push al database Postgres.
  4. Se gli UUID dei server Postgres e/o Qpid non sono corretti, è possibile che i server di gestione fanno riferimento a UUID inattivi.

Risoluzione

Per rimuovere gli UUID inattivi e aggiungere gli UUID corretti dei server, contatta l'assistenza di Apigee Edge.