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:
- Gere a árvore do ZooKeeper usando o seguinte comando:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- Procure a variável personalizada na saída da árvore do ZooKeeper.
- 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:
- No nó do Postgres, faça login no PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Execute a seguinte consulta SQL:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- No nó do Postgres, faça login no PostgreSQL:
- É 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
- 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:
- Criar um arquivo
/opt/apigee/customer/application/postgres-server.properties
em a máquina do servidor Postgres, se ela ainda não existir. - Adicione a seguinte linha a esse arquivo:
conf_pg-agent_forceonboard=true
- Use o comando a seguir para verificar se esse arquivo é de propriedade da Apigee:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Reinicie o servidor do Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Se você tiver mais de um servidor Postgres, repita as etapas acima em todas servidores Postgres.
- Cancelar a implantação e implantar o proxy de API que usa o StatisticsCollector política.
- Execute as chamadas de API.
- 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.