Dane nie wyświetlają się w panelach statystyk

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Krótki opis problemu

Na panelach statystyk (Wydajność proxy, Docelowa skuteczność itp.) nie wyświetlają się żadne w interfejsie Edge. We wszystkich panelach będzie widoczny następujący komunikat:

No traffic in the selected date range

Komunikaty o błędach

Ten problem nie powoduje występowania błędów możliwych do zaobserwowania.

Możliwe przyczyny

W tabeli poniżej znajdziesz możliwe przyczyny tego problemu:

Przyczyna Dla:
Brak ruchu przez interfejsy API w środowisku organizacji Edge dla użytkowników Private Cloud
Dane są dostępne w bazie danych Postgres, ale nie są wyświetlane w Interfejs Edge dla użytkowników Private Cloud
Dane Analytics nie są przekazywane do bazy danych Postgres Edge dla użytkowników Private Cloud
Nieprawidłowe wdrożenie Analytics Edge dla użytkowników Private Cloud
Identyfikatory UUID Staale Analytics Server Edge dla użytkowników Private Cloud

Brak ruchu przez interfejsy API w środowisku organizacji

Diagnostyka

  1. Sprawdź, czy w danym środowisku organizacji występuje ruch związany z serwerami proxy interfejsów API konkretnego okresu, przez który próbujesz wyświetlić dane analityczne za pomocą jednej z tych metod: metody:
    1. Włącz śledzenie dla wszystkich interfejsów API, które są obecnie używane przez użytkowników i sprawdź, czy w danych śledzenia możesz otrzymywać jakieś żądania.
    2. Wyświetl logi dostępu NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log) i sprawdź, czy są jakieś nowe wpisy dla serwerów proxy API dla określonego czasu trwania.
    3. Jeśli rejestrujesz informacje z serwerów proxy interfejsów API na serwerze logów, takim jak Syslog, Splunk, Loggly, itp., możesz sprawdzić, czy te serwery logów zawierają wpisy dla serwerów proxy API dla przez konkretny czas trwania.
  2. Jeśli w danym okresie nie ma ruchu (brak żądań do interfejsu API), dane analityczne są niedostępna. Zobaczysz komunikat „Brak ruchu w wybranym zakresie dat”. w statystykach panelu.

Rozdzielczość

  1. Wykonywać wywołania co najmniej 1 serwera proxy interfejsu API w określonym środowisku organizacji.
  2. Poczekaj kilka sekund, a potem wyświetl panele statystyk na karcie Godzina i sprawdź, czy danych.
  3. Jeśli problem będzie się powtarzać, przejdź do sekcji Dane dostępne w Postgres Baza danych, ale nie wyświetla się w UI.

Dane są dostępne w bazie danych Postgres, ale nie wyświetlają się w UI

Krótki opis problemu

Najpierw sprawdź dostępność najnowszych danych Analytics w bazie danych Postgres.

Aby sprawdzić, czy w Postgres Master dostępne są najnowsze dane Analytics węzeł:

  1. Zaloguj się na każdy z serwerów Postgres i uruchom następujące polecenie, aby sprawdzić, czy w głównym węźle Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. W głównym węźle Postgres zaloguj się do PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Sprawdź, czy tabela istnieje dla Twojego środowiska organizacji, przy użyciu następującego zapytania SQL w Postgres baza danych:
    \d analytics."orgname.envname.fact"
    
  4. Sprawdź, czy najnowsze dane są dostępne w bazie danych Postgres przy użyciu tego kodu SQL zapytanie:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Jeśli najnowsza sygnatura czasowa jest bardzo stara (lub ma wartość null), oznacza to, że dane nie są dostępne w bazie danych Postgres. Prawdopodobną przyczyną tego problemu będzie to, że dane nie została przekazana z serwera Qpid do bazy danych Postgres. Przejdź do sekcji Dane Analytics nie są przekazywane do bazy danych Postgres.
  6. Jeśli najnowsze dane są dostępne w bazie danych Postgres w węźle głównym, wykonaj wykonaj poniższe czynności, aby dowiedzieć się, dlaczego dane nie wyświetlają się w interfejsie Edge.

Diagnostyka

  1. Włącz Narzędzia dla deweloperów. w przeglądarce Chrome i użyj interfejsu API z jednego z paneli analitycznych za pomocą następujące kroki:
    1. Z narzędzi dla programistów wybierz kartę Network (Sieć).
    2. Rozpocznij nagrywanie.
    3. Załaduj ponownie panel Analytics.
    4. W panelu po lewej stronie w Narzędziach dla programistów wybierz wiersz zawierający „apiproxy?_Optimized...”.
    5. W panelu po prawej stronie w Narzędziach dla programistów kliknij „Nagłówki”. i zwróć uwagę na „URL żądania”.
  2. Oto przykładowe dane wyjściowe z Narzędzi dla programistów:

    Przykładowe dane wyjściowe przedstawiające interfejs API używany w panelu wydajności serwera proxy na karcie Sieć panelu Narzędzia dla programistów do obsługi serwera proxy.

  3. Uruchom bezpośrednio wywołanie interfejsu Management API i sprawdź, czy uzyskasz wyniki. Oto przykładowy interfejs API kliknij kartę Dzień w panelu Wydajność serwera 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. Jeśli wyświetlana jest z pomyślna odpowiedź, ale nie ma żadnych danych, oznacza to, że Serwer zarządzania nie może pobrać danych z serwera Postgres z powodu sieci problemów z łącznością.
  5. Sprawdź, czy możesz połączyć się z serwerem Postgres z serwera zarządzania:
    telnet Postgres_server_IP_address 5432
    
  6. Jeśli nie możesz połączyć się z serwerem Postgres, sprawdź, czy jest jakaś zapora sieciowa związane z portem 5432.
  7. Jeśli występują ograniczenia zapory sieciowej, może to być przyczyną działania serwera zarządzania. brak możliwości pobrania danych z serwera Postgres.

Rozdzielczość

  1. Jeśli istnieją ograniczenia zapory sieciowej, usuń je, aby serwer zarządzania mógł komunikuje się z serwerem Postgres.
  2. Jeśli nie ma ograniczeń zapory sieciowej, ten problem może być spowodowany usterką sieci.
  3. Jeśli na serwerze zarządzania wystąpiła awaria sieci, ponowne uruchomienie może rozwiązać problem Google Cloud.
  4. Ponownie uruchamiaj wszystkie serwery zarządzania przy użyciu poniższego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Sprawdź, czy w interfejsie Edge widzisz dane analityczne.

Jeśli nadal nie widzisz danych, skontaktuj się z zespołem pomocy Apigee Edge.

Dane Analytics nie są przekazywane do bazy danych Postgres

Diagnostyka

Jeśli dane nie są przekazywane z serwera Qpid do bazy danych Postgres zgodnie z opisem w sekcji Dane dostępne w bazie danych Postgres, ale nie są wyświetlane w UI, wykonaj te kroki:

  1. Sprawdź, czy każdy z serwerów Qpid jest uruchomiony i działa, wykonując poniższe polecenie:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Jeśli dowolny z serwerów Qpid nie działa, uruchom go ponownie. Jeśli nie, przejdź do kroku 5.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Zaczekaj chwilę, a potem ponownie sprawdź, czy najnowsze dane są dostępne w bazie danych Postgres.
    1. Zaloguj się do PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. Uruchom poniższe zapytanie SQL, aby sprawdzić, czy są dostępne najnowsze dane:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. Jeśli dostępne są najnowsze dane, pomiń poniższe kroki i przejdź do ostatniego kroku . Jeśli najnowsze dane nie są dostępne, wykonaj następujące czynności: kroków.
  5. Sprawdź, czy komunikaty z kolejek serwera Qpid są przekazywane do bazy danych Postgres.
    1. Wykonaj polecenie qpid-stat -q command i sprawdź msgIn oraz Wartości kolumny msgOut.
    2. Oto przykładowe dane wyjściowe, które pokazują, że msgIn i msgOut nie są równe. Oznacza to, że wiadomości nie są przekazywane z serwera Qpid do bazy danych Postgres.

  6. Jeśli występują rozbieżności w kolumnach msgIn i msgOut, sprawdź Qpid Dzienniki serwera /opt/apigee/var/log/edge-qpid-server/system.log i sprawdź, czy jakieś błędy.
  7. Możesz zobaczyć komunikaty o błędach, takie jak „Prawdopodobnie PG nadal nie działa” lub „FATAL: przepraszamy, jest już zbyt wielu klientów”, tak jak na ilustracji poniżej:
    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)
    

Może się tak zdarzyć, jeśli serwer Postgres wykonuje zbyt wiele zapytań SQL lub gdy działa procesor i tym samym nie może odpowiedzieć na serwer Qpid.

Rozdzielczość

  1. Ponownie uruchom serwer Postgres i PostgreSQL, jak pokazano poniżej:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. Ponowne uruchomienie sprawi, że wszystkie poprzednie zapytania SQL zostaną zatrzymane i powinny zezwalać na nowe z bazą danych Postgres.
  3. Załaduj ponownie panele Analytics i sprawdź, czy wyświetlają się dane Analytics.

Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee Edge.

Nieprawidłowe wdrożenie Analytics

Diagnostyka

  1. Uzyskaj stan wdrożenia analityki, korzystając z tego wywołania interfejsu API:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. Sprawdź stan serwerów Qpid i Postgres w wynikach wywołania interfejsu API.
    1. Jeśli stan serwerów Qpid i Postgres to „SUKCES” oznacza to, że czy serwery analityczne są podłączone prawidłowo. Przejdź do Stale identyfikatory UUID serwera Analytics.
    2. Jeśli stan serwerów Qpid/Postgres to „UNKNOWN” lub „FAILURE”, a potem oznacza problem z odpowiednim serwerem.

      W tym scenariuszu na przykład stan serwerów Postgres to „NIEZNANY”:

      Może się tak zdarzyć, jeśli podczas wprowadzania analityki wystąpi błąd. Ten błąd zapobiega docieraniu wiadomości z serwerów zarządzania do serwerów Postgres.

Rozdzielczość

Ten problem można zwykle rozwiązać, ponownie uruchamiając serwery, na których wyświetla się komunikat „FAILURE” lub „NIEZNANY”.

  1. Uruchom ponownie każdy z serwerów, których stan okablowania analitycznego to „FAILURE” lub „UNKNOWN” za pomocą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Na przykład:
    1. Jeśli problem występuje na serwerach Qpid, ponownie uruchom serwery Qpid:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Jeśli ten problem występuje na serwerach Postgres, uruchom ponownie oba Węzły serwera Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. W powyższym przykładzie wartość „UNKNOWN” dla serwerów Postgres jest wyświetlany komunikat, więc musisz w celu ponownego uruchomienia głównego i podrzędnego serwera Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

Nieaktualne identyfikatory UUID serwera Analytics

Diagnostyka

  1. Pobierz konfigurację Analytics za pomocą tego wywołania interfejsu API:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Oto przykładowe dane wyjściowe z powyższego interfejsu 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. Upewnij się, że te informacje w danych wyjściowych są poprawne:
    1. nazwy org-env wymienione w „zakresach” .
    2. Identyfikatory UUID serwerów Postgres i serwerów Qpid.
      • Uzyskaj identyfikatory UUID serwera Postgres, uruchamiając poniższe polecenie na każdym Węzły serwera Postgres:
        curl 0:8084/v1/servers/self/uuid
        
      • Uzyskaj identyfikatory UUID serwera Qpid, uruchamiając poniższe polecenie dla każdego identyfikatora Qpid węzły serwera:
        curl 0:8083/v1/servers/self/uuid
        
  3. Jeśli wszystkie informacje są poprawne, przejdź do sekcji Dane Analytics nie jest przekazywana do bazy danych Postgres.
  4. Jeśli identyfikatory UUID Postgres lub serwerów Qpid są nieprawidłowe, być może serwery zarządzania odwołują się do nieaktualnych identyfikatorów UUID,

Rozdzielczość

Aby usunąć nieaktualne identyfikatory UUID i dodać prawidłowe identyfikatory UUID serwerów, skontaktuj się z zespołem pomocy Apigee Edge.