Rapport expiré

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.

Problème constaté

Lorsque vous utilisez le script apigee-provision pour créer une organisation, il arrive que le script se ferme en affichant un message d'erreur. Si vous essayez d'afficher le tableau de bord de l'UI Edge ou des tableaux de bord d'analyse après cette erreur, le message d'erreur Le délai d'attente du rapport a expiré s'affichera 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 s'affiche, vous pouvez effectuer des opérations sur la nouvelle organisation une fois que le script de provisionnement est terminé. Toutefois, lorsque vous essayez d'afficher le tableau de bord de l'UI Edge, le message d'erreur ci-dessous s'affiche 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 montrant l'erreur :

Causes possibles :

Cause Description Instructions de dépannage applicables
Configurer plusieurs groupes AX Plusieurs groupes "analytics" ont été créés avec le même ensemble de serveurs Postgres. Utilisateurs Edge Private Cloud

Cause : Plusieurs groupes AX sont configurés

Diagnostic

  1. Exécutez l'API de gestion des groupes Analytics suivante et déterminez si le résultat affiche plusieurs groupes Analytics 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 indique qu'il existe deux groupes d'analyse, axgroup-001 et axgroup001.

  2. Vérifiez que des niveaux d'accès sont définis pour tous les groupes d'analyse.

    Dans l'exemple de sortie de groupes d'analyse ci-dessus, le groupe d'analyse axgroup-001 ne comporte aucune portée définie, mais il comporte toujours des serveurs Postgres définis comme datastores.

  3. Exécutez la commande de statistiques de file d'attente Qpid ci-dessous sur les serveurs Qpid et vérifiez qu'aucun message n'est reçu 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 reçu pour la file d'attente du groupe Analytics spécifique de l'exemple cité ci-dessus (axgroup-001) :

    queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons 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,4 m 52,4 m 0 0 2

    Comme aucun message ni trafic ne sont associés au groupe d'analyse spécifique axgroup-001, l'erreur "Le rapport a expiré" s'affiche dans le tableau de bord de l'UI 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 génère aucun trafic.

Pour supprimer le axgroup, procédez comme suit :

Étape 1 : Supprimez les consommateurs pour le groupe Access Services concerné.

  1. Utilisez l'API Management 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 l'appel d'API ci-dessus s'il existe 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 consommateur 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 consommateur dont l'UUID est 7794c428-e553-4ed2-843d-69f93bbec8a3 dans le présent exemple.

Étape 2 : Supprimez les groupes de consommateurs

  1. Utilisez l'API de gestion suivante pour supprimer les groupes de consommateurs du axgroup concerné :

    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 d'axgroup

  1. Utilisez l'API Management suivante pour supprimer qpid-servers de l'axgroup spécifique.

    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. Si plusieurs serveurs Qpid sont disponibles, réexécutez le même appel d'API.

    Exemple :

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

    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. Utilisez l'API de gestion suivante pour supprimer le serveur Postgres, s'il n'y en a qu'un seul :

    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 Management suivante pour supprimer les serveurs Postgres si vous avez configuré un serveur maître et un serveur 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ître et esclave. 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 Analytics :

    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 Analytics spécifique 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 aucune information concernant le groupe Analytics spécifique axgroup-001 dans le résultat ci-dessus. Cela confirme que axgroup-001 a été complètement 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 : Valider

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

Si le problème persiste, consultez la page Vous devez collecter des informations de diagnostic.

Vous devez collecter 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 Private Cloud (nombre d'hôtes configurés, nombre de chaque composant).
  2. Indiquez 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