Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Sintoma
Os painéis de análise (desempenho do proxy, desempenho desejado etc.) não mostram dados na interface do Edge. Todos os painéis mostram a seguinte mensagem:
No traffic in the selected date range
Mensagens de erro
Esse problema não resulta em erros observáveis.
Causas possíveis
A tabela a seguir lista as possíveis causas desse problema:
Causa | Para |
---|---|
Sem tráfego de API para o ambiente da organização | Edge para usuários da nuvem privada |
Dados disponíveis no banco de dados Postgres, mas não exibidos na interface | Edge para usuários da nuvem privada |
Os dados do Google Analytics não estão sendo enviados ao banco de dados do Postgres | Edge para usuários da nuvem privada |
Implantação incorreta do Google Analytics | Edge para usuários da nuvem privada |
UUIDs de servidor de análise desatualizados | Edge para usuários da nuvem privada |
Nenhum tráfego de API para o ambiente da organização
Diagnóstico
- Verifique se há tráfego para os proxies de API no ambiente da organização específico durante
o período pelo qual você está tentando visualizar os dados de análise usando um dos seguintes
métodos:
- Ative o rastro para qualquer uma das APIs que esteja sendo usada pelos usuários no momento e verifique se você consegue receber solicitações no rastro.
- Visualize os registros de acesso do NGINX (
/opt/apigee/var/log/edge-router/nginx/logs/access.log)
) e veja se há novas entradas para proxies de API para a duração específica. - Se você registrar informações dos proxies de API em um servidor de registro, como Syslog, Splunk, Loggly etc., será possível verificar se há entradas nesses servidores de registros para proxies de API com uma duração específica.
- Se não houver tráfego (nenhuma solicitação de API) na duração específica, os dados de análise não estarão disponíveis. A mensagem "Sem tráfego no período selecionado" vai aparecer no painel de análise.
Resolução
- Faça algumas chamadas para um ou mais proxies de API no ambiente da organização específico.
- Aguarde alguns segundos, abra os painéis de análise na guia "Hora" e confira se os dados aparecem.
- Se o problema persistir, prossiga para Dados disponíveis no banco de dados do Postgres, mas não são exibidos na IU.
Dados disponíveis no banco de dados do Postgres, mas não exibidos na interface
Sintoma
Primeiro, determine a disponibilidade dos dados mais recentes do Analytics no banco de dados do Postgres.
Para verificar se os dados mais recentes do Analytics estão disponíveis no nó mestre do Postgres:
- Faça login em cada um dos servidores Postgres e execute o seguinte comando para validar se você está
no nó mestre do Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- No nó mestre do Postgres, faça login no PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Verifique se a tabela existe para seu org-env usando a seguinte consulta SQL no banco de dados
Postgres:
\d analytics."orgname.envname.fact"
- Verifique se os dados mais recentes estão disponíveis no banco de dados Postgres usando a seguinte consulta SQL:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Se o carimbo de data/hora mais recente for muito antigo (ou nulo), isso vai indicar que os dados não estão disponíveis no banco de dados do Postgres. A causa provável para esse problema seria que os dados não foram enviados do servidor Qpid para o banco de dados do Postgres. Prossiga para Os dados do Analytics não estão sendo enviados ao banco de dados do Postgres.
- Se os dados mais recentes estiverem disponíveis no banco de dados do Postgres no nó mestre, siga as etapas abaixo para diagnosticar por que os dados não estão sendo exibidos na interface do Edge.
Diagnóstico
- Ative as Ferramentas para desenvolvedores
no navegador Chrome e siga as etapas abaixo para usar a API em um dos painéis de análise:
- Selecione a guia "Rede" nas Ferramentas para desenvolvedores.
- Iniciar gravação.
- Atualize o painel do Google Analytics.
- No painel à esquerda das Ferramentas para desenvolvedores, selecione a linha com "apiproxy?_optimized...".
- No painel à direita nas Ferramentas para desenvolvedores, selecione a guia "Cabeçalhos" e observe o "URL da solicitação".
- Veja este exemplo de saída das Ferramentas para desenvolvedores:
Exemplo de saída que mostra a API usada no painel de desempenho do proxy da guia "Rede" do painel "Ferramentas para desenvolvedores" do painel de desempenho do proxy
- Execute a chamada da API de gerenciamento diretamente e verifique se os resultados são exibidos. Confira um exemplo de chamada de API
para a guia "Dia" no painel de desempenho do proxy:
curl -u username:password "http://management_server_IP_address:8080/v1/organizations/ org_name/environments/env_name/stats/apiproxy?limit=14400& select=sum(message_count),sum(is_error),avg(total_response_time), avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error), avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+ 18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
- Se você receber uma resposta bem-sucedida, mas sem dados, isso indica que o servidor de gerenciamento não conseguiu buscar os dados do servidor Postgres devido a problemas de conectividade de rede.
- Verifique se você consegue se conectar ao servidor Postgres pelo servidor de gerenciamento:
telnet Postgres_server_IP_address 5432
- Se você não conseguir se conectar ao servidor Postgres, verifique se há alguma restrição de firewall na porta 5432.
- Se houver restrições de firewall, talvez essa seja a causa de o servidor de gerenciamento não conseguir extrair os dados do servidor Postgres.
Resolução
- Se houver restrições de firewall, remova-as para que o servidor de gerenciamento possa se comunicar com o servidor Postgres.
- Se não houver restrições de firewall, o problema pode ser devido a uma falha na rede.
- Se houve qualquer falha de rede no servidor de gerenciamento, reiniciar ele pode corrigir o problema.
- Reinicie todos os servidores de gerenciamento, um a um, usando o comando abaixo:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Verifique se você consegue ver os dados de análise na interface do Edge.
Se os dados ainda não aparecerem, entre em contato com o suporte do Apigee Edge.
Os dados do Analytics não estão sendo enviados ao banco de dados do Postgres
Diagnóstico
Se os dados não forem enviados do Qpid Server para o banco de dados do Postgres, conforme determinado em Dados disponíveis no banco de dados do Postgres, mas não exibidos na interface, execute as seguintes etapas:
- Para verificar se cada um do servidor Qpid está funcionando, execute o comando abaixo:
/opt/apigee/bin/apigee-service edge-qpid-server status
- Se algum servidor Qpid estiver inativo, reinicie-o. Caso contrário, pule para a etapa 5.
/opt/apigee/bin/apigee-service edge-qpid-server restart
- Aguarde um tempo e verifique novamente se os dados mais recentes estão disponíveis no banco de dados do Postgres.
- Faça login no PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Execute a consulta SQL abaixo para verificar se os dados mais recentes estão disponíveis:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Faça login no PostgreSQL:
- Se os dados mais recentes estiverem disponíveis, pule as etapas a seguir e prossiga para a última etapa da seção "Resolução". Se os dados mais recentes não estiverem disponíveis, siga as etapas a seguir.
- Verifique se as mensagens das filas do servidor Qpid estão sendo enviadas por push para o banco de dados do Postgres.
- Execute
qpid-stat -q command
e verifique os valores das colunas msgIn e msgOut. - Este é um exemplo de saída que mostra que msgIn e msgOut não são iguais. Isso indica que as mensagens não estão sendo enviadas do Qpid Server para o Postgres Database.
- Execute
- Se houver uma incompatibilidade nas colunas msgIn e msgOut, verifique se há algum erro
nos registros do servidor do Qpid
/opt/apigee/var/log/edge-qpid-server/system.log
. - É possível que você veja mensagens de erro como "Provavelmente PG ainda está fora do ar" ou
"FATAL: Língua, muitos clientes já", conforme mostrado na figura abaixo:
2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (FATAL: sorry, too many clients already)
Isso poderá acontecer se o servidor Postgres estiver executando muitas consultas SQL ou se a CPU estiver alta e, portanto, não conseguir responder ao Qpid Server.
Resolução
- Reinicie o servidor Postgres e o PostgreSQL conforme mostrado abaixo:
/opt/apigee/bin/apigee-service edge-postgres-server restart
/opt/apigee/bin/apigee-service apigee-postgresql restart
- Essa reinicialização garante que todas as consultas SQL anteriores sejam interrompidas e que permita novas conexões com o banco de dados do Postgres.
- Atualize os painéis do Google Analytics e verifique se os dados do Analytics estão sendo exibidos.
Se o problema persistir, entre em contato com o suporte do Apigee Edge.
Implantação incorreta do Google Analytics
Diagnóstico
- Veja o status de implantação da análise usando a seguinte chamada de API:
curl -u user_email:password http://management_server_host:port /v1/organizations/orgname/environments/envname/provisioning/axstatus
- Verifique o status dos servidores Qpid e Postgres com base nos resultados da chamada de API.
- Se o status dos servidores Qpid e Postgres for mostrado como "SUCESSO", isso indica que a conexão dos servidores de análise está correta. Prossiga para UUIDs desatualizados do servidor do Analytics.
- Se o status dos servidores Qpid/Postgres for mostrado como "UNKNOWN" ou "falha", isso significa que há um problema com o servidor correspondente.
Por exemplo, o cenário a seguir mostra o status dos servidores Postgres como "UNKNOWN":
Isso pode acontecer se houver uma falha durante a integração do Analytics. Essa falha impede que as mensagens dos servidores de gerenciamento cheguem aos servidores do Postgres.
Resolução
Normalmente, esse problema pode ser resolvido reiniciando os servidores que exibiram "Falha" ou "DESCONHECIDO".
- Reinicie cada um dos servidores que tiverem o status de fiação de análise indicado como "falha" ou "UNKNOWN"
usando o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service component restart
- Por exemplo:
- Se o problema aparecer nos servidores Qpid, reinicie esses servidores:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Se o problema aparecer nos servidores Postgres, reinicie os nós do servidor mestre e
escravo do Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Se o problema aparecer nos servidores Qpid, reinicie esses servidores:
- No exemplo acima, a mensagem "UNKNOWN" é mostrada para os servidores Postgres. Portanto, é necessário
reiniciar os servidores mestre e escravo do Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
UUIDs de servidor de análise desatualizados
Diagnóstico
- Confira a configuração de análise usando a seguinte chamada de API:
curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
Veja um exemplo de saída da API acima:
[ { "name" : "axgroup001", "properties" : { "consumer-type" : "ax" }, "scopes" : [ "myorg~prod", "myorg~test" ], "uuids" : { "aries-datastore" : [ ], "postgres-server" : [ "6777...2db14" ], "dw-server" : [ ], "qpid-server" : [ "774e...fb23", "29f3...8c11" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "774e...8c11" ], "datastores" : [ "6777...db14" ], "properties" : { } } ], "data-processors" : { } } ]
- Confira se as informações a seguir na saída estão corretas:
- nomes de org-env listados no elemento "scopes".
- UUIDs dos servidores Postgres e Qpid.
- Para acessar os UUIDs do servidor Postgres, execute o seguinte comando em cada um dos
nós do servidor Postgres:
curl 0:8084/v1/servers/self/uuid
- Para acessar os UUIDs do servidor Qpid, execute o seguinte comando em cada um dos
nós do servidor Qpid:
curl 0:8083/v1/servers/self/uuid
- Para acessar os UUIDs do servidor Postgres, execute o seguinte comando em cada um dos
nós do servidor Postgres:
- Se todas as informações estiverem corretas, prossiga para Os dados do Analytics não estão sendo enviados ao banco de dados do Postgres.
- Se os UUIDs dos servidores Postgres e/ou Qpid estiverem incorretos, é possível que os servidores de gerenciamento estejam se referindo a UUIDs desatualizados.
Resolução
Para remover os UUIDs desatualizados e adicionar os UUIDs corretos dos servidores, entre em contato com o suporte do Apigee Edge.