In environment are importing data using the vCenter Extractor Service ETL. Have a separate CMDB that has system configuration information, like to import into TrueSight Capacity Optimization (TSCO). What is the best way to update the existing entities in TSCO with this additional data? What about building a new workspace domain hierarchy using existing entities in TSCO based upon relationship data imported through an Object Relationship CSV Parser or Object Relationship SQL Extractor? |
Introduction
How lookup is performed
How populate field in a custom ETL
Just to give you an example, this is how the VMware ETL populate these values
DS_SYSNM=HOSTNAME#vl-pun-bcm-dv20##PARENT_VCNAME#Vcenter name##NAME#VMname##PARENT_HOSTNAME#hostname.bmc.com##_COMPATIBILITY_#564da903-e29e-976a-6970-6164020b0d3b##UUID#564da903-e29e-976a-6970-6164020b0d3b##VMW_VMREF#vm-1234##PARENT_VCUUID#63BA5246-A098-407F-B797-89E5E1B145D4; STRONGLOOKUPFIELDS=PARENT_VCUUID&&VMW_VMREF##PARENT_VCNAME&&VMW_VMREF WEAKLOOKUPFIELDS=UUID##HOSTNAME##PARENT_HOSTNAME&&NAME##PARENT_VCNAME&&PARENT_CLUSTERNAME&&NAME##NAME
When looking up an entity the basic rules are:
Q: Can the DEFAULT lookup be defined as a 'multiple' lookup field? There is a convention that only 'single lookup' ETLs use the DEFAULT lookup field. So, it would be breaking a norm for a multiple lookup ETL to define a lookup field called DEFAULT. Beyond that, it generally wouldn't be considered a best practice to define DEFAULT as a STRONGLOOKUPFIELD in a multiple lookup ETL, although the product wouldn't prevent it from being done.
Q: Which is better a better choice when designing an ETL: single or multiple lookup?
In general single lookup is a less safe way to define the lookup fields for entities because it leads most easily to entity collisions (that is where two real world separate entities end up sharing the same sysid). When you have ETLs importing just the DEFAULT lookup you can get into a situation where an insufficiently unique lookup value causes multiple entities to end up sharing the same sysid and there is no good way to split entities. The only option after an entity collision is to fix the underlying lookup problem that caused the entity collision, delete the entity, and then let the ETLs create new entities on their next run.
Q: In an environment with both single lookup and multiple lookup ETLs what is the best way to allow the single lookup ETLs to map to a multiple lookup ETL created entity?
If you have entities reporting data using 'single lookup' (the DEFAULT lookup field) and other entities reporting data using 'multiple lookup' (one or more named named lookup fields) then for the multiple lookup ETLs you usually would want to import an _COMPATIBILITY_ lookup if you wanted the single lookup ETLs to be able to map data to the multiple lookup ETLs. |