Using CMDB Data Analyzer to investigate CMDB data issues
The CMDB Data Analyzer is a collection of tools that enables you to perform data analysis and also identify data inconsistencies in any CMDB dataset. The CMDB Data Analyzer is installed along with BMC Helix CMDB. This topic describes details about using the CMDB Data Analyzer.
- Ensure that Java 1.8 is installed on the system from where you want to run the CMDB Data Analyzer.
- Ensure that the JAVA_HOME environment variable is set
When to use the CMDB Data Analyzer
CMDB Data Analyzer has been created to assist with identifying data issues within your CMDB. It helps you find inconsistencies and errors such as:
- Finding duplicates in a dataset to assist deletion before pushing the dataset to production.
- Detect certain reconciliation errors such as multimatch error that occurs due to duplicate CI instances.
- Identify weak CI classes that do not have any relationships.
- Finding CIs that are not reconciled.
- Identify the soft-deleted CI instances.
Most duplicate CIs are created during initial data load, when the source data is copied to production. Therefore, we recommend that you run Data Analyzer on source datasets to pre-identify the possible duplicate CIs.
What can you do with the CMDB Data Analyzer
With CMDB Data Analyzer you can do the following:
Identify Duplicate CIs
This tool identifies the duplicate CIs in the given CMDB dataset. Duplicate CIs in the CMDB data can lead to reconciliation failures, multimatch errors, and incorrect data in consuming applications. Duplicate CIs are identified as per the standard Reconciliation Engine identification rules and custom rule set that are defined in the system.
Identify Orphan CI Instances
This tool identifies the orphaned CI instances. An orpaned CI is an instance of weak CI class that does not have any relationships. Finding an orphan CI operation is only applicable to a production dataset.
Identify Soft Deleted CIs
This tool identifies the soft-deleted CI instances. A soft-deleted CI is the one which has the mark-as-deleted attribute set to Yes.
Identify non-reconciled CIs/Relationship CI instances
This tool identifies those CI instances that are not reconciled. A non-reconciled CIs is the one without a ReconciliationID.
Identify Classes without RE Identification rule
The classes without reconciliation identification rules are the ones that have no identification rules defined at the class level.
Who can use the CMDB Data Analyzer
A CMDB Administrator and CMDB Configuration Manager can use the CMDB Data Analyzer.
In order to access the CMDB Data Analyzer the AR Administrator permissions are required.
To run the CMDB Data Analyzer
- Open the BMC Helix CMDB installation directory.
The CMDB Data Analyzer is installed along with BMC Helix CMDB.
Navigate to AtriumCore\cmdb\utils\DataAnalyzer.
The following table describes the files in the CMDB Data Analyzer installation directory.
File Name Description app.properties
The app.properties file stores the AR server details that you enter while logging into the tool. It contains the parameters that are used, such as, AR System server details, hostname, user name, and password. When your AR System server details are authenticated, all the parameter details are stored in this file. Alternatively, you can manually enter the AR System server details in the app.properties file before launching CMDB Data Analyzer.
Note: The app.properties file contains an encrypted password. We recommend not to enter this information manually.
The app.properties file contains the following properties:
- findduplicates.config.formsWithLargeData - Add a comma separated list of classes that have the highest data load in your system, to dedicate a thread for processing. This is recommended in very high data load environments (CIs>3 Million) for better performance.
- findduplicates.config.groupBypermits - Set this value to a low number when the number of CIs in the system are very high. Set this to 1 if database timeouts occur when the data volume is very high.
WeakCIClasses The WeakCIClasses.txt file stores a list of weak CI classes from which the orphaned CI instances are searched. BMC provides an out of the box list of weak CI classes from which the orphaned CI instances are searched. If you want to search orphaned CI instances from a weak CI class that is not listed in this file, you must first add the weak CI class name to this file. You can modify the list of the Weak CI classes.
Open BMC CMDB Data Analyzer and execute the following command:
- In BMC CMDB Data Analyzer, click Configure. The AR Server Details window is displayed.
- In the AR Server Details window, provide the following information:
- AR Server Host Name - The Host name of AR System server. Click Change to configure a different AR System server.
- Port - The Port of AR System server.
- User - The user must be have access to the AR administrator group.
- Password - A valid password
The fields in CMDB Data Analyzer are enabled and you can perform various data analysis operations.
The Select Classes window is displayed.
Click Get Results.
The results are displayed in the default browser window.
As illustrated in the steps, you can select a data analysis operation from the available list of operations and view the results. Alternatively, you can also select multiple or all the available data analysis operations and then click Get Results to generate the results. The output files are generated in the Reports folder in the installation directory.
We recommend the following for optimum performance:
- Run the CMDB Data Analyzer during off-peak hours if you have a large data environment.
- Copy the zip file to another computer where AR System and CMDB are not installed, extract the contents in the zip file and run the CMDB Data Analyzer. Make sure that AR System server and the computer where the CMDB Data Analyzer is installed are in the same LAN.
- When the volume of CIs in the CMDB is very high( ~5M +) or if the duplicates that may exist in a class are high(~+ 400K), run the Find Duplicate CIs for one class at a time or a for a group of classes.
Note: if a single class has large data (~5M +), then this operation may be resource intensive for the database even if it is run for one class at a time.
- Increase the heap size in the cmdb-data-analyzer.bat file if the HTML output report generation time is high due to high number of duplicates.
To archive CMDB Data Analyzer results
The records generated by the CMDB Data Analyzer are archived based on the schedule defined in the server's archiving policy. By default, the results that were generated two days prior to the current date are purged. You can increase the duration to preserve older results by opening the form in the Developer Studioand changing the archiving properties of the form.
To troubleshoot CMDB Data Analyzer
Use the following information to identify and troubleshoot issues with the Data Analyzer utility:
- If the Data Analyzer utility fails when you click Get Results, the reports folder might have been deleted from the installation directory. Close the utility and launch it again. This recreates all the necessary directories for the utility to run successfully.
- To troubleshoot any other issues that occur in the CMDB Data Analyzer, you can refer to the cmdbdataanalyzer.log file. You can configure the log settings (logging path and log level) in the log4j.xml. Set the
level valueparameter in the log4j.xml file to DEBUG to get detailed logs. To handle any issues that occur in the CMDB Data Analyzer, you can refer to logs or if required, capture the logs and send the data to Support team. The log4j.xml file is available in the AtriumCore installation directory - <Atrium Installation directory>\AtriumCore\cmdb\utils\DataAnalyzer.
- The HTML report is not supported on Linux and Solaris platforms.
- A typo in the OOTB rules data for class BMC_NTDomain in the RE:Automation:Identification_Rules form exists. The attribute name for DomainGUID should be corrected to DomainGuid if an error occurs while processing the class BMC_NTDomain.