A key to successful Asset Management is to use one or more automatic discovery sources to discover and populate the CMDB with current information about systems in your infrastructure. My colleague Jesse Richardson wrote about choosing the right discovery sources for your environment last September (See Trending in Support: Managing data in your CMDB). You can also read more on the role of discovery with Asset Management here. But what if the information you want to collect is not discoverable? Or what if the best values are determined by the organization rather than discovered by a tool? Through this post I’d like to explore this topic and look at some of the features in BMC Asset Management you can leverage, such as the Asset Sandbox, to meet your requirements.
What are your data requirements?
So where does your data come from? Discovery tools, users, or both? And which takes precedence, the discovered data or data coming in from Asset Management users? These are all important questions; but the key is not to give a blanket statement for all your data but instead consider these questions for each attribute. It can be a lot of work upfront, but can potentially save you a lot of problems later on. Let’s walk through this process in three steps:
1. Determine if the attribute is an asset lifecycle attribute or an attribute in the CMDB. In 7.6.04 and versions prior, the attribute could always be found in the CMDB. Starting in 8.0, significant structural changes were made (See documentation and this webinar for additional detail) and those lifecycle attributes are now stored in a form called AST:Attributes. Asset lifecycle attributes stored on this form are never discovered – they are either set manually or use default values - so those attributes are outside the discussion about sandboxes and precedences.
2. Enable the Asset Sandbox. Out of the box the Asset Sandbox is disabled, which might be appropriate for testing or initial setup, but the rule of thumb is the Sandbox should be enabled as soon as any automatic discovery source is implemented to populate CMDB. This is recommended before going live, because you want to leverage automatic and periodically discovered data whenever possible. Almost all of the Sandbox configuration can be done through the Asset Management Settings form, which can be accessed by opening the Application Administration Console and clicking Custom Configuration-> Asset Management-> Advanced Options->Asset Management Settings. The following form will appear:
You’ll first need to click “Show Settings” to see how your system is currently configured. If there is no current configuration, you will need to click “Add” to create a new one. The three fields relevant to the sandbox are Dataset Name, Sandbox Dataset Name, and Sandbox Enabled:
- Dataset Name - This is your gold dataset. Documentation also refers to this as the “production” dataset. This is the best representation of CIs in your CMDB and the dataset all other datasets will eventually reconcile to. By default, your gold dataset is BMC.ASSET (aliased on the screen as “BMC Asset”). Please use caution when considering changing this value, as all out of the box Reconciliation jobs assume BMC.ASSET is the gold dataset. Changing this value does not update the Reconciliation jobs automatically.
- Sandbox Dataset Name – This is your sandbox dataset where changes made to CIs from the Asset Management application are stored before being reconciled to the gold dataset. By default, your Sandbox dataset is BMC.ASSET.SANDBOX. Also use careful consideration when modifying this value, especially in respect to existing Reconciliation jobs.
- Sandbox Enabled – This determines if Asset Management will submit CI changes to the sandbox or if the change will be directly applied to the gold dataset. “Yes” means that the change is submitted to the sandbox, “No” means it is directly applied.
Once you’ve made your configuration changes, click “Modify” to apply.Once you have the sandbox feature enabled, users no longer directly modify CIs directly in the gold dataset. Instead, workflow will redirect the “Modify” action to instead submit a new CI in the sandbox dataset and trigger the reconciliation engine to reconcile those changes back to the gold dataset, considering the relative precedence for attributes.
3. Determine the attributes you want users to be able to override the discovered data and adjust the precedence accordingly. You can update the precedence rules by accessing the Atrium Console, going to the Reconciliation module, and opening the “Standard Rules Editor.” Under the “Precedence Rules” tab you can adjust the Precedence Order of each attribute in each dataset. The higher the number, the higher the precedence.
Click here for expanded documentation on this process.
NOTE: Do not allow users to override attributes which are used for identification, such as Serial Number, TokenID, hostname, domain name, or Name. The correct values for these attributes are strictly defined and user error in entering them can have adverse effect when the CIs go through the reconciliation process.
Some additional considerations
Here are some additional items to keep in mind when using the sandbox:
- When you have the sandbox enabled, user’s modifications no longer directly update the gold dataset (BMC.ASSET) but instead are pushed to a sandbox dataset (BMC.ASSET.SANDBOX). This will trigger a reconciliation job. The job will then update the gold dataset based on whatever precedence configurations were made per the instructions above.
- Because changes are not made directly to BMC.ASSET, enabling sandbox will incur some delay in users seeing these modifications applied. This is usually small. The delay is reduced significantly starting in version 7.6.04, and improved further in version 8.1.
- Because precedence rules may dictate that discovered data takes precedence over user input depending on the configuration changes you’ve made with the above instruction, users may not see their changes applied to BMC.ASSET. You will need to educate users to the configuration changes you’ve made, preferably before they stumble on to this behavior.
- Reconciliation needs to be triggered and running to complete. This is usually accomplished automatically out of the box, but if you have issues see documentation for more detail on investigating reconciliation issues.
A key to success in Asset Management is finding the balance between user driven requirements and manageability. Using a sandbox and attribute precedences provides the tools to make decisions on where to trust user data entry and where to rely on automatic discovery. If you read this whole blog, please take a moment to rate it so I can choose topics that are most relevant. If you have any questions or comments on your past experiences with the Sandbox, please use the comments section below! To see more content like this, see BMC Remedy Support Blogs