Network visualization

Network visualization

Description

Version history:
1.0.3 moved network_visualization_loader.py to different folder. caused an exception on cmk-update-config


########################################################
Important:
This MKP is still work in progress. Many things will change over time, including the format of the raw data.
If you test this package, run some tests on small configurations first.
Using wrong filters in the filter formular, for example "query all hosts", might cause some CPU stress on the apache server.
########################################################

To get the mkp running it requires some raw data, about the relationships of hosts and interfaces
It is up to you to ensure the validity of this data. There are no sanity tests within checkmk.

json-data format:

{
'HostA': {'connections': {'GigabitEthernet0/1': ['HostB', 'GigabitEthernet0/5', 'lldp'],
'GigabitEthernet0/2': ['HostC', 'GigabitEthernet0/6', 'lldp']},
'interfaces': ['GigabitEthernet0/1', 'GigabitEthernet0/2']},
'HostB': {'connections': {'GigabitEthernet0/5': ['HostA', 'GigabitEthernet0/1', 'lldp'],
'GigabitEthernet0/2': ['HostF', 'GigabitEthernet0/6', 'lldp']},
'interfaces': ['GigabitEthernet0/5', 'GigabitEthernet0/2']},
....
}

A simple dictionary lookup. Each host has a distinct entry with two keys
connections - the interface connection of the host to the host/interface of the remote system, the third list entry (datasource) is currently unused.
interfaces - the list of interfaces available on this host

The hostnames in this file must match the name used in the monitoring server. Case sensitive.
The interface names must match the service description in the monitoring server, excluding the "Interface " prefix.

The data is read from the following base folder

OMD[stable]:~/var/topology_data$ ll
total 20
drwxr-xr-x 2 stable stable 4096 Aug 9 16:09 1_Thursday
drwxr-xr-x 2 stable stable 4096 Aug 9 16:09 2_Wednesday
drwxr-xr-x 2 stable stable 4096 Aug 9 16:10 3_Tuesday
drwxr-xr-x 2 stable stable 4096 Aug 9 16:10 4_Monday
drwxr-xr-x 2 stable stable 4096 Aug 9 16:10 5_Sunday
lrwxrwxrwx 1 stable stable 10 Aug 2 15:21 default -> 1_Thursday

OMD[stable]:~/var/topology_data$ ll 1_Thursday/
total 8624
-rwxrwxrwx 1 stable stable 8827053 Jan 31 2023 network_data.json

Arbitrary folder names can be used. These will show up in the GUI to enable the comparison between different network_data.json files.
Additionally a "default" softlink is required, pointing to the default data file.

---------

If the MKP was successfully loaded into the GUI, the host icons dropdown menu shows an additional "Network layer topology" option.
This options brings you to the topology overview.

There is lots of experimental stuff in this page, which may or may not be included in the official software.
The default layout for the network is a radial layout. You can dissolve this layout, move nodes, create different layouts and save it for later use.
Currently, the identifier for saved layouts are the filter settings. We will probably change this later on.
So if you use the exact same filter settings when calling this page, you will automatically get any previously saved layout

The filter on the right side also acts a bit differently than in the other pages. Actually, you can not click "Apply filters".
Instead, the "Live search" filter automatically looks for changes in the filter form. After a specific time a new request is sent to the monitoring server,
and the page is updated with data from the response.

---------

This mkp currently comes with its own javascript package. It is 99% based on the official 2.2 version javascript.
Once we cleanup the javascript packaging in the official software an easier approach can be made.

---------

A thread "Network Visualization" is available on forum.checkmk.com where you can give feedback.

Latest Version

Version: 1.0.3
Packaged at: 08 Nov 2023
Created on Checkmk version: 2.2.0p12
Minimum Checkmk version required: 2.2.0p1
MKP MD5 hash: add3fc7558553dacda4997ae432ed272
This version requires Checkmk version 2.0.0 or higher
gui
  • wato/network_visualization_loader.py
Libraries
  • python3/cmk/gui/network_visualization.py
GUI Extensions
  • htdocs/css/network.css
  • htdocs/js/network_visualization_min.js
  • Version: 1.0.3
    Packaged at: 08 Nov 2023
    Created on Checkmk version: 2.2.0p12
    Minimum Checkmk version required: 2.2.0p1
    MKP MD5 hash: add3fc7558553dacda4997ae432ed272
    Description:
    gui
    • wato/network_visualization_loader.py
    Libraries
    • python3/cmk/gui/network_visualization.py
    GUI Extensions
    • htdocs/css/network.css
    • htdocs/js/network_visualization_min.js
  • Version: 1.0.2
    Packaged at: 05 Oct 2023
    Created on Checkmk version: 2.2.0p10
    Minimum Checkmk version required: 2.2.0p1
    MKP MD5 hash: 278d5455083a671567076831eec33cc4
    Description:
    gui
    • views/network_visualization_loader.py
    Libraries
    • python3/cmk/gui/network_visualization.py
    GUI Extensions
    • htdocs/css/network.css
    • htdocs/js/network_visualization_min.js
No reviews added yet.

By downloading packages from the Checkmk Exchange you agree to our Terms of Use.