Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Sintomo
I dati di analisi non sono presenti nella UI perimetrale perché il server Qpidd non trasferisce i messaggi di analisi in PostgreSQL. In Edge, il componente edge-qpid-server
corrisponde al server Qpidd.
Qpidd mantiene due code per ogni gruppo di analisi:
ax-q-axgroup001-consumer-group-001
Questa coda contiene i messaggi di analisi inviati dai processori e router dei messaggi. I messaggi vengono estratti da qui da
edge-qpid-server
, che li analizza e li inserisce in PostgreSQL. Una volta elaborati correttamente, i messaggi vengono rimossi dalla coda.ax-q-axgroup001-consumer-group-001-dl
Questa è la coda messaggi non recapitabili. Funge da destinazione per i messaggi che
edge-qpid-server
non è riuscito a elaborare e che pertanto non vuole più ricevere. In genere, questo campo viene compilato quando viene superato il numero massimo di consegne o se PostgreSQL ha rifiutato l'inserimento di nuovi dati a causa di errori di runtime.
Messaggio di errore
La causa principale potrebbe essere dovuta a vari errori di runtime del componente edge-qpid-server
. In genere, se edge-qpid-server
riceve un errore di runtime da PostgreSQL, crea la coda messaggi non recapitabili se non esiste già e invia lì il seguente messaggio:
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.
Possibili cause
Causa | Descrizione | Istruzioni per la risoluzione dei problemi applicabili a |
---|---|---|
Messaggi bloccati in una coda di messaggi non recapitabili di qpidd | edge-qpid-server non è riuscito a comprendere i messaggi letti dal broker Qpidd o non è stato in grado di rendere persistenti i messaggi in PostgreSQL.
|
Utenti Edge Private Cloud |
Passaggi diagnostici comuni
Esegui questo comando per visualizzare le statistiche della coda Qpidd:
qpid-stat -q
L'output restituisce l'insieme di code registrate con il broker. Se la coda il cui nome termina con "-dl" ha messaggi compilati, quindi ci sono messaggi bloccati nella coda messaggi non recapitabili.
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
Causa: messaggi bloccati nella coda di messaggi non recapitabili di qpidd
Diagnosi
Questa condizione può verificarsi nei seguenti scenari:
- In passato era stato eseguito un upgrade, durante il quale PostgreSQL non era attivo.
- Un'interruzione temporanea di PostgreSQL dovuta a problemi di rete.
edge-qpid-server
ha tentato di inviare un messaggio a PostgreSQL, ma PostgreSQL ha restituito un errore di runtime.
Risoluzione
Prendi nota del nome delle code nei Passaggi di diagnostica comuni. Ad esempio:
ax-q-axgroup-001-consumer-group-001
ax-q-axgroup-001-consumer-group-001-dl
Esegui il comando
qpid-tool
per inserire un promptqpid
interattivo:qpid-tool
Questo comamnd restituisce quanto segue:
Management Tool for QPID qpid:
Esegui
list broker
per ottenere un elenco dei broker attivi:list broker
Questo comamnd restituisce quanto segue:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Dove la colonna
ID
specifica l'ID del broker.Prendi nota dell'ID del broker. Nell'esempio è 125.
Esegui questo comando per spostare i messaggi dalla coda dei messaggi non recapitabili alla coda effettiva:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}
Questo comamnd restituisce quanto segue:
OK (0) - {}
Se non viene restituito alcun output, non occorre fare nulla, quindi non è possibile spostare messaggi. Se non vedi
OK(0)
, dovresti contattare l'assistenza Apigee Edge.Esci dal terminale qpid-tool.
quit
Attendi 5 minuti ed esegui nuovamente i passaggi di diagnostica descritti in Passaggi di diagnostica comuni. Verifica che i messaggi nella coda effettiva vengano elaborati e assicurati che il numero di messaggi non recapitabili rimanga pari a 0.
Se il problema persiste, vai alla sezione successiva.
Raccogliere informazioni diagnostiche
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche. Contatta e condividili con l'assistenza Apigee Edge:
- Log Qpidd:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
- Log Postgresql:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
- Log Edge-qpid-server:
/opt/apigee/var/log/edge-qpid-server/logs/system.log
- Log Edge-postgres-server:
/opt/apigee/var/log/edge-postgres-server/logs/system.log
Statistiche coda Qpidd:
qpid-stat -q
Gruppo di analisi restituito dal seguente comando curl:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax