Network Visualization meets parent/child topology

With the preparations for Checkmk 2.5 out of the way it was time for some new features. Along with new options for the layer 2 and static topologies there is a completely new layer.

Version 1.2.1-20260107

  • FIXED
    • validation of site-id in active check rule set
  • IMPROVED
    • moved CSS style out of the topology file
  • ADDED
    Two new options to configure your layer 2 seed devices
    • L2_SEED_DEVICES_BY_LABEL
      with this option you can move the configuration of seed devices directly into Checkmk

    • --l2-seed-devices-from-static
      If you use the STATIC layer to connect your layer 2 domains then it’s very likely that the hosts used there can be used as seed devices as well

    • --l2-allow-host-from-alias
      This is one more option to help NVDCT to map neighbor names to Checkmk host names (I still recommend try --pre-fetch first)

    • --static-skip-services
      To make the skip interface options complete, with this option NVDCT skips all services/interfaces configured in the STATIC layer, this is used internaly for the new PARENCHILD layer

New layer PARENTCHILD (experimental)

What is this about?
The goal of the PARENTCHILD layer is to create the “Parent/child topology” for Checkmk from the layer 2 (CDP/LLDP) and STATIC layer.

Why is this experimental?
As far as I remeber the first time someone mentioned bringing together the “Parent/child topology” and the “Network Visualization” was @anders in this post (reading this tody i guess it was meant differently). My first thougt back then was “no way, this can not work”. More than 1.5 years later, working with the network visualization, improving NVDCT litle by litle, I still believe that this will not always work, but perhaps I can make it work for many (hopefully most) topologies.

As we have all the basic components we need,

  • a decent layer 2 (CDP/LLDP) topology
  • a working STATIC layer
  • a combined topology from differnet sources
  • adjust the detail level of the topology
  • the abillity to filter on the site, host and interface level
  • the integration into the Checkmk UI

I think it’s time to give it a try now and see where it takes us.

What can you do so far?

  • create the parent/child topology from the layer 2 + static topology
  • export the parent configuration data for future use (--pc-export)
  • compare the created parent/child topology with Checkmks parent/child topology (--pc-compare). In my opinion, this is the most useful feature here so far.

To create the topology, NVDCT requires some basic information:

PC_ROOT_DEVICES = [
    "C9540-7-1",
]

[SETTINGS]
pc_checkmk_server = "cmkbuild"
pc_site_id = "remote1"
layers = ["PARENTCHILD"]

NOTE: You also need to add all the options to configure your layer 2/static topology as usual.

Here you can see how my dev system is configured and how it should be.

NOTE So far NVDCT will not change the Checkmk configuration in any way. Right now it’s only view, not change. This option might come in future versions.

Cheers
Thomas

8 Likes

Hello

This looks very good and very useful for us!

Let us know when we can test it.

Thanks!

@JPH

you can download the actual version of NVDCT from my Git site and start testing.

Cheers
Thomas