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 Coletor de estatísticas política não está visível em "Dimensões personalizadas" nos relatórios personalizados do Google Analytics interface do Edge.
Mensagem de erro
O registro do sistema Edge-postgres-server terá o seguinte erro após a reinicialização de cada combinação de organização/ambiente em que o caminho está ausente:
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
Causas possíveis
Causa | Descrição | Instruções para solução de problemas aplicáveis |
---|---|---|
O caminho das propriedades do Zookeeper está ausente para a combinação de organização e ambiente. | Quando o caminho /organizations/ do ZooKeeper
está ausente, não é possível criar dimensões personalizadas. |
Usuários da nuvem privada de borda |
Causa: o caminho das propriedades ZooKeeper está ausente para a combinação de organização e ambiente
Diagnóstico
O Google Analytics é ativado para uma combinação de organização e ambiente por meio do
Ativar a API Analytics, que preenche o /organizations/
na árvore do ZooKeeper. Quando essa API falha, o componente Edge-postgres-server não pode criar
dimensões personalizadas, e o seguinte erro aparecerá em seu system.log:
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
Isso geralmente acontece quando uma organização foi integrada em uma época em que mais de um que existia um grupo de análise que usava os mesmos UUIDs postgres-server. Para verificar quantas análises grupos existirem, execute a seguinte chamada de API:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
Se essa API retornar vários grupos, essa é a causa mais provável do problema. No exemplo a seguir, observe que existem dois grupos, diferenciados apenas por um hífen: axgroup-001 e axgroup001
[ { "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { } }, { "name" : "axgroup001", "properties" : { }, "scopes" : [ "example~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { }
Especificamente, o problema ocorre se o UUID postgres-server configurado para cada axgroup é o mesmo. Uma maneira rápida de determinar isso é executar o seguinte:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
O exemplo de saída a seguir compara rapidamente os UUIDs do postgres-server para determinar eles são iguais:
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]-- "name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
Resolução
O mesmo conjunto de servidores PostgreSQL não pode ser atribuído a dois axgroups. A maneira mais rápida de resolver isso é excluir as informações do servidor postgres de um axgroup e atribuir todos os escopos (organização, combinações de ambiente) ao outro grupo. Para isso, siga estas etapas:
- Remova os componentes do servidor postgres de um dos dois axgroups usando as instruções em Adicionar e excluir componentes de análise em grupos de análise. Se você tiver problemas apenas com escopos de não produção, escolha o axgroup que NÃO tem nenhum escopo de produção para este exercício. Caso contrário, escolha o axgroup com o menor número de escopos.
- Remova todos os escopos do axgroup que não tenham mais servidores postgres e aqueles que
para o qual você está vendo o problema de dimensão personalizada no axgroup. Supondo que
axgroup-001
do exemplo acima é o grupo que você quer usar. use o seguinte para remover o escopo da organização myorg, e o ambiente prod:curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- Ative o Google Analytics usando o Ativar a API Analytics.
- Reinicie o componente Edge-postgres-server no nó mestre do postgres e tudo
os componentes do Edge-qpid-server que você possa ter instalados, usando os seguintes comandos:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Verifique se o erro fornecido na seção Mensagem de erro acima
não ocorre mais no arquivo de registro do servidor Postgres
/opt/apigee/var/log/edge-postgres-server/logs/system.log
- Confirme se as dimensões personalizadas aparecem na interface do Edge.
Se o problema persistir, consulte Precisa de informações de diagnóstico.
É necessário coletar informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções anteriores, reúna as seguintes informações de diagnóstico. Entre em contato e compartilhe com o suporte do Apigee Edge:
- O
/opt/apigee/var/log/edge-postgres-server/logs/system.log
do Edge-postgres-server depois da reinicialização mais recente. - O resultado da seguinte chamada da API Management:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- A saída da árvore ZooKeeper foi obtida usando o seguinte comando:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt