A variável personalizada não está visível para os relatórios personalizados do Google Analytics

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Sintoma

A variável personalizada criada com a política Statisticscollector não fica visível em "Dimensões personalizadas" nos relatórios personalizados do Analytics, na interface do Edge.

Mensagens de erro

Nenhum erro foi observado.

Causas possíveis

A tabela a seguir lista as possíveis causas desse problema:

Causa Para
A variável personalizada não segue as diretrizes padrão Usuários de nuvem privada e pública do Edge
Não há tráfego no proxy de API implementando a política Statisticscollector Usuários de nuvem privada e pública do Edge
A variável personalizada não foi enviada ao servidor Postgres Usuários da nuvem privada do Edge

Clique em um link na tabela para ver as possíveis soluções para a causa.

A variável personalizada não segue as diretrizes padrão

Diagnóstico

Se o nome da variável personalizada usado na política StatisticsColeor não seguir as diretrizes padrão (consulte Resolução), ele não aparecerá nos relatórios personalizados.

O snippet de código abaixo mostra que o nome da variável "product id" tem um espaço. Por isso, ela não aparecerá na dimensão personalizada no relatório personalizado.

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

Resolução

Os nomes das variáveis personalizadas usados na política Statisticscollector no proxy de API precisam seguir as seguintes diretrizes:

  • Os nomes podem incluir [a-z][0-9] e "_".
  • Os nomes não podem incluir espaços. Por exemplo, no exemplo de código mostrado acima, o nome da variável deve ser alterado para "product_id".
  • Não há distinção entre maiúsculas e minúsculas.
  • As palavras-chave reservadas listadas na tabela no link a seguir não são permitidas. Por exemplo, não é permitido usar "usuário". Para mais informações, consulte Palavras-chave SQL.

Se o problema persistir, prossiga para a página Sem tráfego no proxy de API implementando a política Statisticscollector.

Nenhum tráfego no proxy de API está implementando a política Statisticscollector

Diagnóstico

Se não houver tráfego no proxy de API que implemente a política Statisticscollector, a variável personalizada não vai aparecer nos relatórios personalizados.

Resolução

Faça algumas chamadas ao proxy de API que implementa a política Statisticscollector.

Aguarde um tempo e verifique se as variáveis personalizadas aparecem nas dimensões personalizadas do relatório.

Se o problema persistir, prossiga para Variável personalizada não enviada ao servidor Postgres.

A variável personalizada não foi enviada ao servidor Postgres

Diagnóstico

Quando uma variável personalizada é criada no proxy de API e chamadas de API são feitas, primeiro ela é armazenada na memória, no processador de mensagens. Em seguida, o processador de mensagens envia as informações sobre a nova variável para o ZooKeeper, que, por sua vez, a envia ao servidor do Postgres para adicioná-la como uma coluna no banco de dados do Postgres.

Às vezes, a notificação do ZooKeeper pode não chegar ao servidor do Postgres devido a problemas de rede. Devido a esse erro, a variável personalizada pode não aparecer no relatório personalizado.

Para identificar onde a variável personalizada está ausente:

  1. Gere a árvore do ZooKeeper usando o seguinte comando:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Procure a variável personalizada na saída da árvore do ZooKeeper.
  3. Se a variável personalizada existir na árvore do ZooKeeper, execute os seguintes comandos para verificar se ela foi adicionada ao banco de dados do Postgres:
    1. No nó do Postgres, faça login no PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Execute a seguinte consulta SQL:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. É muito provável que você perceba que essa coluna está ausente na tabela de fatos. É por isso que ela não aparece nas dimensões personalizadas.

Resolução

Solução 1: reiniciar o servidor Postgres

  1. Reinicie o servidor Postgres para forçá-lo a ler todas as informações relevantes para o Analytics do Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Se o problema persistir, aplique a Solução 2.

Solução 2: ativar a propriedade forceonboard

Ative a propriedade forceonboard seguindo as etapas abaixo:

  1. Crie o arquivo /opt/apigee/customer/application/postgres-server.properties na máquina do servidor do Postgres, se ele ainda não existir.
  2. Adicione a seguinte linha a este arquivo:
    conf_pg-agent_forceonboard=true
  3. Verifique se esse arquivo pertence à Apigee usando o seguinte comando:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Reinicie o servidor Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Se você tiver mais de um servidor Postgres, repita as etapas acima em todos eles.
  6. Cancele a implantação e implante o proxy de API que usa a política Statisticscollector.
  7. Executar as chamadas de API.
  8. Verifique se as variáveis personalizadas aparecem nas dimensões personalizadas do relatório.

Se o problema persistir, entre em contato com o suporte do Apigee Edge.