Rapport expiré

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Problème constaté

Lorsque vous utilisez le script apigee-provision pour créer une organisation, il arrive parfois qu'il se termine par un message d'erreur. Après cette erreur, si vous tentez d'afficher le tableau de bord de l'interface utilisateur Edge ou tout tableau de bord d'analyse, vous verrez le message d'erreur Le rapport a expiré 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 cette erreur se produit, vous pouvez effectuer des opérations sur l'organisation que vous venez de créer une fois le script de provisionnement terminé. Toutefois, lorsque vous tentez d'afficher le tableau de bord de l'interface utilisateur Edge, le message d'erreur ci-dessous apparaît 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 à
Configurer plusieurs groupes AX Plusieurs groupes d'analyse ont été créés avec le même ensemble de serveurs Postgres. Utilisateurs de cloud privé périphérique

Cause: configuration de plusieurs groupes AX

Diagnostic

  1. Exécutez l'API de gestion des groupes d'analyse suivante et déterminez si la sortie 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 d'analyse

    {  
     "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 des portées ont été définies pour tous les groupes d'analyse.

    Dans l'exemple de sortie des groupes d'analyse présenté ci-dessus, aucun champ d'application n'est défini pour le groupe d'analyse axgroup-001. En revanche, des serveurs Postgres sont toujours définis en tant que datastores.

  3. Exécutez la commande de statistiques de file d'attente Qpid ci-dessous sur les serveurs Qpid et vérifiez s'il n'y a pas de message entrant 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'arrive pour la file d'attente du groupe d'analyse spécifique de l'exemple cité ci-dessus (axgroup-001):

    file d'attente Dur autoDel sauf msg msgIn msgOut octets bytesIn bytesOut inconvénients bind
    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.4m 52.4m 0 0 2

    Étant donné qu'aucun message ni trafic n'arrive pour le groupe d'analyse spécifique axgroup-001, vous observez l'erreur "Le rapport a expiré" dans le tableau de bord de l'interface utilisateur Edge ou dans les tableaux de bord d'analyse.

Résolution

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

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

Étape 1: Supprimez les consommateurs du groupe axgroup 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 consommateurs, en mentionnant l'UUID de chaque consommateur dans un appel d'API distinct.

    Pour 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. Exécutez à nouveau la même API pour supprimer l'autre client dont l'UUID est 7794c428-e553-4ed2-843d-69f93bbec8a3 dans le présent exemple.

Étape 2 : Supprimez les groupes grand public

  1. Utilisez l'API de gestion suivante pour supprimer les groupes de consommateurs d'un 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 :

    Utilisez l'API suivante pour supprimer le serveur Qpid avec l'UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 dans le présent exemple:

    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 Analytics

  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'existe aucune information concernant le groupe d'analyse axgroup-001 particulier dans la sortie ci-dessus. Cela vous confirme que axgroup-001 a été complètement supprimé.

Étape 7: Relancez 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: Valider

Vérifiez si les données s'affichent dans les tableaux de bord des analyses.

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

Doit recueillir des informations de diagnostic

Si le problème persiste même après avoir suivi les instructions ci-dessus, veuillez rassembler les informations de diagnostic suivantes. Contactez l'assistance Apigee Edge et partagez les informations recueillies.

  1. Configuration de l'architecture de votre installation de cloud privé (nombre d'hôtes configurés et nombre de composants de chacun).
  2. Vous obtenez le 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