升級 vRealize Business for Cloud後,成本計算可能會失敗。
問題
有時,Azure 端點的成本計算在vRealize Business for Cloud升級後可能會失敗。您可能會在伺服器記錄中看到 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