O relatório expirou

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

Sintoma

Quando você usa o script apigee-provision para criar uma nova organização, às vezes o script é fechado com uma mensagem de erro. Após esse erro, se você tentar visualizar o painel da IU do Edge ou qualquer painel de análise, verá a mensagem de erro O relatório expirou para a organização recém-criada.

Mensagem de erro

Ao executar o script apigee-provision para criar uma nova organização, talvez você veja a seguinte mensagem de erro:

!!!! Error !!!! 
HTTP STATUS CODE: 400 
{ 
"code" : "dataapi.service.PGFoundInMultipleGroups", 
"message" : "dataapi.service.PGFoundInMultipleGroups", 
"contexts" : [ ] 
} 

Mesmo que você receba esse erro, será possível operar na organização recém-criada após a saída do script de provisionamento. No entanto, ao tentar visualizar o painel da IU do Edge, você vai encontrar a mensagem de erro abaixo para a organização recém-criada:

The report timed out
Try again with a smaller date range or a larger aggregation interval.

Esta é uma captura de tela mostrando o erro:

Causas possíveis

Causa Descrição Instruções para solução de problemas aplicáveis
Configuração de vários grupos do AX Vários grupos de análise foram criados com o mesmo conjunto de servidores do Postgres. Usuários da nuvem privada de borda

Causa: configuração de vários grupos AX

Diagnóstico

  1. Execute a seguinte API de gerenciamento de grupos do Google Analytics e determine se a saída mostra mais de um grupo de análise definido. Exemplo:

    curl -u adminEmail:adminPwd http://<ms_ip>:8080/v1/analytics/groups/ax
    

    Exemplo de saída mostrando dois grupos de análise

    {  
     "name":"axgroup-001",
     "properties":{  
     },
     "scopes":[  
     ],
     "uuids":{  
        "qpid-server":[  
           "5c1e9690-7b58-499a-a4bb-d54454474b8f",
           "7794c428-e553-4ed2-843d-69f93bbec8a3"
        ],
        "postgres-server":[  
           "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
        ]
     },
     "consumer-groups":[  
        {  
           "name":"consumer-group-001",
           "consumers":[  
              "5c1e9690-7b58-499a-a4bb-d54454474b8f",
              "7794c428-e553-4ed2-843d-69f93bbec8a3"
           ],
           "datastores":[  
              "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
           ],
           "properties":{
           }
        }
     ],
     "data-processors":{  
     }
    },
    {  
     "name":"axgroup001",
     "properties":{  
        "consumer-type":"ax"
     },
     "scopes":[  
        "017pdspoint~dev",
        "010test~dev",
        "019charmo~dev",
        "009gcisearch1~dev",
        "000fj~trial-fjwan",
        "009dekura~dev",
        "008pisa~dev",
        "004fjadrms~dev",
        "018k5billing~dev",
        "004study14~dev",
        "001teama~dev",
        "005specdb~dev",
        "test~dev",
        "000fj~prod-fjwan",
        "012pjweb~dev",
        "020workflow~dev",
        "007ikou~prod-fjwan",
        "003asano~dev",
        "013mims~dev",
        "006studyhas~dev",
        "006efocus~dev",
        "002wfproto~dev",
        "008murahata~dev",
        "016mediaapi~dev",
        "015skillnet~dev",
        "014aclmanager~dev",
        "010fjppei~dev",
        "000fj~trial",
        "003esupport~dev",
        "000fj~prod",
        "005ooi~dev",
        "test~elb1",
        "007fjauth~dev",
        "011osp~dev",
        "002study~dev",
        "999test~dev"
     ],
     "uuids":{  
        "qpid-server":[  
           "5c1e9690-7b58-499a-a4bb-d54454474b8f",
           "7794c428-e553-4ed2-843d-69f93bbec8a3"
        ],
        "aries-datastore":[  
        ],
        "postgres-server":[  
           "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
        ],
        "dw-server":[  
        ]
     },
     "consumer-groups":[  
        {  
           "name":"consumer-group-001",
           "consumers":[  
              "5c1e9690-7b58-499a-a4bb-d54454474b8f",
              "7794c428-e553-4ed2-843d-69f93bbec8a3"
           ],
           "datastores":[  
              "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
           ],
           "properties":{  
           }
        }
     ],
     "data-processors":{  
     }
    }

    Essa saída mostra que há dois grupos de análise, axgroup-001 e axgroup001.

  2. Verifique se todos os grupos de análise têm escopos definidos.

    Na saída dos grupos de análise de exemplo mostrada acima, o grupo de análise axgroup-001 não tem nenhum escopo definido, mas ainda tem servidores Postgres definidos como repositórios de dados.

  3. Execute o comando de estatísticas da fila do Qpid abaixo nos servidores Qpid e valide se não há mensagens para o grupo de análise específico identificado na etapa 2.

    qpid-stat -q
    

    Exemplo de estatísticas da fila do Qpid

    As seguintes estatísticas da fila Qpid indicam que não há mensagens vindas da fila do grupo de análise específico do exemplo citado acima (axgroup-001):

    fila dur (em inglês) autoDel excl mensagem msgIn msgOut bytes bytesIn bytesOut contras vínculo
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 S S 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 S 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl S 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 S 0 241 mil 241 mil 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl S 323 323 0 52,4 m 52,4 m 0 0 2

    Como não há mensagens/tráfego sendo enviados para o grupo de análise específico axgroup-001, você observa o erro "O tempo limite do relatório expirou". no painel da IU do Edge ou nos painéis de análise.

Resolução

Para resolver esse problema, exclua o axgroup que não tem escopos e não recebe tráfego.

Siga o procedimento abaixo para excluir o axgroup :

Etapa 1: excluir os consumidores do axgroup específico.

  1. Use a seguinte API de gerenciamento para remover cada um dos consumidores do axgroup:

    curl -v -u admin@email.com:password -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}/consumers/{uuid-of the consumer}'
    
  2. Repita a mesma chamada de API acima se houver vários consumidores, mencionando o UUID de cada consumidor em uma chamada de API separada.

    Para o exemplo mostrado acima, a API a seguir remove o consumidor com UUID 5c1e9690-7b58-499a-a4bb-d54454474b8f:

    curl -v -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/5c1e9690-7b58-499a-a4bb-d54454474b8f'
    
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    
  3. Execute novamente a mesma API para excluir o outro consumidor cujo UUID é 7794c428-e553-4ed2-843d-69f93bbec8a3 no exemplo atual.

Etapa 2 : remova os grupos para consumidores

  1. Use a seguinte API de gerenciamento para remover os grupos de consumidores do axgroup específico:

    curl -v -u admin@email.com:password -X DELETE 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}'
    

    Exemplo:

    A seguinte API exclui o nome do grupo de consumidores consumer-group-001:

    curl -v -X DELETE 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001'
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    

Etapa 3: excluir o qpid-servers do axgroup

  1. Use a API de gerenciamento abaixo para excluir qpid-servers do axgroup específico.

    curl -X DELETE -u admin@email.com "http://localhost:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={qpid-server-uuid}type=qpid-server" -H "Content-type: application/json"
    
  2. Executar novamente a mesma chamada de API se houver vários servidores Qpid.

    Exemplo:

    Use a seguinte API para excluir o servidor Qpid com o UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 no exemplo atual:

    curl -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=7794c428-e553-4ed2-843d-69f93bbec8a3&type=qpid-server" -H "Content-type: application/json"
    
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    }
    

Etapa 4: excluir os servidores postgres do axgroup

  1. Use a seguinte API de gerenciamento para excluir o servidor Postgres, se houver apenas um:

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-server-uuid}&type=postgres-server&force=true"
    
  2. Use a seguinte API de gerenciamento para excluir os servidores do Postgres se você tiver a configuração mestre e escravo do Postgres

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-master-uuid,postgres-slave-uuid}&type=postgres-server&force=true"
    

    Exemplo:

    No exemplo mostrado acima, há servidores Postgres mestre e escravos, então é possível usar a seguinte API para excluir os servidores Postgres:

    curl -v -X DELETE -H 'Accept:application/json'  "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=3b28b790-ec4e-45c5-a8d0-6d6f2088da65,750cd8ba-1799-4dfb-8c74-548010e95e5e&type=postgres-server&force=true"
    
    {
    "name" : "axgroup-001",
    "properties" : {
    },
    "scopes" : [ ],
    "uuids" : {
    "qpid-server" : [ ],
    "postgres-server" : [ ]
    },
    "consumer-groups" : [ ],
    "data-processors" : {
    }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    
    

ETAPA 5: remover o grupo de análise

  1. Use a seguinte API de gerenciamento para remover o grupo de análise:

    curl -v -X DELETE "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}"
    

    Exemplo:

    curl -v -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001"
    {
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
      },
      "consumer-groups" : [ ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    

ETAPA 6: verifique se o grupo foi completamente removido

  1. Use a seguinte API de gerenciamento para verificar se o grupo de análise específico foi completamente removido:

    curl -v -u admin@email.com -X GET "http://{mgmt-server-host}:8080/v1/analytics/groups/ax 
    

    Exemplo:

    curl localhost:8080/v1/analytics/groups/ax
    [ {
      "name" : "axgroup001",
      "properties" : {
        "consumer-type" : "ax"
      },
      "scopes" : [ "017pdspoint~dev", "010test~dev", "019charmo~dev", "009gcisearch1~dev", "000fj~trial-fjwan", "009dekura~dev", "008pisa~dev", "004fjadrms~dev", "018k5billing~dev", "004study14~dev", "001teama~dev", "005specdb~dev", "test~dev", "000fj~prod-fjwan", "012pjweb~dev", "020workflow~dev", "007ikou~prod-fjwan", "003asano~dev", "013mims~dev", "006studyhas~dev", "006efocus~dev", "002wfproto~dev", "016mediaapi~dev", "015skillnet~dev", "014aclmanager~dev", "010fjppei~dev", "000fj~trial", "003esupport~dev", "000fj~prod", "005ooi~dev", "test~elb1", "007fjauth~dev", "011osp~dev", "002study~dev" ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "aries-datastore" : [ ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "dw-server" : [ ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    } ]
    

    Não há informações relativas ao grupo de análise axgroup-001 específico na saída acima. Isso confirma que axgroup-001 foi completamente removido.

Etapa 7: reiniciar processos

Os seguintes processos nas máquinas Qpid e Postgres:

  1. Reinicie o apigee-qpidd.
  2. Reinicie o Edge-qpid-server.
  3. Reinicie o Edge-postgres-server.
  4. Reinicie o apigee-postgresql.

Etapa 8: verificar

Verificar se os dados aparecem nos painéis de análise.

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 acima, colete as seguintes informações de diagnóstico. Entre em contato com o suporte do Apigee Edge e compartilhe as informações coletadas.

  1. Configuração da arquitetura da instalação da nuvem privada (quantos hosts são configurados, número de cada um dos componentes).
  2. Saída dos seguintes comandos:

    1. Grupo do Analytics

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Estatísticas da fila Qpid em cada uma das máquinas Qpid

      qpid-stat -q
      
    3. Status do Google Analytics

      curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus