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

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

Sintoma

A variável personalizada criada usando o método A política StatisticsCollector é 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 adere às diretrizes padrão Usuários de nuvem pública e privada de borda
Nenhum tráfego no proxy da API implementando a política StatisticsCollector Usuários de nuvem pública e privada de borda
A variável personalizada não foi enviada ao servidor do Postgres Usuários da nuvem privada de borda

Clique em um link na tabela e consulte as possíveis soluções para essa causa.

A variável personalizada não adere às diretrizes padrão

Diagnóstico

Se o nome da variável personalizada usado na política StatisticsCollector não aderir às 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

Nomes de variáveis personalizadas usados na política StatisticsCollector na API proxy deve 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 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 permitidos. Por exemplo, "usuário" não é permitido. Para mais informações, consulte Palavras-chave SQL.

Se o problema persistir, prossiga para Nenhum tráfego no proxy da API implementando a política StatisticsCollector.

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

Diagnóstico

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

Resolução

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

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

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

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

Diagnóstico

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

Às vezes, a notificação do ZooKeeper pode não chegar ao servidor do Postgres devido à conexão com a rede problemas. Por causa desse erro, a variável personalizada pode não aparecer 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 o comandos a seguir para verificar se a variável personalizada foi adicionada ao arquivo Postgres banco de dados:
    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ê veja que a coluna da variável personalizada estará ausente na tabela de fatos, que é o motivo para ela não aparecer 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 ao 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 o forceonboard da propriedade

Siga as etapas abaixo para ativar a propriedade forceonboard:

  1. Criar um arquivo /opt/apigee/customer/application/postgres-server.properties em a máquina do servidor Postgres, se ela ainda não existir.
  2. Adicione a seguinte linha a esse arquivo:
    conf_pg-agent_forceonboard=true
  3. Use o comando a seguir para verificar se esse arquivo é de propriedade da Apigee:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Reinicie o servidor do 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 todas servidores Postgres.
  6. Cancelar a implantação e implantar o proxy de API que usa o StatisticsCollector política.
  7. Execute as chamadas de API.
  8. Verifique se as variáveis personalizadas aparecem nas dimensões personalizadas Relatório

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