Troubleshooting Unidentified CIs in the CMDB

Version 2
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    BMC Atrium Core - CMDB


    COMPONENT:

    BMC Atrium Core


    APPLIES TO:

    BMC AtriumCore in general



    PROBLEM:

    Troubleshooting Unidentified CIs in the CMDB. Basically CIs that are still in the source dataset that have ReconciliationIdentity = 0

        

     


    CAUSE:

    Failed Identification Rule or duplicate data


    SOLUTION:

     

    Legacy ID:KA341476

      
       

    Configuration Items (CIs) in the CMDB are identified by Identification Activities in Reconciliation Jobs.  When a CI is successfully identified, the value of ReconciliationIdentity is non-zero and it no longer appears in the Manual Identification Console which is accessed from the CMDB Console.  Below are steps to identify the cause of unidentified CIs.

       

    1. Check the Job History Console to see if the Job has been successfully run after the ModifiedDate of the CI.   Reconciliation Jobs are typically named for the Dataset they reconcile, but look at the Identification Activity to determine the datasets it identifies. 

       

    2. Verify the 'DatasetID' of the CI matches one of the defined Dataset IDs. 

       

    3. Does the Identification Activity specify a qualification group?  If so, verify the CI meets the qualification specified.

       

    4. Verify the CI is in a class specified by the identification rules in the Identification Group, or in one of it's subclasses (if Precedence Explicit is set to No in the identification activity).

       

     

       

    If the above steps do not identify the cause of the unidentified CIs, use the steps below to investigate via Reconciliation Job Logs.

       

    5. Pick a test case from the Manual Identification Console, and click on the View button.  Make a note of the value for Name, InstanceId, Class ID, DatasetId, and ModifiedDate.

       

    6. Enable Reconciliation logs. Set Debug Mode to True, Maximum log size to a value such as 20000, so if the log files grow over 20MB, you can zip them or more them to another system. Set the logging level to Finer.  The DETAILS and TRACE lines listed below only appear if you set the logging level to Fine or Finer, respectively.

       

    7. Run the Reconciliation Job again, and wait for it to complete.   Search in the Job log for the InstanceId of your test CI, to find the line such as the one below:

       

    [DETAILS] [TID: 000006]  : Started identifying instance <class = BMC_ComputerSystem, id = OI-1F94C10B39834F35BFDB59EEC3791F96>

       

    When there are several CIs to be identified, the Reconciliation Engine will spawn separate threads to handle them, so the lines in the Job log will be interweaved.  You can sort them out by grepping out just the lines with the thread ID of our test case, in our case: [TID: 000006].  The same thread ID will be used for multiple instances, so disregard everything after the next "Started identifying instance" line. 

       

    Below is an example:

       

    [DETAILS] [TID: 000006]  : Started identifying instance <class = BMC_ComputerSystem, id = OI-1F94C10B39834F35BFDB59EEC3791F96>
    [ TRACE ] [TID: 000006]  : Found matching rule group <RE001422260381PKPxQwcOAMAAXQgA> for class <BMC_COMPUTERSYSTEM> in dataset <BMC Topology Import>
    [ TRACE ] [TID: 000006]  : Applying rule <'TokenId' != "0" AND'TokenId' =  $TokenId$> and looking in dataset <BMC Asset>
    [DETAILS] [TID: 000006]  : Substituting values in the qualification
    [DETAILS] [TID: 000006]  : Replaced field id <530010100> with value <myhost:domain.company.com>
    [ INFO  ] [TID: 000006]  : Found the match in dataset <BMC Asset> with reconciliation identity <OI-610F310871CA4170B19BD84B71896568>
    [DETAILS] [TID: 000006]  : Associating reconciliation identity to <OI-610F310871CA4170B19BD84B71896568> for instance id <OI-1F94C10B39834F35BFDB59EEC3791F96> for class <BMC_ComputerSystem> in dataset <BMC Topology Import>
    [DETAILS] [TID: 000006]  : IdentifyClassInstance::associateDataSetInstanceWithReID() sessionID: 6120240
    [ ERROR ] [TID: 000006]  : ARERR[120092] The dataset ID and Reconciliation Identity combination is not unique.
    [ ERROR ] [TID: 000006]  :  DatasetId: BMC.IMPORT.TOPO, ReconciliationId: OI-610F310871CA4170B19BD84B71896568
    [ INFO  ] [TID: 000006]  : Cancelled the processing of rest of the sub-tree for instance <class = BMC_ComputerSystem, id = OI-1F94C10B39834F35BFDB59EEC3791F96>

       

    [DETAILS] [TID: 000006]  : Started identifying instance <class = BMC_SoftwareServer, id = OI-1201EC8A0F9640CEB622FF4E1C5FF67A>

       

    In this example, the identification rule looks for a match based on the value of the 'Token ID' attribute, it finds a match, but encounters an error because the TokenID is not unique.  

    Please also see https://communities.bmc.com/community/bmcdn/bmc_atrium_and_foundation_technologies/bmc_atrium_cmdb/blog/2013/11/20/identifying-weak-reconciliation-identification-rules-can-be-done-with-ardriver

    Additional documentation is available on BMC's http://docs.bmc.com

      

     


    Article Number:

    000095872


    Article Type:

    Solutions to a Product Problem



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles