Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Symptom
In der Edge-Benutzeroberfläche fehlen Analysedaten, da der Qpidd-Server keine Analysenachrichten an PostgreSQL überträgt. In Edge entspricht die Komponente edge-qpid-server
dem Qpidd-Server.
Qpidd verwaltet zwei Warteschlangen für jede Analysegruppe:
ax-q-axgroup001-consumer-group-001
Diese Warteschlange enthält Analysenachrichten, die von den Nachrichtenprozessoren und Routern gesendet werden. Nachrichten werden von hier vom
edge-qpid-server
abgerufen, der Nachrichten parst und in PostgreSQL einfügt. Nach erfolgreicher Verarbeitung werden die Nachrichten aus der Warteschlange entfernt.ax-q-axgroup001-consumer-group-001-dl
Diese Warteschlange ist die Warteschlange für unzustellbare Nachrichten. Er dient als Ziel für Nachrichten, die
edge-qpid-server
nicht verarbeiten konnte und daher nicht mehr empfangen möchte. Dieses Feld wird normalerweise ausgefüllt, wenn die maximale Anzahl der Übermittlungen überschritten wird oder wenn PostgreSQL das Einfügen neuer Daten aufgrund von Laufzeitfehlern abgelehnt hat.
Fehlermeldung
Die Ursache könnten verschiedene Laufzeitfehler der edge-qpid-server
-Komponente sein. Wenn edge-qpid-server
einen Laufzeitfehler von PostgreSQL empfängt, wird normalerweise die Warteschlange für unzustellbare Nachrichten erstellt, sofern sie noch nicht vorhanden ist, und dann die folgende Nachricht dorthin gesendet:
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.
Mögliche Ursachen
Ursache | Beschreibung | Geltende Anleitungen zur Fehlerbehebung |
---|---|---|
Nachrichten in der Warteschlange für unzustellbare Nachrichten von QPIDD | edge-qpid-server konnte Nachrichten, die aus Qpidd Broker gelesen wurden, nicht verstehen oder Nachrichten nicht in PostgreSQL speichern.
|
Edge Private Cloud-Nutzer |
Häufige Diagnoseschritte
Führen Sie den folgenden Befehl aus, um Qpidd-Warteschlangenstatistiken anzuzeigen:
qpid-stat -q
Die Ausgabe gibt die Warteschlangen zurück, die beim Broker registriert sind. Wenn in der Warteschlange mit dem Namen, der auf „-dl“ endet, Nachrichten gefüllt sind, verbleiben Nachrichten in der Warteschlange für unzustellbare Nachrichten.
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
Ursache: Nachrichten verbleiben in der Warteschlange für unzustellbare Nachrichten von QPIdd
Diagnose
Diese Bedingung kann in den folgenden Szenarien eintreten:
- In der Vergangenheit gab es ein Upgrade. In dieser Zeit war PostgreSQL nicht verfügbar.
- Ein vorübergehender Ausfall von PostgreSQL aufgrund von Netzwerkproblemen.
edge-qpid-server
hat versucht, eine Nachricht an PostgreSQL zu senden, aber PostgreSQL hat einen Laufzeitfehler zurückgegeben.
Auflösung
Notieren Sie sich die Namen der Warteschlangen aus den Common Diagnose Steps (Allgemeine Diagnoseschritte). Beispiel:
ax-q-axgroup-001-consumer-group-001
ax-q-axgroup-001-consumer-group-001-dl
Führen Sie den Befehl
qpid-tool
aus, um eine interaktiveqpid
-Eingabeaufforderung einzugeben:qpid-tool
Dieser Befehl gibt Folgendes zurück:
Management Tool for QPID qpid:
Führen Sie
list broker
aus, um eine Liste der aktiven Broker abzurufen:list broker
Dieser Befehl gibt Folgendes zurück:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Dabei gibt die Spalte
ID
die ID des Zwischenhändlers an.Notieren Sie sich die ID des Zwischenhändlers. Im Beispiel ist sie 125.
Führen Sie den folgenden Befehl aus, um die Nachrichten aus der Warteschlange für unzustellbare Nachrichten zurück in die eigentliche Warteschlange zu verschieben:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}
Dieser Befehl gibt Folgendes zurück:
OK (0) - {}
Wenn keine Ausgabe vorhanden ist, gab es nichts zu tun, d. h. es wurden keine Nachrichten verschoben. Wenn
OK(0)
nicht angezeigt wird, wenden Sie sich an den Apigee Edge-Support.Beenden Sie das qpid-tool-Terminal.
quit
Warten Sie fünf Minuten und führen Sie die Diagnoseschritte dann unter Allgemeine Diagnoseschritte noch einmal aus. Stellen Sie sicher, dass die Nachrichten in der eigentlichen Warteschlange verarbeitet werden, und stellen Sie sicher, dass die Anzahl der unzustellbaren Nachrichten bei 0 bleibt.
Wenn das Problem weiterhin besteht, fahren Sie mit dem nächsten Abschnitt fort.
Diagnoseinformationen müssen erfasst werden
Wenn das Problem trotz Befolgen der obigen Anweisungen weiterhin besteht, stellen Sie die folgenden Diagnoseinformationen zusammen. Kontaktieren Sie sie und geben Sie sie für den Apigee Edge-Support frei:
- Qpidd-Logs:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
- Postgresql-Logs:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
- Edge-qpid-server-Logs:
/opt/apigee/var/log/edge-qpid-server/logs/system.log
- Edge-Postgres-Server-Logs:
/opt/apigee/var/log/edge-postgres-server/logs/system.log
Qpidd-Warteschlangenstatistiken:
qpid-stat -q
Von folgendem curl-Befehl zurückgegebene Analysegruppe:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax