Use the Checkmk builtin Datasource

Datasource Specific Parameters

mapping:
  - labelname:  <custom labelname>
    # Comma separated list of the tree structure of the HW/SW Inventory
    # Example:
    tree: [Software, Operating System, Name]
    # Alternative notation in yaml
    tree:
      - Software
      - Operating System
      - Name
    match_group_filters:
        - ["regex search string", "replace string"]

Harmonize Labels via Regex

This can be done using match_group_filters. It’s a list of filters, each filter consists of two fields: ["regex search string", "replace string"] In the first field you can define matchgroups. They can be used in the second field with \(numberof the matchgroup)

Full example

datasources:
  # Datasource: CMK-Inventory
  Hardware-Software-Inventory:
    module: lpds_hwswtree
    # CMK Label = <label_prefix>/<label>
    # Example label_name: hwsw/os_name
    label_prefix: hwsw
    mapping:
      - labelname: os_name
        tree: [Software, Operating System, Name]
#        match_group_filters:
#          - ['Microsoft Windows Server 2012 R2 Standard', 'Ancient Server OS']
#          - ['Microsoft Windows Server (.*)', 'Win Server \1']
#          - ['Microsoft (Windows Server) (\d{4}) (.*)', '\1 \2 Edition - \3']
      - labelname: product
        tree: [Hardware, System, Product]

      - labelname: model
        tree: [Hardware, System, Model Name]

      - labelname: apache_version
        tree:
          - Software
          - Packages
          - Apache2