Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Krótki opis problemu
W interfejsie Edge brakuje danych Analytics, ponieważ serwer Qpidd nie przesyła wiadomości analitycznych do PostgreSQL. W Edge komponent edge-qpid-server
odpowiada serwerowi Qpidd.
Narzędzie Qpidd przechowuje 2 kolejki dla każdej grupy statystyk:
ax-q-axgroup001-consumer-group-001
W tej kolejce znajdują się wiadomości analityczne przekazane z procesorów i routerów wiadomości. Wiadomości są pobierane z tego miejsca przez usługę
edge-qpid-server
, która analizuje wiadomości i wstawia je do PostgreSQL. Po przetworzeniu wiadomości są usuwane z kolejki.ax-q-axgroup001-consumer-group-001-dl
Ta kolejka to kolejka niedostarczonych wiadomości. Działa jako miejsce docelowe dla wiadomości, których
edge-qpid-server
nie przetworzył i z tego powodu nie chce już ich otrzymywać. To pole jest zwykle wypełniane po przekroczeniu maksymalnej liczby dostarczania lub gdy PostgreSQL odrzucił(a) wstawienie nowych danych z powodu błędów czasu działania.
Komunikat o błędzie
Główną przyczyną mogą być różne błędy działania wywoływane przez komponent edge-qpid-server
. Zwykle, jeśli edge-qpid-server
otrzyma błąd środowiska wykonawczego z PostgreSQL, tworzy kolejkę niedostarczonych wiadomości (jeśli jeszcze nie istnieje), a następnie wysyła do niej następujący 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 dotyczące rozwiązywania problemów dotyczące |
---|---|---|
Wiadomości utknęły w kolejce niedostarczonych wiadomości w qpidd | edge-qpid-server nie może rozpoznać wiadomości, które odczytał od brokera Qpidd, lub nie mógł utrwalić wiadomości w PostgreSQL.
|
Użytkownicy Edge Private Cloud |
Najczęstsze kroki diagnostyki
Uruchom następujące polecenie, aby wyświetlić statystyki kolejki Qpidd:
qpid-stat -q
Dane wyjściowe zwracają zestaw kolejek zarejestrowanych u brokera. Jeśli kolejka o nazwie kończącej się na „-dl” jeśli wiadomości są już wypełnione, to niektóre wiadomości utknęły w kolejce niedostarczonych wiadomości.
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 wiadomości w qpidd
Diagnostyka
Ten warunek może wystąpić w tych sytuacjach:
- Uaktualnienie miało miejsce w przeszłości, w tym czasie usługa PostgreSQL nie działała.
- Tymczasowa przerwa w działaniu PostgreSQL z powodu problemów z siecią.
- Instancja
edge-qpid-server
próbowała wysłać wiadomość do PostgreSQL, ale PostgreSQL zwróciła błąd środowiska wykonawczego.
Rozdzielczość
Zanotuj nazwy kolejek podane w Najczęstszych krokach diagnostyki. Na przykład:
ax-q-axgroup-001-consumer-group-001
ax-q-axgroup-001-consumer-group-001-dl
Uruchom polecenie
qpid-tool
, aby wpisać interaktywny promptqpid
:qpid-tool
To polecenie zwraca następujące wyniki:
Management Tool for QPID qpid:
Uruchom
list broker
, aby uzyskać listę aktywnych brokerów:list broker
To polecenie zwraca następujące wyniki:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Gdzie kolumna
ID
określa identyfikator brokera.Zanotuj identyfikator brokera. W tym przykładzie jest to 125.
Uruchom następujące polecenie, aby przenieść wiadomości z kolejki niedostarczonych wiadomości z powrotem do rzeczywistej kolejki:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}
To polecenie zwraca następujące wyniki:
OK (0) - {}
Jeśli nie ma danych wyjściowych, nie było żadnych działań i nie było żadnych wiadomości do przeniesienia. Jeśli nie widzisz
OK(0)
, skontaktuj się z zespołem pomocy Apigee Edge.Zamknij terminal qpid-tool.
quit
Odczekaj 5 minut, a następnie ponownie wykonaj kroki diagnostyki opisane w sekcji Najczęstsze czynności diagnostyczne. Sprawdź, czy wiadomości w rzeczywistej kolejce są przetwarzane, i upewnij się, że liczba niedostarczonych komunikatów wynosi 0.
Jeśli problem nie ustąpi, przejdź do następnej sekcji.
Musi zbierać informacje diagnostyczne
Jeśli po wykonaniu powyższych czynności problem nie ustąpi, zbierz poniższe informacje diagnostyczne. skontaktuj się z nimi i udostępnij je zespołowi pomocy Apigee Edge:
- Logi Qpidd:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
- Logi Postgresql:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
- Logi Edge-qpid-server:
/opt/apigee/var/log/edge-qpid-server/logs/system.log
- Logi Edge-postgres-server:
/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