Se agotó el tiempo de espera del informe

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Síntoma

Cuando usas la secuencia de comandos apigee-provision para crear una organización nueva, a veces la secuencia de comandos se cierra con un mensaje de error. Después de este error, si intentas ver el panel de la IU de Edge o cualquier panel de análisis, observarás el mensaje de error Se agotó el tiempo de espera del informe para la organización recién creada.

Mensaje de error

Cuando ejecutas la secuencia de comandos apigee-provision para crear una organización nueva, es posible que veas el siguiente mensaje de error:

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

Incluso si recibes este error, puedes operar en la organización recién creada después de que se cierre la secuencia de comandos de aprovisionamiento. Sin embargo, cuando intentes ver el panel de la IU de Edge, observarás el siguiente mensaje de error para la organización recién creada:

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

Esta es una captura de pantalla que muestra el error:

Causas posibles

Causa Descripción Instrucciones de solución de problemas aplicables para
Configuración de varios grupos de AX Se crearon varios grupos de Analytics con el mismo conjunto de servidores de Postgres. Usuarios de Edge Private Cloud

Causa: Configuración de varios grupos de AX

Diagnóstico

  1. Ejecuta la siguiente API de administración de grupos de Analytics y determina si el resultado muestra más de un grupo de Analytics definido. Por ejemplo:

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

    Ejemplo de resultado que muestra dos grupos de Analytics

    {  
     "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":{  
     }
    }

    En este resultado, se muestran dos grupos de análisis, axgroup-001 y axgroup001.

  2. Verifica que todos los grupos de análisis tengan definidos los permisos.

    En el ejemplo de salida de grupos de análisis que se muestra arriba, el grupo de análisis axgroup-001 no tiene ningún alcance definido, pero sí tiene servidores de Postgres definidos como almacenes de datos.

  3. Ejecuta el siguiente comando de estadísticas de la cola de Qpid en los servidores de Qpid y valida si no hay mensajes para el grupo de análisis específico identificado en el paso 2.

    qpid-stat -q
    

    Ejemplo de estadísticas de la cola de Qpid

    Las siguientes estadísticas de la cola de Qpid indican que no hay mensajes para la cola del grupo de Analytics específico del ejemplo citado anteriormente (axgroup-001):

    queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Y Y 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Y 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Y 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Y 0 241,000 241,000 0 21.7 g 21.7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl Y 323 323 0 52.4 m 52.4 m 0 0 2

    Como no hay mensajes ni tráfico para el grupo de análisis específico axgroup-001, observas el error "Se agotó el tiempo de espera del informe" en el panel de la IU de Edge o en los paneles de análisis.

Solución

Para resolver este problema, borra el objeto axgroup que no tiene ningún alcance y no recibe tráfico.

Sigue el procedimiento que se indica a continuación para borrar el axgroup :

Paso 1: Borra los consumidores del grupo de acceso específico.

  1. Usa la siguiente API de administración para quitar cada uno de los consumidores de 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. Repite la misma llamada a la API anterior si hay varios consumidores y menciona el UUID de cada uno en una llamada a la API independiente.

    En el ejemplo anterior, la siguiente API quita el consumidor con el 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. Vuelve a ejecutar la misma API para borrar el otro consumidor cuyo UUID es 7794c428-e553-4ed2-843d-69f93bbec8a3 en el ejemplo actual.

Paso 2 : Quita los grupos de consumidores

  1. Usa la siguiente API de administración para quitar los grupos de consumidores del axgroup en particular:

    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}'
    

    Ejemplo:

    La siguiente API borra el nombre del 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
    }
    

Paso 3: Borra los servidores qpid de axgroup

  1. Usa la siguiente API de administración para borrar qpid-servers del axgroup en particular.

    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. Vuelve a ejecutar la misma llamada a la API si hay varios servidores de Qpid.

    Ejemplo:

    Usa la siguiente API para borrar el servidor Qpid con el UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 en el ejemplo actual:

    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" : {
      }
    }
    

Paso 4: Borra los servidores de Postgres de axgroup

  1. Si hay un solo servidor de Postgres, usa la siguiente API de administración para borrarlo:

    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. Usa la siguiente API de administración para borrar los servidores de Postgres si tienes una configuración de servidor principal y secundario de 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"
    

    Ejemplo:

    En el ejemplo anterior, hay servidores Postgres principales y secundarios, por lo que puedes usar la siguiente API para borrar los 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
    }
    
    

PASO 5: Quita el grupo de análisis

  1. Usa la siguiente API de administración para quitar el grupo de análisis:

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

    Ejemplo:

    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
    }
    

PASO 6: Verifica si se quitó el grupo por completo

  1. Usa la siguiente API de Management para verificar si se quitó por completo el grupo de Analytics en particular:

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

    Ejemplo:

    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" : {
      }
    } ]
    

    Observa que no hay información relacionada con el grupo de Analytics en particular axgroup-001 en el resultado anterior. Esto confirma que axgroup-001 se quitó por completo.

Paso 7: Reinicia los procesos

Los siguientes procesos en las máquinas de Qpid y Postgres:

  1. Reinicia apigee-qpidd.
  2. Reinicia edge-qpid-server.
  3. Reinicia edge-postgres-server.
  4. Reinicia apigee-postgresql.

Paso 8: Verificación

Verifica si los datos aparecen en los paneles de análisis.

Si el problema persiste, consulta Recopila información de diagnóstico.

Se debe recopilar información de diagnóstico

Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico. Comunícate con el equipo de asistencia de Apigee Edge y comparte la información recopilada.

  1. Configuración de la arquitectura de la instalación de tu nube privada (cantidad de hosts configurados, cantidad de cada uno de los componentes)
  2. Resultados de los siguientes comandos:

    1. Grupo de Analytics

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Estadísticas de la cola de Qpid en cada una de las máquinas de Qpid

      qpid-stat -q
      
    3. Estado de Analytics

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