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
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.
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.
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é.
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}'
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 }
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
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
Utilisez l'API de gestion suivante pour supprimer
qpid-servers
duaxgroup
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"
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
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"
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
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é
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:
- Redémarrez apigee-qpidd.
- Redémarrez Edge-qpid-server.
- Redémarrez Edge-postgres-server.
- 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.
- Configuration de l'architecture de votre installation de cloud privé (nombre d'hôtes configurés et nombre de composants de chacun).
Vous obtenez le résultat des commandes suivantes:
Groupe Analytics
curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/analytics/groups/ax
Statistiques de la file d'attente Qpid sur chacune des machines Qpid
qpid-stat -q
État Google Analytics
curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus