Os dados não aparecem nos painéis de análise

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Sintoma

Os painéis de análise (Desempenho do proxy, Desempenho desejado etc.) não estão exibindo nenhum 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
Nenhum tráfego de API para a organização e o ambiente Edge para usuários da nuvem privada
Dados disponíveis no banco de dados do Postgres, mas não são exibidos no Interface Edge para usuários da nuvem privada
Os dados do Analytics não estão sendo enviados para o 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 do servidor de análise desatualizados Edge para usuários da nuvem privada

Nenhum tráfego de API para a organização e o ambiente

Diagnóstico

  1. Verifique se há tráfego para os proxies de API no ambiente da organização específico para o tempo específico durante o qual você está tentando visualizar os dados de análise usando um dos itens a seguir métodos:
    1. Ativar o rastreamento para qualquer API que esteja sendo usada pelos usuários e verifique se você recebe alguma solicitação no rastro.
    2. Ver os registros de acesso do NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log) e veja se há algum novas entradas para proxies de API para a duração específica.
    3. Se você registrar informações dos Proxies de API em um servidor de registros como Syslog, Splunk, Loggly, etc., poderá verificar se há entradas nesses servidores de registro para proxies de API para a duração específica.
  2. Se não houver tráfego (nenhuma solicitação de API) durante um período específico, os dados de análise serão indisponível. A mensagem "Sem tráfego no período selecionado" vai aparecer. nas análises mais avançado.

Resolução

  1. Faça algumas chamadas para um ou mais proxies de API no ambiente da organização específico.
  2. Aguarde alguns segundos, visualize os painéis de análise na guia "Hora" e verifique se os dados são exibidos.
  3. Se o problema persistir, acesse Dados disponíveis no Postgres no banco de dados, mas não em exibição na interface.

Dados disponíveis no banco de dados do Postgres, mas não sã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 Postgres Master nó:

  1. 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
    
  2. No nó Master Postgres, faça login no PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Verifique se a tabela existe para seu ambiente organizacional usando a seguinte consulta SQL no Postgres banco de dados:
    \d analytics."orgname.envname.fact"
    
  4. Verifique se os dados mais recentes estão disponíveis no banco de dados Postgres usando o seguinte SQL consulta:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Se o último carimbo de data e hora for muito antigo (ou nulo), isso indica que os dados não disponíveis no banco de dados do Postgres. A causa provável desse problema seria que os dados são enviados do servidor Qpid para o banco de dados do Postgres. Prossiga para a seção Os dados do Analytics não estão sendo enviados para o banco de dados do Postgres.
  6. 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

  1. Ative as Ferramentas para desenvolvedores. no navegador Chrome e use a API em um dos painéis de análise de dados usando o etapas abaixo:
    1. Selecione a guia "Rede" nas Ferramentas para desenvolvedores.
    2. Iniciar gravação.
    3. Atualize o painel do Google Analytics.
    4. No painel à esquerda das Ferramentas para desenvolvedores, selecione a linha que tem "apiproxy?_optimized...".
    5. No painel à direita das Ferramentas para desenvolvedores, selecione os "Cabeçalhos" e anote a "Solicitar URL".
  2. Este é um exemplo de saída das Ferramentas para desenvolvedores:

    Exemplo de saída mostrando a API usada no painel de desempenho do proxy na guia "Rede" das Ferramentas para desenvolvedores no painel de desempenho do proxy

  3. Execute a chamada da API de gerenciamento diretamente e verifique se você recebe os resultados. Este é um exemplo de API chamada 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"
    
  4. Se você vir uma resposta bem-sucedida, mas sem nenhum dado, isso indica que o O servidor de gerenciamento não conseguiu buscar os dados do servidor Postgres devido às e problemas de conectividade.
  5. Verifique se você consegue se conectar ao servidor Postgres pelo servidor de gerenciamento:
    telnet Postgres_server_IP_address 5432
    
  6. Se não for possível se conectar ao servidor Postgres, verifique se há algum firewall restrições na porta 5432.
  7. Se houver restrições de firewall, isso pode ser a causa do Servidor de gerenciamento não consegue extrair os dados do servidor Postgres.

Resolução

  1. Se houver restrições de firewall, remova-as para que o servidor de gerenciamento possa para se comunicar com o servidor Postgres.
  2. Se não houver restrições de firewall, o problema pode ser devido a uma falha na rede.
  3. Se houver qualquer falha de rede no servidor de gerenciamento, reiniciá-lo poderá corrigir os problema.
  4. Reinicie todos os servidores de gerenciamento, um por um, usando o comando abaixo:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Verifique se você consegue ver os dados de análise na interface do Edge.

Se você ainda não encontrar os dados, entre em contato com o suporte do Apigee Edge.

Os dados de análise não estão sendo enviados para o 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:

  1. Execute o comando abaixo para verificar se cada servidor Qpid está em execução:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Se algum Qpid Server estiver inativo, reinicie-o. Caso contrário, pule para a etapa 5.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Aguarde um tempo e verifique novamente se os dados mais recentes estão disponíveis no banco de dados do Postgres.
    1. Faça login no PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. 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";
      
  4. Se os dados mais recentes estiverem disponíveis, pule as etapas a seguir e prossiga para a última etapa Seção Resolução. Se os dados mais recentes não estiverem disponíveis, faça o seguinte etapas.
  5. Verifique se as mensagens das filas do servidor Qpid estão sendo enviadas por push para o banco de dados do Postgres.
    1. Execute qpid-stat -q command, verifique as propriedades msgIn e msgOut.
    2. Este é um exemplo de saída que mostra que msgIn e msgOut não são iguais. Isso indica que as mensagens não estejam sendo enviadas do Qpid Server para o banco de dados do Postgres.

  6. Se não houver correspondência nas colunas msgIn e msgOut, verifique o Qpid. registros do servidor /opt/apigee/var/log/edge-qpid-server/system.log e ver se há se há algum erro.
  7. Podem aparecer mensagens de erro como "Provavelmente PG ainda está indisponível" ou "FATAL: sinto muito, já tem muitos clientes", como mostra a 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 pode acontecer se o servidor Postgres estiver executando muitas consultas SQL ou a CPU estiver em execução alta e, portanto, não consegue responder ao Qpid Server.

Resolução

  1. 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
    
  2. Essa reinicialização garante que todas as consultas SQL anteriores sejam interrompidas e permite novas conexões ao banco de dados do Postgres.
  3. 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

  1. Receba o status da implantação de 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
    
  2. Verifique o status dos servidores Qpid e Postgres nos resultados da chamada de API.
    1. Se o status dos servidores Qpid e Postgres for exibido como "SUCESSO", isso indica os servidores de análise estão conectados corretamente. Continuar para Desatualizado UUIDs do servidor de análise.
    2. Se o status dos servidores Qpid/Postgres for mostrado como "UNKNOWN" ou "ERRO", indica um problema com o servidor correspondente.

      Por exemplo, o cenário a seguir mostra o status dos servidores do Postgres como "DESCONHECIDO":

      Isso pode acontecer se houver uma falha durante a integração da análise. Esta falha impede que as mensagens dos servidores de gerenciamento cheguem aos servidores do Postgres.

Resolução

Este problema pode ser normalmente resolvido reiniciando os servidores que mostraram o erro "FALHA" ou "UNKNOWN".

  1. Reiniciar cada um dos servidores cujo status da fiação de análise indicou "ERRO" ou "UNKNOWN" usando o seguinte comando:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Por exemplo:
    1. Se o problema ocorrer nos servidores Qpid, reinicie esses servidores:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Se o problema ocorrer nos servidores do Postgres, reinicie os servidores mestre e escravo Nós do servidor Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. No exemplo acima, o valor "UNKNOWN" é exibida para os servidores do Postgres, portanto, é necessário para reiniciar os servidores mestre e secundário do Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

UUIDs do servidor de análise desatualizados

Diagnóstico

  1. Receba 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
    

    Aqui está 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" : {
      }
    } ]
    
  2. Verifique se as seguintes informações na saída estão corretas:
    1. nomes de org-env listados nos "escopos" .
    2. UUIDs dos servidores Postgres e Qpid.
      • Encontre os UUIDs do servidor Postgres executando o seguinte comando em cada um dos Nós do servidor Postgres:
        curl 0:8084/v1/servers/self/uuid
        
      • Acesse os UUIDs do Qpid Server executando o seguinte comando em cada um dos Qpid nós de servidor:
        curl 0:8083/v1/servers/self/uuid
        
  3. Se todas as informações estiverem corretas, prossiga para Dados do Google Analytics não são enviados ao banco de dados do Postgres.
  4. Se os UUIDs dos servidores Postgres e/ou Qpid estiverem incorretos, é possível que os servidores de gerenciamento estão 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.