CMDB Analyzer User Guide
Viewing Instances On-the-fly Defining Instance Search Filter Viewing CI Aging Info


This user guide describes CMDB Analyzer version 2.0 and later.

Welcome to use CMDB Analyzer! After you download and install CMDB Analyzer, you can start to analyze intuitively your complex CMDB CIs and their dependencies and relationships with much greater clarity.

Installing CMDB Analyzer

If you download the zip file version then there is no install process. Just unzip the file and start to run. Otherwise follow the instruction of the installer.

System Requirements

CMDB Analyzer is written in 100% Java. The memory requirement depends on the size of CMDB data you are viewing. Without loading full instance attributes, CMDB Analyzer uses about 100M memory to load 10k CIs with 10K relationships.

To change the application maximum heap size, edit file cmdbAnz.l4j.ini.

For example,

-Xmx512m : set heap size to 512M
-Xmx1024m: set heap size to 1G


CMDB Analyzer uses CMDB SDK version 2.0.

More Information

If you need more information, please contact, or go to BlueLine Graphics, Inc. web site


Getting to Know CMDB Analyzer

The following diagram describes function areas in CMDB Analyzer main window:

  1. Project Panel - Where workspace, projects and views are organized.
  2. Project Panel Toolbar - To create workspace, switch workspace and create project.
  3. Main Window - Views are opened in the main window.
  4. Main Window Toolbar - To save all views, close all views, hide/show all views, layout views and seek help.
  5. View Window - View CMDB class hierarchyview CI and relationships, etc.
  6. View Window Toolbar - To perform actions only applying to this view.
  7. Window Manager Panel - To activate/deactivate view windows.


Working with Workspace

A workspace is a directory that contains CMDB Analyzer projects. Only one workspace is activated but you can switch workspaces.

  • Create New Workspace

    Enter a new directory name to create a workspace.


    Once the "OK"  button is pressed, a new directory with the workspace name will be created.


  • Switch Workspaces

    You can switch workspaces at any time. If there are unsaved views, you will be prompted to save the views.


Working with Projects

To create a CMDB project, you have to specify a data source. The data source can be either exported xml data files or a live CMDB server.

Create a project to load CMDB xml data file

You need to prepare three types of files to create a file project.

  • CI and relationship class definition file (class file for short)
  • CI and relationship instance file (instance file for short)
  • UIComponent instance file (UI file for short) which contains class icon information

If your instance file already contains UI instances, you don't need a separate UI file.

CMDB xml data files can be generated using CMDB SDK command line utility "cmdbdriver.exe", which can be found in the CMDB SDK bin directory. You need to export both class definitions and instances in order to define a file data source. The following steps demonstrate how to export CMDB data using cmdbdriver.exe:

  1. Run cmdbdriver.exe
  2. login to the server
    Command: log
    Control record:
    Authentication string () :
    User name () : Demo
    Password () :
    Locale[.charSet] () :
    TimeZone () :
    Server () : your_server_name
  3. Initialize the session
    Command: init
    CMDBInitialization results
    ReturnCode: OK
    Status List : 0 items
  4. Export class definition (export all classes)
    Command: xexpdf
    Export all classes? (F): t
    Export all attributes with classes? (T):
    Filename for exported data: class.xml
    CMDBXExportDef results
    ReturnCode: OK
    Status List : 0 items
  5. Export instance (export all instance including UI instances)
    Command: xexpdt
    Export instance data from all classes? (F): t
    Dataset ID ():
    Filename for exported data: ci.xml
    CMDBExportData results
    ReturnCode: OK
    Status List : 0 items

There are several other ways to generate instance file:

  • Use CMDB Analyzer Export Data feature to export instance file
  • User CMDB Workshop to edit and generate instance file
  • Use your favorite text editor to manually create instance file

Once you have the CMDB data files ready, enter them in the project definition window:

If you enter a directory name instead of a particular file name, CMDB Analyzer will load all relevant files found in that directory.  If your instances file already contains UIComponent instances, you can just leave "UIComponent File Or Directory" empty.

Create project to connect to a live CMDB server

Enter ARS login information in the project definition window:

Save Password

If you uncheck "Save Password" option, the password will not be saved - you have to enter the password every time you open the project.

Load All Instance Attributes

Normally you should not select this option because loading all instance attributes takes long time and consumes large memory. You can always retrieve all attributes of an instance by clicking "refresh" button in the instance detail panel.

Tip: Uncheck "Load All Instance Attributes" to reduce the memory consumption. As a result, only a few essential attributes, such as Name and InstanceId, will be loaded and attached to CI instances and relationships, but the memory saving is substantial. For example, memory usage goes down from 150M to 60M by unloading attributes. You have to refresh the data source after making the change.

Retrieve Exact Icon

If you haven't modified BMC.CORE.CONFIG:BMC_UIComponent Form which defines class icon information, or you know you have only one icon defined for each CI class, then don't check this option. On the other hand, if you have qualifications defined in UIComponent instances, and you want to correctly display class icons (for example, you have both desktop icon and laptop icon defined for BMC_ComputerSystem), you can check this option, but beware that you may experience downgraded performance as a result of selection this option.

Tip: To change project settings after project has been created, right-mouse click on a project in Project Panel and then select "Preference...".


Navigating in Project Panel

Project Panel organizes projects and their views in a workspace. The followings are the basic operations to manage projects and views.

  • Mouse Wheel - Scrolls the Project Panel up and down
  • Mouse Drag - Scrolls the Project Panel at any direction
  • Mouse Double Click - Opens an item in the tree
  • Right-Mouse Click -  Pops up a menu


Viewing CMDB System Configuration

 System configuration views are only available for projects with live CMDB connection.

  • System Class View - Displays the current system classes in the CMDB server, such as federated products, dataset composition and installed UI components, etc.
  • Reconciliation View - Displays reconciliation jobs and their execution history in current system.

Following is a screenshot of Reconciliation View:


Viewing Dataset

CMDB Analyzer displays all datasets (including overlay dataset) available in a data source. In Project Panel, overlay dataset nodes are placed inside its master dataset node. Each dataset has its own CI views.



Viewing CMDB Common Data Model (CDM)

CDM View shows classes in three categories in a hierarchical view:
  • Class BMC_BaseElement and its derived classes
  • Class BMC_BaseRelationship and its derived classes
  • All other classes


  1. Toolbar - Expandable
  2. View Area
  3. Class Category Switch - Click to switch between class categories
  4. Class General Info Panel - Class description and other general information
  5. Class Attributes Panel - Lists detailed class attributes information. See the screenshot below

The following is the fully expanded toolbar seen in CDM View:

 Collapse/Expend toolbar  Print  Take snapshot and copy to clipboard
 Configure graph style  Find classes by name  Zoom in
 Zoom out  Reset zoom  Center graph in view area
 Center and fit graph in view area

You can also use mouse wheel to zoom in and zoom out.


Summarizing CI and Relationship Distribution

Instance Summary View reports the number of instances of each class.

  1. Print - Print this view.
  2. Snap Shot - Copy the current view as an image to the clipboard.
  3. Find - Find a class or classes by name.
  4. View CI Classes - List only CI classes.
  5. View Relationship Classes - List only relationship classes.
  6. View In Hierarchical Tree - View the classes in a hierarchical tree.
  7. View Flat - Flat the class tree so you can sort by name, by the number of instances and so on.
  8. Class View - Display classes either flat or hierarchical.
  9. Instance Count - The number of direct instances of the class excluding instances from derived classes.

  10. Total Instance Count - The total number of instances including instances from derived classes.


Viewing Instances In Dataset

CI View displays all CI instances and relationships of a particular dataset. CMDB Analyzer by default creates a CI View called "Main View" for each dataset. You can create duplicated views and views that only contain a subset of the data.

The following is the fully expanded toolbar seen in CI View:

 Collapse/Expend toolbar  Save  Undo all the changes
 Duplicate view  Print  Take snapshot and copy to clipboard
 Export to file or image  Change graph layout  Configure CI View graphics properties
 Show Graph Filter  Show Relationship View  Show CI Tabular view
 Find CI  Show Object Magnifier  Zoom in
 Zoom out  Reset zoom  Center graph in view area
 Center and fit graph in view area        


Navigating in CI View

Basic mouse operations:
  • Left mouse button  - Hold to pull the graph around (Pan)
  • Mouse wheel - Zoom in and zoom out
  • Click on a CI or relationship - Highlight instance
  • Right-mouse click - Pops up a menu

Advanced mouse operations:

  • Hold Left mouse button and 'alt' key on a CI - Drag the CI around
  • Hold Left mouse button and 'ctrl' key on a CI or relationship - Drag & Drop this instance to Instance Explorer


Using Graph Filter

Graph Filter allows you to select desirable CIs and relationships to reduce the complexity of the graph. You can use the Graph Filter window to change the filter settings. Graph Filter applies only to a particular view - it won't reduce the instances number but just hides them. In the later section we will discuss the use of Instance Query - instance filters that actually reduces the instances loaded to a dataset.

Relationship Filtering

  • Check/uncheck relationship classes to show/hide relationships from the graph
  • Select the relationship "Reverse" option to change relationship direction (inbound to outbound or outbound to inbound)

CI Filtering

  • Check/uncheck CI classes to show/hide CI instances from the graph
  • Check/uncheck "Show Dangling CI" to show/hide those CIs with no relationships
  • Use CI grouping option to group CI instances that have the same type of upstream relationship with the same upstream node but have no downstream relationships. The grouping option reduces the node number and thus reduces the complexity of the graph. The grouping threshold defines the minimum CI instance number that qualifies them as a group.



Using Smart Zoom

Smart zoom allows you to spread out otherwise crowded CI instance nodes and relationship lines in the graph. You can use the mouse wheel or the zoom buttons in the toolbar to perform smart zoom.



Using Object Magnifier

You can use Object Magnifier to view parts of the graph in great detail, or use it as an overview window to have a bird view of the whole graph. The CIs and relationships in the Object Magnifier window are all alive - you can perform any mouse or keyboard actions as if you are working in the main view window.

Zoom out and turn magnifier as an overview:

Basic Object Magnifier Mouse Operations :

  • Drag Magnifier Spotter to target a specific area to magnify. The crosshair of the Magnifier Spotter is always aligned with the Crosshair in the Magnifier Window.
  • Drag the Crosshair in Magnifier Window and release it. Both Crosshair and Magnifier Spotter will align again.
  • Drag the Magnifier Window title bar to move the window.
  • Drag the Magnifier Window border to resize the window.
  • Use mouse wheel in the Magnifier Spotter to zoom.
  • Use mouse wheel in the Magnifier Window to zoom.
  • Use mouse to pan, pick CI instances and relationships, popup menus, and so on - as if in main view window.


Using Relationship View

Relationship View gives you a clear local view of upstream and downstream relationships of a particular CI.  You can drill up and drill down the graph by click the drill button or double click on a CI instance node in Relationship View.


Using CI Tabular View

Tabular View lists all visible instances in a table. The columns are configurable and you can export the table content to a CSV file which can be opened by Microsoft Excel.

Click "Choose Fields.." and you can choose table columns.


Changing Graphics Properties

You can use Graphics Properties window to change graphics attributes of CI nodes, relationship lines, graph background and grid fill color. Once the CI View is saved these graphics properties are saved too.


Changing Layout

You have three graph layouts to choose:

  • Top-to-bottom hierarchical tree
  • Left-to-right hierarchical tree
  • Radial tree

Top-to-bottom and left-to-right trees are good choices for laying out simple graph. Radial tree is more suitable when a large number of nodes are involved with complex connections between nodes. You might need to try all three layouts to select a best layout option.


Creating New Views

There are two ways you can create a new CI View - Duplication and Subgraph.


Duplicating a CI View basically generates an exact copy of the view. To create a duplication, you can

  • Right-mouse click on a CI View node in the Project Panel and select menu item "Duplicate"
  • Or Click the "Duplicate" button in the CI View toolbar


You can also create views that show only a subset of CI instances and relationships in the dataset. We call this kind of view a subgraph.

Starting from a CI instance, you can create an outbound subgraph, an inbound subgraph, or an all-direction subgraph.

The screenshot below shows the difference of these three subgraph types.

To create a subgraph, right-mouse click on a CI instance node and select menu item "New Subgraph View...".

Create Tight Subgraph

A subgraph can be "loose" or "tight". "Loose" means there could be opposite branches in the subgraph. For example, an outbound subgraph (going downstream) has some upstream branches because some nodes have multiple parent nodes. "Tight" subgraph, on the other hand, can not have opposite branches. For example, a tight inbound subgraph (going upstream) should not have more than one outbound (downstream) path. The picture below shows the difference between a "loose" subgraph and a "tight" subgraph.


Using Dataset Instance Filter

Instance Filter provides CI and relationship instances filtering for a dataset and is only available in server projects. The default Instance Filter retrieves all instances available in the dataset. If a dataset is too large to query for all instances, you can edit the instance filter to retrieve only instances that you are interested. See section Defining Instance Search Filter for details about how to use Instance Filter Set Editor.

To edit dataset Instance Filter, right-mouse click on a dataset node. See screenshot below.


Showing Attribute Pane

Instance Attribute Pane shows detailed information about the CI or relationship instance you select. To show or hide Instance Attribute Pane, select menu item "Show Attribute Pane" or "Hide Attribute Pane" in the CI popup menu, in the relationship popup menu or in the view popup menu.

Operations in Instance Attribute Pane:

  • Click "Refresh Attributes" button to retrieve current attributes from the server (only available for server projects)
  • Click a class node in the class hierarchy chain to bring up CDM View


Taking Snapshot

Click "Snapshot" button on the CI View toolbar to take a snapshot of the view and copy it to clipboard. The snapshot image only covers the visible view window area.

Tip: Use "Export Image" option to export the whole graph to an image file.


Exporting Image

To export the whole graph to a gif image file, click "Export" on the CI View toolbar and select "Export Image...".


Exporting Data

To export the graph to a XML file, click "Export" on the CI View toolbar and select "Export Data...". Only visible CI instances and relationships are exported.

Tip: You can use the exported instance files as data source for a new project.


Finding Instances

Open the Find Instance Window to search for a CI or a group of CIs by its name or instance ID. If you type in a partial string you will get a list of CIs whose names or IDs contain the string.

Another way to search for CIs is to use CI Tabular View. Click "CI Tabular View" on the CI View toolbar and you get a table of all visible CIs. Then you can sort the table and find the CIs you are looking for.



Click "Print" on the CI View toolbar to pop up the print preview window.

Options in the print preview window:

  • Select page orientation - Landscape or Portrait
  • Scale the whole graph to fit into a single page
  • Scale preview window
  • Start to print


Comparing Dataset

Use Dataset Diff View to find out the difference or similarity between two datasets.  Dataset Diff View can compare datasets from the same project or from different projects. For example, you can compare two datasets one from a development server and the other from a production server.


Change Diff Criteria

The default criteria to compare instances is the InstanceID. Click "Criteria" on the Diff View toolbar to change criteria setting. You can choose InstanceID, ReconciliationID or other instance attribute.


Tip: You can drag an instance (a row) in the Diff View result table and drop it to Instance Explorer.


Viewing Instances On-the-fly

You use Instance Explorer in situations such as:
  • You have a dataset that has too many instances. It is not practical to load all instances in a CI View
  • You want to draw instances from different datasets in one graph
  • You are only interested in some instances in the dataset
  • You just want the graph expand/collapse feature

Instance Explorer supports instance (both CI and relationship) drag&drop operation. You can drag instances from various sources, such as from CI View, Dataset Diff View and Instance Filter View. You can also directly enter instance ID by selecting menu item "Insert CI Instance" or "Insert Relationship Instance" in the view popup menu (right-mouse click on empty space).

Instance Explorer can combine instances from different datasets which have to be in the host project. You will get an error message if you try to add instances from other projects. Not like CI View, Instance Explore has no persistence - you can't save Instance Explorer. "Default Explorer" is the default Instance Explorer when the project is created. You can create additional Instance Explorer views by selecting  "New Instance Explorer..." menu option on the Instance Explorer tree node (right-mouse click on the tree node).

Basic Operations:

  • Right-mouse click on a CI instance to popup the CI menu
  • Right-mouse click on a relationship to popup the relationship menu
  • Right-mouse click on empty space to popup the view menu
  • Expand/Collapse Graph - Click "+" or "-" sign to expand/collapse graph inbound or outbound
  • Set Sticky - Always show the CI even if it becomes dangling (fully collapsed). Sticky CIs are painted yellow.
  • Remove Sticky - Remove the CI if it becomes dangling
  • Collapse Relation - Collapse the selected relationship only
  • Clear All - Remove all CIs and relationships in the view
  • Insert CI - Add a CI into the current view
  • Insert Relationship  - Add a relationship into the current view

CI Menu and Relationship menu



Defining Instance Search Filter

Instance Query Set is available only for server project.

A set of instance search criteria can be defined and saved as an Instance Query Set. The result instances are the combination of all the instances returned from the sequential execution of queries in the set. For example, you can define an Instance Query Set that first retrieves all instances from BMC_ComputerSystem, and then all instances from BMC_Processor, and finally retrieves all BMC_Component relationship instances. The result instances are presented in the CI instance table and the relationship instance table. You can drag a table row to Instance Explorer to explore the relationships. The screenshot below is the Query Set View.

  1. Query Set Content - A list of queries this set contains
  2. Run Query Set - Execute this query set
  3. CI Instances Table - List the result CI instances of the execution of this query set 
  4. Relationship Instance Table - List the result relationship instances of the execution of this query set 
  5. Edit Query Set - Start the Query Set Editor
  6. Instance Detail Pane - Display the detail information about the selected instance
  7. Class Hierarchy Chain - Click to show CDM View.


Let's walk through the steps to create a query set.

  1. Right-mouse click on tree node "Instance Query" and select menu "New Instance Query Set...".
  2. Enter a name for this new query set and click "OK".
  3. On Query Set View click button "Edit Query Set..." to pop up Query Set Editor (See screenshot below)

  5. Click "New Query" button on Query Set Editor to create a new query from three possible query types: Qualified Query, Class Query and Graph Query.
  6. Click "Import Query" to copy queries from other query sets.
  7. Repeat Step 4 or Step 5 to create multiple queries.
  8. Use the up and down arrow buttons on the left side Query List panel to change the query execution order.
  9. Click "OK" to close Query Set Editor.
  10. Click "Run Query Set" on Query Set View to execute the query set.

There are four types of Instance Query you can create.

Create Class Query

A class query retrieves all instances of defined classes. To create a class query:

  1. Select a dataset.
  2. Add/Delete one or more CMDB classes. 

In the above screenshot, a class query is defined to retrieve all instances from dataset "BMC.ASSET".


Create Qualified Query

A qualified query retrieves instances from single CMDB Class with qualified class fields. To create a qualified query:

  1. Select a dataset.
  2. Select a CMDB class.
  3. Build class field qualifier.


Create Graph Query

A graph query retrieves a branch of graph including both CI and Relationship instances. It starts from a single top CI instance to certain levels either upstream or downstream. The screenshot below defines a graph query that starts from a CI whose instanceId is "00001" and includes all levels of downstream relationships whose source CI class is BMC_BaseElement and destination CI class is also BMC_BaseElement.


Create SQL Query

A SQL query allows you to run database SQL statements to find CI instances and relationships. It is the most flexible and powerful Instance Query. Since CMDB Analyzer doesn't check SQL syntax for you, it's a good practice that you verify your query first and then copy the query to the query edit window. Because the result of the query must be either a list of CI instances or Relationships, the first part of the query "Select ... From" is done for you already. All you have to do is

  1. Select the option "BMC_BaseElement" or "BMC_BaseRelationship" to indicate the result set is CI instance or relationship
  2. Write the remaining part of the query that follows "Select ... From"

The following example shows a SQL query that retrieves relationships whose CIs have "Company" field set to "bluelineG".

The "Table Name" button helps you to find the actual database table names via more readable form names. For example, it tells you that table "T65" is "BMC_BaseElement", and table "T122" is "BMC_BaseRelationship".


Viewing CI Aging Info

CI Aging Analysis gives detailed statistical information about when CIs in the production dataset are created, last modified and scanned.

  1. Update - Click to refresh the view, otherwise the view is loaded from a data file saved from last update time. This feature is only available on server projects.
  2. Legend - Toggle to select which date information to chart
  3. View Report - View CI Aging Report in a tabular format
  4. Time Resolution - Change chart time resolution to daily, weekly, monthly or yearly
  5. Main charting area - Double click on a bar to view CI Detailed Aging Report
  6. Day Axis - Show calendar day and week information
  7. Month Axis - Show month and year information. Double click on it to jump to monthly chart.

CI Aging Report


CI Detailed Aging Report (Daily)