CMDB Health Report



CMDB Health KPIs and metrics

The overall CMDB health score consists of three Key Performance Indicators (KPIs) which are correctness, compliance and completeness, each further consisting of sub-metrics. Each KPI and metric is associated with a scorecard that determines its contribution to the aggregated health at the overall CMDB level, class, and CI level.

You can configure which KPIs and metrics are included in the aggregated calculation, and set their weight in the aggregation. In the base system, all KPIs and all metrics are included in the aggregated health report.

Overall

An aggregation of all three KPIs (correctness, completeness and compliance), according to their overall scorecard weight settings.

Correctness

A KPI which is an aggregation of the following metrics, according to the correctness scorecard weight settings.

OrphanMeasures the percentage of orphan CIs in the CMDB. A CI can become orphan if it was unintentionally left in the CMDB when it is no longer needed. A CI is determined to be orphan if:The CI satisfies the criteria in an orphan rule. This criteria checks for specific attributes that a CI must have, and for CIs that have no relationships or that don't have specific relationships.Data is missing for the CI in its respective table, or in one of its parents' table.StalenessMeasures the percentage of stale CIs in the CMDB. A CI is stale if it was not updated within the Effective Duration time period that is specified in the staleness rule that applies to the class.The base system includes a default staleness rule for the Configuration Item [cmdb_ci] class, which sets the Effective Duration time to 60 days. This rule applies to all extended CMDB classes, and can be overridden by class specific staleness rules defined by the user. To determine CI staleness, a staleness rule for the CI's class is used if it exists, otherwise, the default staleness rule is used.In addition, a relationship in which a stale CI is a parent or a child, is determined to be a stale relationship.Note: Discovery marks VMware vCenter CIs that no longer physically exist, as stale. This setting takes precedence over a CMDB Health staleness rule defined for the CI. When drilling-down in the CMDB dashboard to Health Results, the Source for these CIs is CLOUD_DISCOVERY. For more information, see Discovery for VMware vCenterDuplicateMeasures the percentage of duplicate CIs in the CMDB using identification rules. Only independent CIs are evaluated for duplication. In a set of duplicate CIs, the count of duplicate CIs is the total number of CIs in the set, minus one. The detailed graphs for a duplicate set of CIs display all the CIs in the set.

Completeness

A KPI which is an aggregation of the following metrics, according to the completeness scorecard weight settings.

RequiredMeasures the percentage of CIs in which fields that are defined as mandatory, are not populated. Missing fields are tagged as incomplete noting that for this CI some information is missing. Required fields are equivalent to the fields that are specified as mandatory in the system dictionary.RecommendedMeasures the percentage of CIs in which fields that are set as recommended, are not populated. Out-of-box, no recommended fields are specified.

Compliance

Based on the results of actual CMDB audit runs.

AuditAudit compares actual values of specified fields, against expected values defined in template and scripted audits. Based on the Last run date of audits, CMDB Health identifies the set of the most recent complete audit run, and uses those audit results. To pass the CMDB Health audit test, a CI must be in compliance with all audits for that CI. Create a compliance-type audit, for which the results are calculated into the CMDB Health compliance KPI.When running scripted audits, the Last run date is not populated. Therefore, for the compliance KPI to include the results of a scripted audit, update the script in the audit to record the audit run time.For more information, see Create an audit.

Relationships

Measures the health of CI relationships, consisting of the following metrics which are not-configurable:

Duplicate relationshipsRelationships that have identical parent and child CIs, identical relationship type, and an identical port. Duplicate relationships are displayed per relationship type. In a set of duplicate relationships, the duplicate relationship count is the total number of duplicate relationships in the set, minus one. The detailed graphs for a duplicate set of relationships display all the relationships in the set.Orphan relationshipsA relationship that is missing either a parent CI, a child CI, or both.

Stale relationshipsA relationship in which the parent CI or the child CI is a stale CI.

A single relationship can fail more than one health test. For example, a duplicate relationship can also be stale.

Also reports the following relationship-related summaries:
  • Relations not compliant with suggested relations
  • Relations not compliant with containment rules
  • Relations not compliant with hosting rules

Configure CMDB groups scorecard thresholds

Each CMDB group can have its unique set of scorecard thresholds for best, at risk, and critical state definitions for specific KPIs or metrics.

Before you begin

Role required: itil_admin (on top of itil)

About this task

Scorecard thresholds are used to determine overall metric state, and are defined by upper and lower thresholds:
  • 0 - lower threshold: Best state
  • Lower threshold - upper threshold: At risk state
  • Upper threshold - 100: Critical state
In the base system, for all KPIs and metrics, upper thresholds are set to 67 and lower thresholds are set to 33. You can adjust scorecard thresholds for a specific CMDB group per KPI or metric, to reflect the range of failures that should be used in health reporting.

CMDB groups scorecard thresholds are stored in the [cmdb_health_scorecard_group_threshold] table.

Procedure

  1. In the search box in the navigation bar, enter cmdb_health_scorecard_group_threshold.list and press the Enter key.
  2. In the CMDB Health Group Scorecard Thresholds list, click New.
  3. Fill out the form.
    FieldDescription
    Upper thresholdUpper range of percentage of CIs failing the specified metric tests, that is used to calculate best and at risk states.
    CMDB GroupThe CMDB group to which this scorecard threshold setting applies to.
    Lower thresholdLower range of percentage of CIs failing the specified metric tests, that is used to calculate at risk and critical states.
    MetricThe metric to which the scorecard threshold setting applies to.
  4. Click Submit.

Create health inclusion rule

You can narrow the scope of CIs that are included in health calculations by defining health inclusion rules. Health inclusion rules can be specified per domain.

Before you begin

Role required: itil has read access, itil_admin (on top of itil) has full access.

About this task

Evaluation for the required, orphan, recommended, and staleness health metrics, will apply only to CIs that satisfy health inclusion rules. For the duplicate metric, Identification inclusion rules can be used for that purpose.

In the base system, there are no predefined health inclusion rules, in which case all CIs are included in the CMDB Health calculations.

Procedure

  1. Navigate to Configuration > CI Class Manager.
  2. Click Hierarchy to display the CI Classes list. Select the class for which to create a health inclusion rule.
  3. In the class navigation bar, expand Health and then click Health Inclusion Rules.
  4. Click an existing rule to edit or click New and then fill out the Health Inclusion Rules form.
    FieldDescription
    Applies toClass this rules applies to.
    Active record conditionCriteria that CIs must meet to be included in the evaluation for the specified health metrics.
    Applies to metricMetrics that the rule applies to.
  5. Click Save or Update.

Enable and configure a CMDB Health Dashboard job

Enable and configure the jobs that process CMDB health tests, to start calculating CMDB health scores for the completeness, compliance, correctness, and relationship KPI. These health scores are then aggregated into the overall CMDB health report.

Before you begin

Role required: admin

About this task

In the base system, CMDB Health Dashboard jobs are disabled by default. Enable and configure the respective job for the CMDB health KPI that you want data collected and aggregated for. You can schedule a job to run on a recurring schedule, or execute it once at any time.

Procedure

  1. Navigate to Configuration > CMDB Dashboard > CMDB View, and then click CMDB Health Dashboard Jobs.
  2. Select a job that you want to enable or configure.
    CMDB Health Dashboard jobDescription
    CMDB Health Dashboard - Completeness Score CalculationScript for calculating the completeness KPI of CMDB health.
    CMDB Health Dashboard - Compliance Score CalculationScript for calculating the compliance KPI of CMDB health.
    CMDB Health Dashboard - Correctness Score CalculationScript for calculating the correctness KPI of CMDB health.
    CMDB Health Dashboard - Relationship Score CalculationScript for calculating the CI relationships KPI of CMDB health.
    CMDB Health Dashboard - Relationship Compliance ProcessorScript for calculating compliance of relationships with suggested relationships, and with hosting and containment rules.
  3. Review the default configuration, and update as necessary.
    FieldDescription
    NameJob name. It is recommended that you do not modify the job's name.
    ActiveSelect to activate the job.
    RunConfigure recurring schedule of job execution, or select On Demand.
    TimeIf Active is selected, set the time (hour, minute, and second) to run the job.
    ConditionalIf selected, the scripted condition must evaluate to true before the job can run.
    Run this scriptThe job's script. Modifications to the script are not recommended.
  4. Click Execute Now to run the job once immediately.

Result

After you enable a CMDB Health Dashboard job, the results for the KPI are aggregated and displayed in the CMDB dashboard and CI dashboard, at the CMDB, class, and CI levels.


CMDB QUERY

Build a CMDB query using the CMDB Query Builder

London

A CMDB query type queries the infrastructure for CI classes and the relationships and references that connect them.

Role required: cmdb_query_builder (contained for itil and asset)


Build the query by dragging the CI classes that you want to include in the query, dropping them as nodes on the canvas, and then defining relationship properties between them. For every class node in the query, you can filter on its attributes to narrow down the results to a specific set of CIs of that class or to a single specific CI. You can also select the property columns that display in the query results. Query filters use related list conditions which allow the inclusion of a relationship with another table in the filter. For more information, see Add related list conditions.

Authorized users can update and delete a query created by another user.

Procedure

  1. Navigate to Configuration and click CMDB Query Builder.
  2. On the CMDB Query Builder page do either of the following steps:
    • Click Create new. Type in a Name, choose CMDB Query as the Query type, and then click Create.
    • Click a widget of a saved query to continue building an existing query. Search saved queries first if needed.
    • Point to the upper right corner of a saved query widget, and click the Duplicate Query icon to edit a copy of a saved query. The default name of the new query contains the string 'copy'.
  3. On the canvas, you can:
    • Add CI classes to the query: Select classes from the class hierarchy under CMDB Artifacts and drag them to the canvas.
    • Add connections between two nodes on the canvas:
      1. On the first node in the relationship, click the small square at the center of the right side to toggle its color to blue.
      2. On the second node in the relationship, click the small square at the center of the left side to toggle its color to blue.
      3. In the Connection Properties dialog box:
        • Choose the parent/child roles in the relationship and then configure the properties in the respective section of the connection properties.
        • Click Add Relations and select a relationship from the list of existing relationships between the CIs (including descendant classes).
        • Select No Relations to query for classes that do not have any relationships with each other. For example, query for all Tomcat WAR CIs which are not connected to a Windows Server.
        • Click Add Reference to choose a field that the parent class (including ascendant parent classes) uses to reference the child.
      4. Click Confirm.
      Relationship UI Notations
      NotationDescription
      Full lineA relationship in a CMDB query.
      Dotted lineA relationship in a Service Mapping query.
      Red asterisk at the center of the connection lineInformation such as relationship type is missing, invalidating the query.
    • Add filters to the query:

      The initial elements of a query are classes. Applying filters, you can narrow a class down to a specific set of CIs or to a single specific CI.

      1. Point to the node to add a filter to.
      2. Click the Apply Filters icon that pops up above the node.
      3. Add attribute and related list conditions.
      4. Close the Filters section on the canvas.

      For example, add a filter for database location to query for databases located in Seattle.

      Click Applied Filters in the navigation bar on the right to view all filters that were added for each node on the canvas. When you select a set of filters in the navigation bar, the respective node that these filters apply to, is highlighted. And, if you select a node, the respective set of filters that apply to that node, is highlighted.

    • Add AND/OR operations to the query:
      1. Connect one node to two other nodes.
      2. Click the AND box that appears to toggle between the And and the Or operations.

      For example, C1 is Tomcat WAR, C2 is Linux Server, and C3 is Windows Server. Query for all Tomcat WAR CIs which are connected either to Linux Server Or to a Windows Server.

    • Add property columns to display in the query results:
      Note: For a relationship, the query results display the parent, child, and type columns. You cannot add any other columns from the [cmdb_rel_ci] table.
      1. Click the node to add properties to.
      2. Click the Properties tab, and then click Add Columns.
      3. Select the properties to display and then click outside the properties list to close it.
    • Select columns and add filters that will be applied to the resulting set of services:
      1. Ensure that Properties is selected at the top on the right-hand side navigation bar, and then click an empty space on the canvas to ensure that nothing is selected.
      2. Click Add Columns at the bottom of the right-hand side navigation bar and select columns to add.
    • Create a combination query by integrating a Service Mapping query into a CMDB query:
      1. Click Saved Service Queries.
      2. Select a Service Mapping query and drag it to the canvas.

      This query returns all CIs that satisfy the CMDB query, and that are included in the services returned by the Service Mapping query.

    • Add a search tag that can then be used as a search criteria for saved queries:
      1. Click the Add Tags icon.
      2. Click Add Tag, and enter the tag string.
      3. Click the Add Tags icon again to close the Query Tags dialog box.
  4. Modify the query:
    • Apply filters: Click a node and then click the Apply filters icon to add or edit the node's filters.
    • Modify relationship properties: Click the line that represents the relationship between two nodes to display the Connection Properties on the right-hand side pane.
    • Modify Query Builder settings: Click the Settings icon. (Settings) icon to open the Query Builder Settings dialog box.

What to do next

  • Click Save.

    In the Saved Queries tab, you can point to a saved query widget and click the 'i' icon to view query information such as the query type, last update date, CMDB groups associated with the query, and the query schedules.

  • Click Run.
    Note: When a query is running, wait for it to complete or to time out before opening or running another query.

    The query results pane displays only the first 100 results of the query.

    • Click Load More Results to display the next set of 100 results.
    • Click Load All Results to display the rest of the query results, up to the number specified by the glide.cmdb.query.max_results_limit system property (10,000 by default).
  • Create a report from CMDB query results.
  • Create a schedule to run the query at a future time, and to email the results to interested parties.
  • Click the Query Results context menu and select Export. Even if the Load More Results button is visible, indicating that there are additional query results, only the results that are visible are exported.

  • Populate a CMDB group using the saved query.

Open Questions

QuestionAnswerDate Answered

Out of Scope