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
- 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:
- 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.
- 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. - 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.
- 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ść
- Wykonywać wywołania co najmniej 1 serwera proxy interfejsu API w określonym środowisku organizacji.
- Poczekaj kilka sekund, a potem wyświetl panele statystyk na karcie Godzina i sprawdź, czy danych.
- 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ł:
- 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
- W głównym węźle Postgres zaloguj się do PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- 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"
- 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";
- 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.
- 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
- 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:
- Z narzędzi dla programistów wybierz kartę Network (Sieć).
- Rozpocznij nagrywanie.
- Załaduj ponownie panel Analytics.
- W panelu po lewej stronie w Narzędziach dla programistów wybierz wiersz zawierający „apiproxy?_Optimized...”.
- W panelu po prawej stronie w Narzędziach dla programistów kliknij „Nagłówki”. i zwróć uwagę na „URL żądania”.
- 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.
- 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"
- 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ą.
- Sprawdź, czy możesz połączyć się z serwerem Postgres z serwera zarządzania:
telnet Postgres_server_IP_address 5432
- Jeśli nie możesz połączyć się z serwerem Postgres, sprawdź, czy jest jakaś zapora sieciowa związane z portem 5432.
- 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ść
- Jeśli istnieją ograniczenia zapory sieciowej, usuń je, aby serwer zarządzania mógł komunikuje się z serwerem Postgres.
- Jeśli nie ma ograniczeń zapory sieciowej, ten problem może być spowodowany usterką sieci.
- Jeśli na serwerze zarządzania wystąpiła awaria sieci, ponowne uruchomienie może rozwiązać problem Google Cloud.
- Ponownie uruchamiaj wszystkie serwery zarządzania przy użyciu poniższego polecenia:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- 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:
- 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
- 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
- Zaczekaj chwilę, a potem ponownie sprawdź, czy najnowsze dane są dostępne w bazie danych Postgres.
- Zaloguj się do PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Uruchom poniższe zapytanie SQL, aby sprawdzić, czy są dostępne najnowsze dane:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Zaloguj się do PostgreSQL:
- 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.
- Sprawdź, czy komunikaty z kolejek serwera Qpid są przekazywane do bazy danych Postgres.
- Wykonaj polecenie
qpid-stat -q command
i sprawdź msgIn oraz Wartości kolumny msgOut. - 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.
- Wykonaj polecenie
- 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. - 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ść
- 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
- Ponowne uruchomienie sprawi, że wszystkie poprzednie zapytania SQL zostaną zatrzymane i powinny zezwalać na nowe z bazą danych Postgres.
- 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
- 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
- Sprawdź stan serwerów Qpid i Postgres w wynikach wywołania interfejsu API.
- 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.
- 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”.
- 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
- Na przykład:
- Jeśli problem występuje na serwerach Qpid, ponownie uruchom serwery Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- 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
- Jeśli problem występuje na serwerach Qpid, ponownie uruchom serwery Qpid:
- 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
- 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" : { } } ]
- Upewnij się, że te informacje w danych wyjściowych są poprawne:
- nazwy org-env wymienione w „zakresach” .
- 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
- Uzyskaj identyfikatory UUID serwera Postgres, uruchamiając poniższe polecenie na każdym
Węzły serwera Postgres:
- Jeśli wszystkie informacje są poprawne, przejdź do sekcji Dane Analytics nie jest przekazywana do bazy danych Postgres.
- 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.