Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Krótki opis problemu
Panele informacyjne Analytics (Skuteczność proxy, Skuteczność celu itp.) nie wyświetlają żadnych danych w interfejsie Edge. Na wszystkich panelach informacyjnych wyświetla się ten komunikat:
No traffic in the selected date range
Komunikaty o błędach
Ten problem nie powoduje widocznych błędów.
Możliwe przyczyny
W tabeli poniżej znajdziesz możliwe przyczyny tego problemu:
| Przyczyna | Dla |
|---|---|
| Brak ruchu związanego z interfejsem API w przypadku organizacji i środowiska | Użytkownicy Edge for Private Cloud |
| Dane dostępne w bazie danych Postgres, ale nie są wyświetlane w interfejsie | Użytkownicy Edge for Private Cloud |
| Dane Analytics nie są przesyłane do bazy danych Postgres | Użytkownicy Edge for Private Cloud |
| Nieprawidłowe wdrożenie Analytics | Użytkownicy Edge for Private Cloud |
| Nieaktualne identyfikatory UUID serwera Analytics | Użytkownicy Edge for Private Cloud |
Brak ruchu związanego z interfejsem API w przypadku organizacji i środowiska
Diagnostyka
- Sprawdź, czy w przypadku proxy interfejsu API w określonej organizacji i środowisku występuje ruch w określonym czasie, w którym próbujesz wyświetlić dane Analytics, korzystając z jednej z tych metod:
- Włącz śledzenie w przypadku dowolnego interfejsu API, który jest obecnie używany przez użytkowników, i sprawdź, czy możesz uzyskać jakieś żądania w śledzeniu.
- Wyświetl dzienniki dostępu NGINX
(
/opt/apigee/var/log/edge-router/nginx/logs/access.log)i sprawdź, czy w określonym czasie są jakieś nowe wpisy dotyczące proxy interfejsu API. - Jeśli informacje z proxy interfejsu API są logowane na serwerze logów, takim jak Syslog, Splunk, Loggly, itp., możesz sprawdzić, czy w tych serwerach logów znajdują się wpisy dotyczące proxy interfejsu API w określonym czasie.
- Jeśli w określonym czasie nie ma ruchu (brak żądań do interfejsu API), dane Analytics są niedostępne. W panelu informacyjnym Analytics zobaczysz komunikat „Brak ruchu w wybranym zakresie dat”.
Rozdzielczość
- Wykonaj kilka wywołań co najmniej 1 proxy interfejsu API w określonej organizacji i środowisku.
- Poczekaj kilka sekund, a następnie wyświetl panele informacyjne Analytics na karcie Godzina i sprawdź, czy dane się pojawiają.
- Jeśli problem nadal występuje, przejdź do sekcji Dane dostępne w bazie danych Postgres, ale nie są wyświetlane w interfejsie.
Dane dostępne w bazie danych Postgres, ale nie są wyświetlane w interfejsie
Krótki opis problemu
Najpierw sprawdź dostępność najnowszych danych Analytics w bazie danych Postgres.
Aby sprawdzić, czy najnowsze dane Analytics są dostępne w węźle głównym Postgres node:
- Zaloguj się na każdym serwerze Postgres i uruchom to polecenie, aby sprawdzić, czy jesteś
w węźle głównym Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- W węźle głównym Postgres zaloguj się w PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Sprawdź, czy tabela istnieje w przypadku Twojej organizacji i środowiska, używając tego zapytania SQL w bazie danych Postgres
database:
\d analytics."orgname.envname.fact"
- Sprawdź, czy najnowsze dane są dostępne w bazie danych Postgres, używając tego zapytania SQL
query:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Jeśli najnowszy 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 jest to, że dane nie są przesyłane z serwera Qpid do bazy danych Postgres. Przejdź do sekcji Dane Analytics nie są przesyłane do bazy danych Postgres.
- Jeśli najnowsze dane są dostępne w bazie danych Postgres w węźle głównym, wykonaj te czynności, aby zdiagnozować, dlaczego dane nie są wyświetlane w interfejsie Edge.
Diagnostyka
- Włącz Narzędzia deweloperskie
w przeglądarce Chrome i uzyskaj dostęp do interfejsu API używanego w jednym z paneli informacyjnych Analytics, wykonując te czynności:
- W Narzędziach deweloperskich kliknij kartę Sieć.
- Rozpocznij nagrywanie.
- Ponownie załaduj panel informacyjny Analytics.
- W panelu po lewej stronie Narzędzi deweloperskich wybierz wiersz zawierający „apiproxy?_optimized...”.
- W panelu po prawej stronie Narzędzi deweloperskich kliknij kartę „Nagłówki” i zanotuj „Adres URL żądania”.
- Oto przykładowe dane wyjściowe z Narzędzi deweloperskich:
Przykładowe dane wyjściowe pokazujące interfejs API używany w panelu informacyjnym Skuteczność proxy na karcie Sieć w Narzędziach deweloperskich w przypadku panelu informacyjnego Skuteczność proxy

- Uruchom bezpośrednio wywołanie interfejsu Management API i sprawdź, czy otrzymujesz wyniki. Oto przykładowe wywołanie interfejsu API
call for the Day tab in the Proxy Performance 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"
- Jeśli widzisz odpowiedź z informacją o powodzeniu, ale bez danych, oznacza to, że serwer zarządzania nie może pobrać danych z serwera Postgres z powodu problemów z połączeniem sieciowym.
- 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 na porcie 5432 nie ma żadnych ograniczeń zapory sieciowej.
- Jeśli występują ograniczenia zapory sieciowej, może to być przyczyną, dla której serwer zarządzania nie może pobrać danych z serwera Postgres.
Rozdzielczość
- Jeśli występują ograniczenia zapory sieciowej, usuń je, aby serwer zarządzania mógł komunikować się z serwerem Postgres.
- Jeśli nie ma ograniczeń zapory sieciowej, problem może być spowodowany awarią sieci.
- Jeśli na serwerze zarządzania wystąpiła awaria sieci, ponowne uruchomienie serwera może rozwiązać problem.
- Uruchom ponownie wszystkie serwery zarządzania jeden po drugim za pomocą tego polecenia:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Sprawdź, czy dane Analytics są widoczne w interfejsie Edge.
Jeśli nadal nie widzisz danych, skontaktuj się z zespołem pomocy Apigee Edge.
Dane Analytics nie są przesyłane do bazy danych Postgres
Diagnostyka
Jeśli dane nie są przesyłane z serwera Qpid do bazy danych Postgres, jak ustalono w sekcji Dane dostępne w bazie danych Postgres, ale nie są wyświetlane w interfejsie, wykonaj te czynności:
- Sprawdź, czy każdy serwer Qpid jest uruchomiony. W tym celu wykonaj to polecenie:
/opt/apigee/apigee-service/bin edge-qpid-server status
- Jeśli któryś serwer Qpid jest wyłączony, uruchom go ponownie. W przeciwnym razie przejdź do kroku 5.
/opt/apigee/apigee-service/bin edge-qpid-server restart
- Poczekaj chwilę, a następnie ponownie sprawdź, czy najnowsze dane są dostępne w bazie danych Postgres.
- Zaloguj się w PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Uruchom to zapytanie SQL, aby sprawdzić, czy najnowsze dane są dostępne:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Zaloguj się w PostgreSQL:
- Jeśli najnowsze dane są dostępne, pomiń te czynności i przejdź do ostatniego kroku w sekcji Rozdzielczość. Jeśli najnowsze dane nie są dostępne, wykonaj te czynności.
- Sprawdź, czy wiadomości z kolejek serwera Qpid są przesyłane do bazy danych Postgres.
- Uruchom
qpid-stat -q commandi sprawdź wartości w kolumnach msgIn i msgOut. - Oto przykładowe dane wyjściowe, które pokazują, że wartości msgIn i msgOut nie są równe. Oznacza to,
że wiadomości nie są przesyłane z serwera Qpid do bazy danych Postgres.

- Uruchom
- Jeśli występuje niezgodność w kolumnach msgIn i msgOut, sprawdź dzienniki serwera Qpid
Serwer
/opt/apigee/var/log/edge-qpid-server/system.logi zobacz, czy występują jakieś błędy. - Możesz zobaczyć komunikaty o błędach, takie jak "Prawdopodobnie PG jest nadal wyłączony" lub
"FATAL: sorry, too many clients already" (FATAL: przepraszamy, zbyt wielu klientów), jak pokazano 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 procesor jest mocno obciążony i dlatego nie może odpowiadać na serwer Qpid.
Rozdzielczość
- Uruchom ponownie 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
- To ponowne uruchomienie spowoduje zatrzymanie wszystkich poprzednich zapytań SQL i powinno umożliwić nowe połączenia z bazą danych Postgres.
- Ponownie załaduj panele informacyjne Analytics i sprawdź, czy dane Analytics są wyświetlane.
Jeśli problem nadal występuje, skontaktuj się z zespołem pomocy Apigee Edge.
Nieprawidłowe wdrożenie Analytics
Diagnostyka
- Uzyskaj stan wdrożenia Analytics za pomocą 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 na podstawie wyników wywołania interfejsu API.
- Jeśli stan serwerów Qpid i Postgres jest wyświetlany jako "SUCCESS" (POWODZENIE), oznacza to, serwery Analytics są prawidłowo połączone. Przejdź do sekcji Nieaktualne identyfikatory UUID serwera Analytics.
- Jeśli stan serwerów Qpid lub Postgres jest wyświetlany jako "UNKNOWN" (NIEZNANY) lub "FAILURE" (NIEPOWODZENIE), oznacza to
problem z odpowiednim serwerem.
Na przykład w tym scenariuszu stan serwerów Postgres jest wyświetlany jako "UNKNOWN":

Może się tak zdarzyć, jeśli podczas wdrażania Analytics wystąpi błąd. Ten błąd uniemożliwia dotarcie wiadomości z serwerów zarządzania do serwerów Postgres.
Rozdzielczość
Ten problem można zwykle rozwiązać, ponownie uruchamiając serwery, które wyświetliły stan „FAILURE” (NIEPOWODZENIE) lub „UNKNOWN” (NIEZNANY).
- Uruchom ponownie każdy serwer, którego stan połączenia z Analytics wskazywał „FAILURE” (NIEPOWODZENIE) lub „UNKNOWN” (NIEZNANY)
za pomocą tego polecenia:
/opt/apigee/apigee-service/bin/apigee-service component restart
- Przykład:
- Jeśli problem występuje na serwerach Qpid, uruchom je ponownie:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Jeśli problem występuje na serwerach Postgres, uruchom ponownie węzły serwera głównego i serwera podrzędnego
Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Jeśli problem występuje na serwerach Qpid, uruchom je ponownie:
- W powyższym przykładzie w przypadku serwerów Postgres wyświetla się komunikat „UNKNOWN” (NIEZNANY), dlatego musisz
ponownie uruchomić serwer główny i serwer podrzędny Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Nieaktualne identyfikatory UUID serwera Analytics
Diagnostyka
- Uzyskaj 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" : { } } ]
- Sprawdź, czy te informacje w danych wyjściowych są prawidłowe:
- Nazwy organizacji i środowiska wymienione w elemencie „scopes” (zakresy).
- Identyfikatory UUID serwerów Postgres i Qpid.
- Aby uzyskać identyfikatory UUID serwera Postgres, uruchom to polecenie w każdym z
węzłów serwera Postgres:
curl 0:8084/v1/servers/self/uuid
- Aby uzyskać identyfikatory UUID serwera Qpid, uruchom to polecenie w każdym węźle serwera Qpid
serwera:
curl 0:8083/v1/servers/self/uuid
- Aby uzyskać identyfikatory UUID serwera Postgres, uruchom to polecenie w każdym z
węzłów serwera Postgres:
- Jeśli wszystkie informacje są prawidłowe, przejdź do sekcji Dane Analytics nie są przesyłane do bazy danych Postgres.
- Jeśli identyfikatory UUID serwerów Postgres lub Qpid są nieprawidłowe, może to oznaczać, ż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.