升级 vRealize Business for Cloud后,成本计算可能会失败。
问题
升级vRealize Business for Cloud后,Azure 端点的成本计算可能偶尔会失败。您可能会在服务器日志中看到 Multiple entries with same key 错误消息。
原因
出现此问题的原因是,升级后,在 FactsRepo 清单服务中创建了重复条目。
解决方案
- 使用系统管理员凭据登录到 vRealize Business for Cloud。
- 输入以下命令启动 Postgres 客户端。
/usr/ITFM-Cloud/va-tools/bin/db-client.sh
- 在 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);
- 输入以下命令退出 Postgres 客户端。
\q
- 输入以下命令登录到 MongoDB。
mongo
- 输入以下命令。
use fr_system
- 要从 Azure 资源集合获取重复项,请输入以下查询。
db.getCollection('azureResource').aggregate([{$group: { _id: { resourceId:"$resourceId" }, count: { $sum: 1 } }},{$match : {count: {$gte :2}}}]);
- 将输出复制到一个文本文件中。
输出分别在两列中包含 resourceId 和 count 信息。
- 输入以下命令,逐个移除每个重复条目,每个条目输入该命令一次。
db.azureResource.deleteMany({'resourceId':'<resourceIdFromQuery>'});
必须将 <resourceIdFromQuery> 替换为输出(已复制到文本文件)中的每个条目的 resourceId。
- 要退出 MongoDB,请按以下组合键。
Ctrl+c