Hi, guys. I have many network devices (firewall, switches and wireless access points) on my console. They are all with LLDP enable. I followed the instructions from the How To but I am still not capable of retrieving any information from the network devices. Can you help me with the basics? I am really a beginner when it comes to CheckMK.
I can try.
- answer this questions please:
- your CMK version/edition
- your environment (stand alone or distributed)
- the OS of your CMK server(s)
-
a list of the installed plugins
as site user do amkp listand post the output here
Managing extension packages via the command line -
do have enabled the hardware/software inventory?
if yes your devices should have a service like this

if not Activating the inventory for the desired hosts -
check if the plugins have found the neighbour info
open the HW/SW inventory go toNetwork→LLDP Cache→LLDP Neighbours -
have you modified the config for NVDCT (by default nvdct.toml)?
if yes post the file here -
post the output from the nvdct run here (incl. the command with all options).
Cheers
Thomas
Hi, Thomas! Thank you for the answer!
Of all the info you asked about I can only give you these ones right now (the guy responsible for the server is off until beginning of July)
1 - CMK Version is Enterprise Edition 2.2.0p21
3 - My devices have HW/SW Inventory enabled, yes. I’ve noticed today that the devices were not configured properly to have it but by now I am fixing it and some of them already shows me CPU, Interfaces and BGP Peers. I just don’t see the LLDP data (which is the most important to me).
4 - As I said, I am not seeing stuff related to LLDP yet ![]()
The plugins that I have are these ones:
Thanks in advance!
ok. The plugin list looks ok, except for the create_topology_data this is replaced by nvdct and should be removed. As this is a CMK 2.2 you also need to install the Network visualization mkp from the Exchange.
What type of devices do you have (vendor/model)?
I have mainly Fortinet, Cisco, Aruba and Ruckus. I will install that plugin you mentioned.
this sould do. You can try to run the inventory form the CLI and check which plugins are used. In this case you see the LLDP, CDP, IPv4 and ifname are used.
~$ cmk -v --no-cache --inventory-as-check your-host
+ FETCHING DATA
No piggyback files for 'removed'. Skip processing.
No piggyback files for 'removed'. Skip processing.
Get piggybacked data
+ EXECUTING INVENTORY PLUGINS
inv_cdp_cache: ok
inv_cisco_vlans: ok
inv_if: ok
inv_ifname: ok
inv_ipv4_addresses: ok
inv_lldp_cache: ok
snmp_extended_info: ok
snmp_info: ok
+ CREATE INVENTORY OR STATUS DATA TREE
+ MAY UPDATE INVENTORY TREE
No piggyback files for 'removed. Skip processing.
No piggyback files for 'removed'. Skip processing.
Inventory tree has changed.
Archive current inventory tree.
Save new inventory tree.
Found 2628 inventory entries, Found 384 status entries
~$
I think I.ve managed to make stuff work. I will keep you posted! Your answers were very helpful to me!
Hi, mate!
LLDP doesn’t seems to be captured on Fortigate. Is there anything special to be configured on those?
Not that I know of. Send you a PM.
Same observation here - I guess Fortinet changed SNMP OIDs in their latest builds (I guess 7.2 +). I will try to verify this some day this week and keep you posted.
That’s good…but, mate, I am trying to monitor devices with 7.0.14 and 7.0.15 only.
Folks,
My CheckMK is having the topology stuck on Fetching Data. Have you ever stumbled upon a situation like this by chance?
Do you see any errors in ~/var/log/web.log?
Is the site apache running at 100%?
Are there any errors shown in the console output (developer tools) of the browser?
thl-cmk has already shown me some cases in which the user interface no longer responds.
I’m going to check them in the following weeks.
Here you should use the host name (as in Checkmk) instead of the IP address.
As this has not direcly to do with the Network Visualization, but with the inventory, it would be nice if you put your answer in our private chat ![]()
OK. I will try this. But not all of my devices has hostnames solvable in a DNS, including this one.
no, but they should exist in CMK, right?
Yes, If that will work, then yes. I will try to ask the server guys to test again.
Hy,
we tried out the network visualization on our test environment with your plugin following your instructions on “HOWTO”
Unfortunately, we can’t get any reasonable output from it.
Maybe you can get us a little help to get things started
- CMK version/edition : Checkmk Raw Edition 2.3.0p6
- your environment : stand alone
- the OS CMK server : Ubuntu 24.04 LTS
2.Installed Plugins
OMD[monitoring]:~$ mkp list
Name Version Title Author Req. Version Until Version Files State
inv_cdp_cache 0.7.6-20240414 Inventory for Cisco CDP Cache Th.L. (thl-cmk[at]outlook[dot]com) 2.2.0b1 None 3 Enabled (active on this site)
inv_ifname 0.3.0-20240430 Add interface name to inventory Th.L. (thl-cmk[at]outlook[dot]com) 2.3.0b4 2.4.0b1 2 Enabled (active on this site)
inv_ipv4_addresses 0.0.4-20240407 Inventory of IPv4 addresses Th.L. (thl-cmk[at]outlook[dot]com) 2.2.0b1 2.3.0p1 2 Enabled (active on this site)
inv_lldp_cache 0.9.7-20240414 inventory for LLDP cache Th.L. (thl-cmk[at]outlook[dot]com) 2.2.0b1 None 3 Enabled (active on this site)
nvdct 0.8.9-20240518 Network Visualization Data Creation Tool (NVDCT) Th.L. (thl-cmk[at]outlook[dot]com) 2.2.0b1 2.4.0p1 11 Enabled (active on this site)
redfish 2.3.38 Redfish Restful API Checks Andreas Doehler (andreas.doehler@bechtle.com / andreas.doehler@gmail.com) 2.3.0b6 2.3.99 28 Disabled
3.Hardware/software Inventory is enabled and service is running
4.Neighbour info
-
Config is edited with seed devices and layer info
my_nvdct.txt (4.2 KB) -
Output fromnvdct run
OMD[monitoring]:~/local/bin/nvdct$ ~/local/bin/nvdct/nvdct.py -u ~/local/bin/nvdct/my_nvdct.toml
Network Visualisation Data Creation Tool (NVDCT)
by thl-cmk[at]outlook[dot]com, version 0.8.9-20240518
see CheckMK / Vendor independent / Network Visualization Data Creation Tool - NVDCT · GitLab
Start time…: 2024-07-22T14:08:57.07
Devices added.: 13, source lldp
Time taken…: 0.11112207/s
End time…: 2024-07-22T14:08:57.07
- additionally the log from nvdct
nvdct.txt (54.5 KB)
can you give me some insight whats the issue here?
Br
Florian
Hi Florian,
by a first look in to your log file, it seems that the host names of your devices don’t match the names in Checkmk.
2024-07-22 13:55:27,128 :: WARNING :: backends :: host_exists() :: 291 :: [MULTISITE] Host ProCurve Switch 2610-48 not found in CMK
2024-07-22 13:55:27,129 :: WARNING :: nvdct :: get_service_by_interface() :: 675 :: got no interface data for: ProCurve Switch 2610-48
2024-07-22 13:55:27,129 :: WARNING :: nvdct :: create_device_from_inv() :: 770 :: service not found: neighbour: ProCurve Switch 2610-48, raw_neighbour_port: 50
2024-07-22 13:55:27,129 :: WARNING :: nvdct :: get_service_by_interface() :: 675 :: got no interface data for: ProCurve Switch 2610-48
2024-07-22 13:55:27,130 :: WARNING :: backends :: get_inventory_data() :: 231 :: [MULTISITE] Device: ['Switch-21-6000-24G']: no inventory data found!
2024-07-22 13:55:27,131 :: WARNING :: nvdct :: get_service_by_interface() :: 689 :: no interface inventory for host: Switch-21-6000-24G
2024-07-22 13:55:27,132 :: WARNING :: nvdct :: create_device_from_inv() :: 770 :: service not found: neighbour: Switch-21-6000-24G, raw_neighbour_port: 1/1/23
2024-07-22 13:55:27,132 :: WARNING :: nvdct :: get_service_by_interface() :: 689 :: no interface inventory for host: Switch-21-6000-24G
To solve this you can use the section HOST_MAP in the config file. Where inventory neighbour is the Hostname as in the CDP/LLDP inventory.
# map inventory neighbour name to Checkmk host name
[HOST_MAP]
# inventory_neighbour1 = "cmk_host1"
# inventory_neighbour2 = "cmk_host2"
# inventory_neighbour3 = "cmk_host3"
The better way would be to have the names of your network devices the same as in Checkmk.
You can also check/upload the created topology file (~/var/check_mk/topology/data/.../data_lldp.json)
Cheers
Thomas
Hy,
thanks for your fast response ![]()
the first line here
2024-07-22 13:55:27,128 :: WARNING :: backends :: host_exists() :: 291 :: [MULTISITE] Host ProCurve Switch 2610-48 not found in CMK
is a switch we haven’t defined as a host because it’s an old type that always causes some issues during our tests.
so I guess every switch has to be determined as host in checkmk for your tool?
the second one here
2024-07-22 13:55:27,130 :: WARNING :: backends :: get_inventory_data() :: 231 :: [MULTISITE] Device: [‘Switch-21-6000-24G’]: no inventory data found!
2024-07-22 13:55:27,131 :: WARNING :: nvdct :: get_service_by_interface() :: 689 :: no interface inventory for host: Switch-21-6000-24G
2024-07-22 13:55:27,132 :: WARNING :: nvdct :: create_device_from_inv() :: 770 :: service not found: neighbour: Switch-21-6000-24G, raw_neighbour_port: 1/1/23
2024-07-22 13:55:27,132 :: WARNING :: nvdct :: get_service_by_interface() :: 689 :: no interface inventory for host: Switch-21-6000-24G
It should work, It is a new aruba 6000
is the line “no inventory data found!” related to the hw/sw inventory?
The hostnames are the same, we copied them directly from the switch snmp settings to checkmk hostnames
topology file attached
data_lldp.txt (8.3 KB)
another question
For the initial setup, the labels must be discovered via bulk service discovery.
if we have created a bunch of new hosts for tests, do we have to accept the services on each host to make It work or does this happen automatically?

