Rapport expiré

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Symptôme

Lorsque vous utilisez le script apigee-provision pour créer une organisation, il arrive que le script se termine avec un message d'erreur. Suite à cette erreur, si vous tentez d'afficher le tableau de bord Edge UI ou tout tableau de bord d'analyse, vous verrez le message d'erreur The report timed out pour l'organisation nouvellement créée.

Message d'erreur

Lorsque vous exécutez le script apigee-provision pour créer une organisation, le message d'erreur suivant peut s'afficher:

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

Même si vous obtenez cette erreur, vous pouvez effectuer des opérations sur l'organisation que vous venez de créer une fois le script de provisionnement terminé. Cependant, lorsque vous tentez d'afficher le tableau de bord Edge UI, vous verrez le message d'erreur ci-dessous pour l'organisation nouvellement créée:

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

Voici une capture d'écran illustrant l'erreur:

Causes possibles :

Cause Description Instructions de dépannage applicables à
Configuration de plusieurs groupes AX Plusieurs groupes d'analyse ont été créés avec le même ensemble de serveurs Postgres. Utilisateurs du cloud privé Edge

Cause: configuration de plusieurs groupes AX

Diagnostic

  1. Exécutez l'API de gestion des groupes Analytics suivante et déterminez si le résultat affiche plusieurs groupes d'analyse définis. Exemple :

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

    Exemple de résultat montrant deux groupes 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":{  
     }
    }

    Ce résultat montre qu'il existe deux groupes d'analyse : axgroup-001 et axgroup001.

  2. Vérifiez que tous les groupes d'analyse ont des champs d'application définis.

    Dans l'exemple de résultat ci-dessus pour les groupes d'analyse, le groupe d'analyse axgroup-001 n'a pas de champ d'application défini, mais ses serveurs Postgres sont toujours définis en tant que datastores.

  3. Exécutez la commande Qpid queue stats ci-dessous sur les serveurs Qpid et vérifiez si aucun message n’est envoyé pour le groupe d’analyse spécifique identifié à l’étape 2.

    qpid-stat -q
    

    Exemple de statistiques de file d'attente Qpid

    Les statistiques de file d'attente Qpid suivantes indiquent qu'aucun message n'est envoyé pour la file d'attente du groupe d'analyse de l'exemple cité ci-dessus (axgroup-001):

    file d'attente Dur autoDel excl message msgIn msgOut octets bytesIn bytesOut inconvénients liaison
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 O O 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 O 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl O 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 O 0 241 k 241 k 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl O 323 323 0 52,4 M 52,4 M 0 0 2

    En l'absence de message ou de trafic pour le groupe d'analyse spécifique axgroup-001, vous obtenez l'erreur "The report timed out" (Le rapport a expiré). dans le tableau de bord de l'interface utilisateur Edge ou dans les tableaux de bord d'analyse.

Solution

Pour résoudre ce problème, supprimez le axgroup qui ne comporte aucun champ d'application et ne reçoit aucun trafic.

Suivez la procédure ci-dessous pour supprimer le axgroup :

Étape 1: Supprimez les clients du groupe d'axes concerné.

  1. Utilisez l'API de gestion suivante pour supprimer chacun des consommateurs 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. Répétez le même appel d'API ci-dessus s'il y a plusieurs clients, en mentionnant l'UUID de chacun d'eux dans un appel d'API distinct.

    Dans l'exemple ci-dessus, l'API suivante supprime le client avec l'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. Dans cet exemple, exécutez à nouveau la même API pour supprimer l'autre client dont l'UUID est 7794c428-e553-4ed2-843d-69f93bbec8a3.

Étape 2 : Supprimez les groupes de consommateurs

  1. Utilisez l'API de gestion suivante pour supprimer les groupes de consommateurs de ce axgroup spécifique:

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

    Exemple :

    L'API suivante supprime le nom du groupe de consommateurs 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
    }
    

Étape 3: Supprimez les serveurs qpid-server d'axgroup

  1. Utilisez l'API de gestion suivante pour supprimer qpid-servers du axgroup concerné.

    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. Réexécutez le même appel d'API s'il existe plusieurs serveurs Qpid.

    Exemple :

    Dans cet exemple, utilisez l'API suivante pour supprimer le serveur Qpid avec l'UUID 7794c428-e553-4ed2-843d-69f93bbec8a3:

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

Étape 4: Supprimez les serveurs postgres d'axgroup

  1. S'il n'y a qu'un seul serveur Postgres, utilisez l'API de gestion suivante pour supprimer le serveur Postgres:

    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. Utilisez l'API de gestion suivante pour supprimer les serveurs Postgres si vous disposez d'une configuration maître et esclave 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"
    

    Exemple :

    Dans l'exemple ci-dessus, il existe des serveurs Postgres maîtres et esclaves. Vous pouvez donc utiliser l'API suivante pour supprimer les serveurs 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
    }
    
    

ÉTAPE 5: Supprimez le groupe d'analyse

  1. Utilisez l'API de gestion suivante pour supprimer le groupe d'analyse:

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

    Exemple :

    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
    }
    

ÉTAPE 6: Vérifiez si le groupe a été complètement supprimé

  1. Utilisez l'API de gestion suivante pour vérifier si le groupe d'analyse a été complètement supprimé:

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

    Exemple :

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

    Notez qu'il n'y a pas d'informations concernant le groupe d'analyse spécifique axgroup-001 dans le résultat ci-dessus. Cela confirme que axgroup-001 a bien été supprimé.

Étape 7: Redémarrez les processus

Les processus suivants sur les machines Qpid et Postgres:

  1. Redémarrez apigee-qpidd.
  2. Redémarrez Edge-qpid-server.
  3. Redémarrez Edge-postgres-server.
  4. Redémarrez apigee-postgresql.

Étape 8: Vérification

Vérifiez si les données s'affichent dans les tableaux de bord d'analyse.

Si le problème persiste, consultez Collecter des informations de diagnostic.

Vous devez collecter des informations de diagnostic

Si le problème persiste alors que vous avez suivi les instructions ci-dessus, veuillez rassembler les informations de diagnostic suivantes. Contactez l'assistance Apigee Edge et partagez les informations collectées.

  1. Configuration de l'architecture de votre installation de cloud privé (nombre d'hôtes configurés et nombre de composants).
  2. Résultat des commandes suivantes:

    1. Groupe Analytics

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Statistiques de la file d'attente Qpid sur chacune des machines Qpid

      qpid-stat -q
      
    3. État Google Analytics

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