Daten werden nicht in Analyse-Dashboards angezeigt

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Symptom

In den Analyse-Dashboards (Proxy-Leistung, Zielleistung usw.) werden keine in der Edge-Benutzeroberfläche. Alle Dashboards zeigen die folgende Meldung:

No traffic in the selected date range

Fehlermeldungen

Dieses Problem führt nicht zu erfassbaren Fehlern.

Mögliche Ursachen

In der folgenden Tabelle sind mögliche Ursachen für dieses Problem aufgeführt:

Ursache Für
Kein API-Traffic für die Organisationsumgebung Edge für Private Cloud-Nutzer
Daten sind in Postgres-Datenbank verfügbar, werden aber nicht angezeigt in Benutzeroberfläche Edge für Private Cloud-Nutzer
Analytics-Daten werden nicht an Postgres-Datenbank übertragen Edge für Private Cloud-Nutzer
Falsche Bereitstellung von Analysen Edge für Private Cloud-Nutzer
Veraltete UUIDs des Analytics-Servers Edge für Private Cloud-Nutzer

Kein API-Traffic für Organisationsumgebung

Diagnose

  1. Prüfen Sie, ob Traffic für die API-Proxys in der spezifischen Organisationsumgebung für die Dauer, für die Sie versuchen, die Analysedaten mit einer der folgenden Optionen anzusehen: Methoden: <ph type="x-smartling-placeholder">
      </ph>
    1. Aktivieren Sie das Trace für alle Ihre APIs, die derzeit von Ihren Nutzern verwendet werden und Prüfen Sie, ob Sie im Trace Anfragen erhalten können.
    2. NGINX-Zugriffslogs ansehen (/opt/apigee/var/log/edge-router/nginx/logs/access.log) und schau nach, ob es welche gibt neue Einträge für API-Proxys für die angegebene Dauer.
    3. Wenn Sie Informationen von API-Proxys auf einem Log-Server wie Syslog, Splunk, Loggly, können Sie prüfen, ob in diesen Protokollservern Einträge für API-Proxys für der spezifischen Dauer.
  2. Wenn für die angegebene Dauer kein Traffic (keine API-Anfragen) eingeht, werden die Analysedaten nicht verfügbar. Die Meldung „Keine Zugriffe im ausgewählten Zeitraum“ wird angezeigt. in der Analyse Dashboard.

Auflösung

  1. Führen Sie einige Aufrufe an einen oder mehrere API-Proxys in der spezifischen Organisationsumgebung aus.
  2. Warten Sie einige Sekunden und sehen Sie sich dann die Analyse-Dashboards auf der Registerkarte „Stunde“ an, um zu sehen, werden die Daten angezeigt.
  3. Wenn das Problem weiterhin besteht, fahren Sie mit In Postgres verfügbare Daten fort Datenbank, aber nicht in der UI angezeigt

Daten sind in Postgres-Datenbank verfügbar, werden aber nicht in der Benutzeroberfläche angezeigt

Symptom

Ermitteln Sie zuerst die Verfügbarkeit der neuesten Analytics-Daten in der Postgres-Datenbank.

Um zu prüfen, ob die neuesten Analytics-Daten im Postgres Master verfügbar sind Knoten:

  1. Melden Sie sich bei jedem der Postgres-Server an und führen Sie den folgenden Befehl aus, um zu prüfen, ob Sie auf dem Master-Postgres-Knoten:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. Melden Sie sich auf dem Master-Postgres-Knoten bei PostgreSQL an:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Prüfen Sie mithilfe der folgenden SQL-Abfrage in der Postgres, ob die Tabelle für Ihre Organisationsumgebung vorhanden ist. Datenbank:
    \d analytics."orgname.envname.fact"
    
  4. Prüfen Sie mit der folgenden SQL, ob die neuesten Daten in der Postgres-Datenbank verfügbar sind: Suchanfrage:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Wenn der letzte Zeitstempel sehr alt (oder null) ist, bedeutet dies, dass die Daten in der Postgres-Datenbank verfügbar. Die wahrscheinliche Ursache für dieses Problem wäre, dass die Daten nicht vom Qpid-Server an die Postgres-Datenbank übertragen wurde. Weiter mit Analytics Data werden nicht an Postgres-Datenbank übertragen.
  6. Wenn die neuesten Daten in der Postgres-Datenbank auf dem Master-Knoten verfügbar sind, folgen Sie die folgenden Schritte, um zu diagnostizieren, warum die Daten nicht in der Edge-Benutzeroberfläche angezeigt werden.

Diagnose

  1. Entwicklertools aktivieren in Ihrem Chrome-Browser und nutzen Sie die API aus einem der Analyse-Dashboards mithilfe der unten: <ph type="x-smartling-placeholder">
      </ph>
    1. Wählen Sie in den Entwicklertools den Tab „Network“ (Netzwerk) aus.
    2. Aufnahme starten.
    3. Aktualisieren Sie das Analytics-Dashboard.
    4. Wählen Sie im linken Bereich der Entwicklertools die Zeile "apiproxy?_Optimized...".
    5. Wählen Sie im rechten Bereich in den Entwicklertools den Abschnitt „Headers“ (Headers) aus. und notieren Sie sich die „Request URL“ an.
  2. Hier sehen Sie eine Beispielausgabe der Entwicklertools:

    Beispielausgabe mit der API, die im Proxy-Leistungsdashboard auf dem Tab „Network“ verwendet wird der Entwicklertools für das Proxy-Leistungs-Dashboard

  3. Führen Sie den Verwaltungs-API-Aufruf direkt aus und prüfen Sie, ob Sie die Ergebnisse erhalten. Hier ist eine Beispiel-API Aufruf für den Tab Tag im Proxy-Leistungs-Dashboard:
    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. Wenn Sie eine erfolgreiche Antwort sehen, aber keine Daten, bedeutet dies, dass der Der Verwaltungsserver kann die Daten aufgrund des Netzwerks nicht vom Postgres-Server abrufen Verbindungsprobleme.
  5. Prüfen Sie, ob Sie vom Management Server aus eine Verbindung zum Postgres-Server herstellen können:
    telnet Postgres_server_IP_address 5432
    
  6. Wenn Sie keine Verbindung zum Postgres-Server herstellen können, prüfen Sie, ob eine Firewall vorhanden ist. Einschränkungen für Port 5432.
  7. Wenn Firewall-Einschränkungen bestehen, könnte dies die Ursache für den Verwaltungsserver sein Daten nicht vom Postgres-Server abrufen können.

Auflösung

  1. Wenn Firewall-Einschränkungen vorhanden sind, entfernen Sie diese, damit der Verwaltungsserver mit dem Postgres-Server kommunizieren.
  2. Wenn keine Firewall-Einschränkungen festgelegt sind, könnte dieses Problem auf eine Netzwerkstörung zurückzuführen sein.
  3. Wenn auf dem Verwaltungsserver ein Netzwerkfehler aufgetreten ist, kann ein Neustart das Problem möglicherweise beheben. Problem.
  4. Starten Sie alle Verwaltungsserver mit dem folgenden Befehl einzeln neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Prüfen Sie, ob Sie die Analysedaten in der Edge-Benutzeroberfläche sehen können.

Wenn Sie die Daten immer noch nicht sehen, wenden Sie sich an den Apigee Edge-Support.

Analytics-Daten werden nicht an Postgres-Datenbank übertragen

Diagnose

Wenn die Daten nicht vom Qpid-Server an die Postgres-Datenbank übertragen werden, wie in Daten verfügbar in Postgres-Datenbank, aber nicht in der Benutzeroberfläche angezeigt festgelegt, führen Sie führen Sie die folgenden Schritte aus:

  1. Prüfen Sie mit dem folgenden Befehl, ob jeder der Qpid-Server aktiv ist und ausgeführt wird:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Wenn ein Qpid-Server ausgefallen ist, starten Sie ihn neu. Wenn nicht, fahren Sie mit Schritt 5 fort.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Warten Sie einige Zeit und prüfen Sie dann noch einmal, ob in der Postgres-Datenbank die neuesten Daten verfügbar sind.
    1. Melden Sie sich bei PostgreSQL an:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. Führen Sie die folgende SQL-Abfrage aus, um zu prüfen, ob die neuesten Daten verfügbar sind:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. Wenn die neuesten Daten verfügbar sind, überspringen Sie die folgenden Schritte und fahren Sie mit dem letzten Schritt in Abschnitt „Lösung“. Wenn keine aktuellen Daten verfügbar sind, fahren Sie folgendermaßen fort: Schritte.
  5. Überprüfen Sie, ob die Nachrichten aus den Qpid-Serverwarteschlangen in die Postgres-Datenbank übertragen werden.
    1. Führen Sie den qpid-stat -q command aus und prüfen Sie msgIn und msgOut-Spaltenwerte.
    2. Hier sehen Sie eine Beispielausgabe, in der angezeigt wird, dass msgIn und msgOut ungleich sind. Das bedeutet, dass Nachrichten nicht vom Qpid-Server an die Postgres-Datenbank übertragen werden.

  6. Prüfen Sie bei einer Diskrepanz in den Spalten msgIn und msgOut die QPID. Server protokolliert /opt/apigee/var/log/edge-qpid-server/system.log und prüft, ob es Fehler.
  7. Möglicherweise werden Fehlermeldungen wie "Wahrscheinlich ist PG ist immer noch nicht verfügbar" oder Schwerwiegend: Es sind bereits zu viele Clients vorhanden, wie in der folgenden Abbildung dargestellt:
    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)
    

Dies kann passieren, wenn der Postgres-Server zu viele SQL-Abfragen ausführt oder die CPU hoch und kann daher nicht auf den Qpid-Server antworten.

Auflösung

  1. Starten Sie den Postgres-Server und PostgreSQL wie unten gezeigt neu:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. Durch diesen Neustart wird sichergestellt, dass alle vorherigen SQL-Abfragen gestoppt werden und neue zulassen sollten. mit der Postgres-Datenbank.
  3. Aktualisieren Sie die Analytics-Dashboards und prüfen Sie, ob die Analytics-Daten angezeigt werden.

Wenn das Problem weiterhin besteht, wenden Sie sich an den Apigee Edge-Support.

Falsche Bereitstellung von Analytics

Diagnose

  1. Rufen Sie mit dem folgenden API-Aufruf den Status der Analysebereitstellung ab:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. Überprüfen Sie den Status der Qpid- und Postgres-Server anhand der Ergebnisse des API-Aufrufs.
    1. Wenn der Status der Server von Qpid und Postgres als "SUCCESS" angezeigt wird, bedeutet dies Folgendes: dass die Analyseserver ordnungsgemäß verkabelt sind. Weiter mit Veraltet Analytics Server-UUIDs.
    2. Wenn der Status der Server von Qpid/Postgres als "UNBEKANNT" angezeigt wird oder „FEHLGESCHLAGEN“ angezeigt wird, zeigt ein Problem mit dem entsprechenden Server an.

      Das folgende Szenario zeigt beispielsweise den Status der Postgres-Server als "UNBEKANNT":

      Dies kann passieren, wenn beim Onboarding von Analysen ein Fehler auftritt. Dieser Fehler verhindert, dass Nachrichten von Managementservern die Postgres-Server erreichen.

Auflösung

Dieses Problem lässt sich in der Regel beheben, indem Sie die Server neu starten, bei denen die Meldung „FEHLER“ angezeigt wurde. oder „UNKNOWN“.

  1. Alle Server neu starten, deren Analytics-Verkabelungsstatus „FEHLER“ angezeigt wurde oder "UNKNOWN" mit dem folgenden Befehl:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Hier einige Beispiele: <ph type="x-smartling-placeholder">
      </ph>
    1. Wenn das Problem auf den Qpid-Servern auftritt, starten Sie die Qpid-Server neu:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Wenn das Problem auf Postgres-Servern auftritt, starten Sie sowohl den Master als auch den Slave neu. Postgres-Serverknoten:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. Im obigen Beispiel ist die "UNKNOWN" wird für die Postgres-Server angezeigt. Sie müssen also um sowohl den Master- als auch den Slave-Postgres-Server neu zu starten:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

Veraltete UUIDs des Analytics Servers

Diagnose

  1. Rufen Sie die Analysekonfiguration mit dem folgenden API-Aufruf ab:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Hier sehen Sie eine Beispielausgabe der obigen API:

    [ {
      "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. Achten Sie darauf, dass die folgenden Informationen in der Ausgabe korrekt sind: <ph type="x-smartling-placeholder">
      </ph>
    1. org-env-Namen, die in den Bereichen -Elements.
    2. UUIDs der Postgres-Server und Qpid-Server.
      • Rufen Sie die UUIDs des Postgres-Servers ab, indem Sie den folgenden Befehl für jede der Postgres-Serverknoten:
        curl 0:8084/v1/servers/self/uuid
        
      • Rufen Sie die UUIDs des Qpid-Servers ab, indem Sie den folgenden Befehl für jede Qpid-Datei ausführen Serverknoten:
        curl 0:8083/v1/servers/self/uuid
        
  3. Wenn alle Informationen korrekt sind, fahren Sie mit den Analytics-Daten fort. nicht an die Postgres-Datenbank gesendet wird.
  4. Wenn die UUIDs der Postgres- und/oder Qpid-Server falsch sind, ist es möglich, dass dass die Verwaltungsserver auf veraltete UUIDs verweisen.

Auflösung

Wenn Sie die veralteten UUIDs entfernen und die richtigen UUIDs der Server hinzufügen möchten, wenden Sie sich an den Apigee Edge-Support.