Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Sintoma
Os dados do Analytics estão ausentes na interface do Edge porque o servidor Qpidd não está transferindo mensagens de análise para o PostgreSQL. No Edge, o componente edge-qpid-server
corresponde ao servidor Qpidd.
O Qpidd mantém duas filas para cada grupo de análise:
ax-q-axgroup001-consumer-group-001
Essa fila contém mensagens de análise enviadas pelos processadores e roteadores de mensagens. As mensagens são extraídas daqui pelo
edge-qpid-server
, que as analisa e insere no PostgreSQL. Quando as mensagens são processadas, elas são removidas da fila.ax-q-axgroup001-consumer-group-001-dl
Essa é a fila de mensagens inativas. Ele funciona como o destino de mensagens que o
edge-qpid-server
não conseguiu processar e, portanto, não quer mais receber. Esse campo geralmente é preenchido quando a contagem máxima de exibições é excedida ou se o PostgreSQL rejeitou a inserção de novos dados devido a erros de tempo de execução.
Mensagem de erro
A causa raiz pode ser devido a vários erros de execução do componente edge-qpid-server
. Normalmente, se edge-qpid-server
receber um erro de execução do PostgreSQL, ele vai criar uma fila de mensagens inativas, se ainda não existir, e enviar a seguinte mensagem para lá:
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.
Causas possíveis
Causa | Descrição | Instruções de solução de problemas aplicáveis a |
---|---|---|
Mensagens presas na fila de mensagens inativas do qpidd | O edge-qpid-server não entendeu as mensagens que ele leu do agente Qpidd ou não conseguiu manter as mensagens no PostgreSQL.
|
Usuários da nuvem privada de borda |
Etapas comuns de diagnóstico
Execute o seguinte comando para visualizar as estatísticas da fila Qpidd:
qpid-stat -q
A saída retorna o conjunto de filas registradas com o agente. Se a fila com o nome que termina em "-dl" tiver mensagens preenchidas, isso significa que há mensagens presas na fila de mensagens inativas.
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: mensagens presas na fila de mensagens inativas do qpidd
Diagnóstico
Essa condição pode acontecer nos seguintes cenários:
- Um upgrade já havia ocorrido no passado, quando o PostgreSQL estava inativo.
- Uma interrupção temporária do PostgreSQL devido a problemas de rede.
- O
edge-qpid-server
tentou enviar uma mensagem para o PostgreSQL, mas o PostgreSQL retornou um erro de tempo de execução.
Resolução
Anote o nome das filas nas etapas comuns de diagnóstico. Exemplo:
ax-q-axgroup-001-consumer-group-001
ax-q-axgroup-001-consumer-group-001-dl
Execute o comando
qpid-tool
para inserir um promptqpid
interativo:qpid-tool
Esse comando retorna o seguinte:
Management Tool for QPID qpid:
Execute
list broker
para ver uma lista de agentes ativos:list broker
Esse comando retorna o seguinte:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
A coluna
ID
especifica o ID do agente.Anote o ID do agente. No exemplo, é 125.
Execute o seguinte comando para mover as mensagens da fila de mensagens inativas de volta para a fila real:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}
Esse comando retorna o seguinte:
OK (0) - {}
Se não houvesse saída, não havia nada a fazer, ou seja, não havia mensagens a serem movidas. Se
OK(0)
não aparecer, entre em contato com o suporte do Apigee Edge.Saia do terminal qpid-tool.
quit
Aguarde cinco minutos e execute as etapas de diagnóstico novamente nas Etapas comuns de diagnóstico. Verifique se as mensagens na fila real estão sendo processadas e garanta que a contagem de mensagens inativas permaneça 0.
Se o problema persistir, vá para a próxima seção.
É necessário coletar informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções acima, colete as seguintes informações de diagnóstico. Entre em contato e compartilhe com o suporte do Apigee Edge:
- Registros Qpidd:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
- Registros do PostgreSQL:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
- Registros do Edge-qpid-server:
/opt/apigee/var/log/edge-qpid-server/logs/system.log
- Registros do Edge-postgres-server:
/opt/apigee/var/log/edge-postgres-server/logs/system.log
Estatísticas da fila Qpidd:
qpid-stat -q
Grupo do Google Analytics retornado pelo seguinte comando curl:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax