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

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Sintoma

A variável personalizada criada usando a política StatisticsCollector não aparece em "Dimensões personalizadas" nos relatórios personalizados do Analytics na interface do Edge.

Mensagens de erro

Nenhum erro observado.

Causas possíveis

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

Causa Para
Variável personalizada que não segue as diretrizes padrão Usuários da nuvem pública e privada do Edge
Nenhum tráfego no proxy de API que implementa a política StatisticsCollector Usuários da nuvem pública e privada do Edge
Variável personalizada não enviada ao servidor Postgres Usuários da nuvem privada do Edge

Clique em um link na tabela para conferir as possíveis resoluções para essa causa.

Variável personalizada que não segue as diretrizes padrão

Diagnóstico

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

O snippet de código abaixo mostra que o nome da variável "product id" tem um espaço, então ela não vai aparecer em "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 de variáveis personalizadas usados na política StatisticsCollector no proxy de API precisam seguir estas 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 precisa ser alterado para "product_id".
  • Não há distinção entre maiúsculas e minúsculas.
  • As palavras-chave reservadas listadas na tabela neste link não são permitidas. Por exemplo, "user" não é permitido. Para mais informações, consulte Palavras-chave SQL.

Se o problema persistir, acesse Nenhum tráfego no proxy de API que implementa a política StatisticsCollector.

Nenhum tráfego no proxy de API que implementa a política StatisticsCollector

Diagnóstico

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

Resolução

Faça algumas chamadas para o proxy de API que implementa a política StatisticsCollector.

Aguarde um pouco e verifique se as variáveis personalizadas aparecem nas dimensões personalizadas no relatório personalizado.

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

Variável personalizada não enviada ao servidor Postgres

Diagnóstico

Quando uma variável personalizada é criada no proxy de API e as chamadas de API são feitas, a variável é armazenada na memória do 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, as envia para o servidor Postgres para adicioná-la como uma coluna no banco de dados Postgres.

Às vezes, a notificação do ZooKeeper não chega ao servidor Postgres devido a problemas de rede. Por causa desse 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 comandos a seguir para verificar se ela foi adicionada ao banco de dados 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 a coluna de variável personalizada esteja ausente na tabela de fatos, que é o motivo de ela não aparecer nas dimensões personalizadas.

Resolução

Solução 1: reinicie o servidor Postgres

  1. Reinicie o servidor Postgres para forçar a leitura de todas as informações relevantes para 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: ative 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 Postgres, se ele ainda não existir.
  2. Adicione a seguinte linha a esse arquivo:
    conf_pg-agent_forceonboard=true
  3. Verifique se esse arquivo pertence ao 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 os servidores Postgres.
  6. Cancele a implantação e implante novamente o proxy de API que usa a política StatisticsCollector.
  7. Execute as chamadas de API.
  8. Verifique se as variáveis personalizadas aparecem nas dimensões personalizadas no relatório personalizado.

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