Après la mise à niveau de vRealize Business for Cloud, le calcul du coût peut échouer.

Problème

Le calcul du coût peut parfois échouer pour les points de terminaison Azure après la mise à niveau de vRealize Business for Cloud. Vous pouvez voir le message d'erreur Multiple entries with same key dans le journal du serveur.

Cause

Ce problème se produit, car des entrées en double sont créées dans le service d'inventaire FactsRepo après la mise à niveau.

Solution

  1. Connectez-vous à vRealize Business for Cloud en utilisant les informations d'identification de l'administrateur système.
  2. Démarrez le client Postgres en entrant la commande suivante.

    /usr/ITFM-Cloud/va-tools/bin/db-client.sh

  3. Entrez la commande suivante dans le client Postgres.

    delete from itfm_azure_resource_details where id in (select itfm_azure_resource_details.id from (select resource_id, month, count(*) from itfm_azure_resource_details group by resource_id, month having count(*)>1 ) as new_details inner join itfm_azure_resource_details on itfm_azure_resource_details.resource_id=new_details.resource_id and itfm_azure_resource_details.month=new_details.month);

  4. Quittez le client Postgres en entrant la commande suivante.

    \q

  5. Connectez-vous à MongoDB en entrant la commande suivante.

    mongo

  6. Entrez la commande suivante.

    use fr_system

  7. Pour obtenir les doublons à partir de la collection de ressources Azure, entrez la requête suivante.

    db.getCollection('azureResource').aggregate([{$group: { _id: { resourceId:"$resourceId" }, count: { $sum: 1 } }},{$match : {count: {$gte :2}}}]);

  8. Copiez la sortie dans un fichier texte.

    La sortie contient les informations resourceId et count dans deux colonnes.

  9. Supprimez individuellement chaque entrée en double en entrant la commande suivante une fois pour chaque entrée.

    db.azureResource.deleteMany({'resourceId':'<resourceIdFromQuery>'});

    Vous devez remplacer <resourceIdFromQuery> par resourceId pour chaque entrée de la sortie que vous avez copiée dans le fichier texte.

  10. Pour quitter MongoDB, appuyez sur les combinaisons de touches suivantes.

    Ctrl+c