Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Krótki opis problemu
W interfejsie Edge UI brakuje danych Analytics, ponieważ serwer Qpidd nie przesyła wiadomości Analytics do PostgreSQL. W przypadku Edge komponent edge-qpid-server odpowiada serwerowi Qpidd.
Qpidd utrzymuje 2 kolejki dla każdej grupy analitycznej:
ax-q-axgroup001-consumer-group-001
Ta kolejka zawiera wiadomości analityczne przesyłane z procesorów i routerów wiadomości. Wiadomości są stąd pobierane przez
edge-qpid-server, które je analizuje i wstawia do PostgreSQL. Po przetworzeniu wiadomości są one usuwane z kolejki.ax-q-axgroup001-consumer-group-001-dl
Ta kolejka to kolejka niedostarczonych wiadomości. Jest to miejsce docelowe wiadomości, których
edge-qpid-servernie udało się przetworzyć i których nie chcesz już otrzymywać. Zwykle jest on wypełniany, gdy zostanie przekroczona maksymalna liczba dostaw lub gdy PostgreSQL odrzuci wstawienie nowych danych z powodu błędów środowiska wykonawczego.
Komunikat o błędzie
Przyczyną może być różne błędy środowiska wykonawczego z komponentu edge-qpid-server. Zwykle, jeśli edge-qpid-server otrzyma błąd wykonania z PostgreSQL, tworzy kolejkę niedostarczonych wiadomości (jeśli jeszcze nie istnieje), a następnie wysyła do niej ten komunikat:
yyyy-MM-dd HH:mm:ss,SSS ax-q-axgroup001-consumer-group-001-persistpool-thread-6 WARN c.a.a.m.MessageConsumer - MessageConsumer.process() : Sending message batch to the DLQ.
Możliwe przyczyny
| Przyczyna | Opis | Instrukcje rozwiązywania problemów dotyczące |
|---|---|---|
| Wiadomości utknęły w kolejce niedostarczonych wiadomości qpidd | edge-qpid-server nie może odczytać wiadomości z brokera Qpidd lub nie może zapisać wiadomości w PostgreSQL.
|
Użytkownicy Edge Private Cloud |
Typowe etapy diagnostyki
Aby wyświetlić statystyki kolejki Qpidd, uruchom to polecenie:
qpid-stat -q
Dane wyjściowe zwracają zestaw kolejek zarejestrowanych w brokerze. Jeśli w kolejce o nazwie kończącej się na „-dl” znajdują się wiadomości, oznacza to, że są one zablokowane w kolejce wiadomości niedostarczonych.
Queues queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ======================================================================================================================== ax-q-axgroup-001-consumer-group-001 Y 0 185 185 0 13.8m 13.8m 6 2 ax-q-axgroup-001-consumer-group-001-dl Y 0 70 70 0 3.9m 3.9m 0 2
Przyczyna: wiadomości utknęły w kolejce niedostarczonych komunikatów qpidd
Diagnostyka
Może się tak zdarzyć w tych sytuacjach:
- W przeszłości przeprowadzono uaktualnienie, podczas którego PostgreSQL był niedostępny.
- tymczasowa awaria PostgreSQL z powodu problemów z siecią;
edge-qpid-serverpróbował wysłać wiadomość do PostgreSQL, ale PostgreSQL zwrócił błąd środowiska wykonawczego.
Rozdzielczość
Zapisz nazwy kolejek z sekcji Typowe kroki diagnostyczne. Na przykład:
ax-q-axgroup-001-consumer-group-001ax-q-axgroup-001-consumer-group-001-dl
Uruchom polecenie
qpid-tool, aby wyświetlić interaktywny wiersz poleceńqpid:qpid-tool
To polecenie zwraca te informacje:
Management Tool for QPID qpid:
Uruchom polecenie
list broker, aby uzyskać listę aktywnych brokerów:list broker
To polecenie zwraca te informacje:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Kolumna
IDokreśla identyfikator brokera.Zapisz identyfikator brokera. W tym przykładzie jest to 125.
Aby przenieść wiadomości z kolejki wiadomości niedostarczonych z powrotem do kolejki rzeczywistej, uruchom to polecenie:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}To polecenie zwraca te informacje:
OK (0) - {}Jeśli nie ma żadnych danych wyjściowych, oznacza to, że nie było nic do zrobienia, czyli nie było wiadomości do przeniesienia. Jeśli nie widzisz ikony
OK(0), skontaktuj się z zespołem pomocy Apigee Edge.Zamknij terminal qpid-tool.
quit
Poczekaj 5 minut, a potem ponownie wykonaj czynności diagnostyczne opisane w sekcji Typowe czynności diagnostyczne. Sprawdź, czy wiadomości w rzeczywistej kolejce są przetwarzane, i upewnij się, że liczba wiadomości w kolejce niedostarczonych pozostaje na poziomie 0.
Jeśli problem nadal występuje, przejdź do następnej sekcji.
Must Gather Diagnostic Information
Jeśli problem nadal występuje po wykonaniu powyższych instrukcji, zbierz te informacje diagnostyczne. Skontaktuj się z zespołem pomocy Apigee Edge i udostępnij mu te informacje:
- Dzienniki Qpidd:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log - Logi PostgreSQL:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log - Dzienniki serwera Edge-qpid:
/opt/apigee/var/log/edge-qpid-server/logs/system.log - Dzienniki serwera Edge-postgres:
/opt/apigee/var/log/edge-postgres-server/logs/system.log Statystyki kolejki Qpidd:
qpid-stat -q
Grupa Analytics zwrócona przez to polecenie curl:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax