Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Sintomo
I dati di Analytics non sono presenti nell'interfaccia utente Edge perché il server Qpidd non trasferisce i messaggi di Analytics a PostgreSQL. In Edge, il componente edge-qpid-server corrisponde al server Qpidd.
Qpidd gestisce due code per ogni gruppo di analisi:
ax-q-axgroup001-consumer-group-001
Questa coda contiene i messaggi di analisi inviati dai router e dai processori di 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 coda è la coda dei messaggi non recapitabili. Funge da destinazione per i messaggi che
edge-qpid-servernon è riuscito a elaborare e che quindi non vuole più ricevere. Questo campo viene in genere compilato quando viene superato il conteggio massimo di tentativi di pubblicazione 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 di messaggi non recapitabili se non esiste già e poi invia 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 nella coda di messaggi non recapitabili di qpidd | edge-qpid-server non è riuscito a comprendere i messaggi letti dal broker Qpidd o non è riuscito a renderli persistenti in PostgreSQL.
|
Utenti di Edge Private Cloud |
Passaggi di diagnostica 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 con il nome che termina con "-dl" contiene messaggi, significa che ci sono messaggi bloccati nella coda dei 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 messaggi non recapitabili di qpidd
Diagnosi
Questa condizione può verificarsi nei seguenti scenari:
- In passato è stato eseguito un upgrade durante il quale PostgreSQL non era disponibile.
- Un'interruzione temporanea di PostgreSQL dovuta a problemi di rete.
edge-qpid-serverha tentato di inviare un messaggio a PostgreSQL, ma PostgreSQL ha restituito un errore di runtime.
Risoluzione
Prendi nota del nome delle code dai passaggi di diagnostica comuni. Ad esempio:
ax-q-axgroup-001-consumer-group-001ax-q-axgroup-001-consumer-group-001-dl
Esegui il comando
qpid-toolper inserire un promptqpidinterattivo:qpid-tool
Questo comando restituisce quanto segue:
Management Tool for QPID qpid:
Esegui
list brokerper ottenere un elenco dei broker attivi:list broker
Questo comando restituisce quanto segue:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Dove la colonna
IDspecifica l'ID del broker.Prendi nota dell'ID del broker. Nell'esempio è 125.
Esegui questo comando per spostare i messaggi dalla coda di 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 comando restituisce quanto segue:
OK (0) - {}Se non viene visualizzato alcun output, non è stato eseguito alcun passaggio, il che significa che non ci sono messaggi da spostare. Se non vedi
OK(0), devi contattare l'assistenza Apigee Edge.Esci dal terminale qpid-tool.
quit
Attendi 5 minuti e poi esegui di nuovo i passaggi di diagnostica dalla sezione Passaggi di diagnostica comuni. Verifica che i messaggi nella coda effettiva vengano elaborati e assicurati che il conteggio dei messaggi di coda non elaborabile rimanga a 0.
Se il problema persiste, vai alla sezione successiva.
Must Gather Diagnostic Information
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche. Contattali e condividili con l'assistenza Apigee Edge:
- Log di Qpidd:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log - Log PostgreSQL:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log - Log di Edge-qpid-server:
/opt/apigee/var/log/edge-qpid-server/logs/system.log - Log di edge-postgres-server:
/opt/apigee/var/log/edge-postgres-server/logs/system.log Statistiche della coda Qpidd:
qpid-stat -q
Gruppo Analytics restituito dal seguente comando curl:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax