From 8efbed9e1261be1178f465c0f223842da91d6c46 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Mon, 3 Mar 2025 07:42:15 +0100 Subject: [PATCH] link cluster object to core --- README.md | 2 +- mkp/vsphere_topo-0.1.0-20250222.mkp | Bin 0 -> 8482 bytes .../vsphere_topo/agent_based/vsphere_topo.py | 26 +++++++++--------- source/packages/vsphere_topo | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 mkp/vsphere_topo-0.1.0-20250222.mkp diff --git a/README.md b/README.md index 14c416a..9ccee5f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/vsphere_topo-0.0.9-20250116.mkp "vsphere_topo-0.0.9-20250116.mkp" +[PACKAGE]: ../../raw/master/mkp/vsphere_topo-0.1.0-20250222.mkp "vsphere_topo-0.1.0-20250222.mkp" # vSphere Topology Visualization This plugin uses the data from the _VMware ESX via vSphere_ special agent to create a topology of the vSphere environment.\ diff --git a/mkp/vsphere_topo-0.1.0-20250222.mkp b/mkp/vsphere_topo-0.1.0-20250222.mkp new file mode 100644 index 0000000000000000000000000000000000000000..23979032d346c76d7070473dbad8cef938b2454b GIT binary patch literal 8482 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	uo_URb_-@Ix=1 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 BwNU^7 literal 0 HcmV?d00001 diff --git a/source/cmk_addons_plugins/vsphere_topo/agent_based/vsphere_topo.py b/source/cmk_addons_plugins/vsphere_topo/agent_based/vsphere_topo.py index b17f298..b1935a1 100644 --- a/source/cmk_addons_plugins/vsphere_topo/agent_based/vsphere_topo.py +++ b/source/cmk_addons_plugins/vsphere_topo/agent_based/vsphere_topo.py @@ -23,8 +23,10 @@ # added option to ignore VMs by name (regex) # 2024-07-31: added option to map vSphere names to CMK/topology names for data center, cluster, hosts and VMs # 2024-08-06: fixed crash on mapping vm_name -# 2024-01-16: added suffix option +# 2024-01-16: added suffix option ThX to Thomas Kloppholz # refactored constants to enum +# 2024-02-22: link cluster object to core -> needs mapped name +# reordered output check details from collections.abc import Mapping, Sequence from re import compile as re_compile @@ -132,18 +134,14 @@ def check_vsphere_topo( esx_name = name_map.get(esx_name, esx_name) objects.add_host(host=esx_name) connections.add_connection(cluster, esx_name) - yield Result( - state=State.OK, - notice='VMware ESX via vSphere agent type of query: Queried host is the vCenter' - ) + query_type = 'VMware ESX via vSphere agent type of query: Queried host is the vCenter' + else: # assuming the query type is ESXi host raw_vsphere_host: str = host_name().strip() objects.add_host(host=raw_vsphere_host) vsphere_host = raw_vsphere_host - yield Result( - state=State.OK, - notice='VMware ESX via vSphere agent type of query: Queried host is a host system' - ) + query_type = 'VMware ESX via vSphere agent type of query: Queried host is a host system' + if section_esx_vsphere_virtual_machines is not None: __VMs = [ @@ -270,10 +268,7 @@ def check_vsphere_topo( yield Result(state=State.OK, summary=f'Ignored powered off VMs: {ignored_powered_off_vms}') if re_ignore_vms is not None: yield Result(state=State.OK, summary=f'Ignored VMs by name: {ignored_by_name_vms}') - yield Result( - state=State.OK, - notice=f'Written to: {BASE_TOPO_PATH}/{raw_vsphere_host}/data_{TOPOLOGY_NAME.lower()}.json', - ) + yield from check_levels( value=(time_ns() - start_time) / 1e9, label='Time taken', @@ -281,6 +276,11 @@ def check_vsphere_topo( boundaries=(0, None), render_func=render.timespan, ) + yield Result(state=State.OK, notice=query_type) + yield Result( + state=State.OK, + notice=f'Written to: {BASE_TOPO_PATH}/{raw_vsphere_host}/data_{TOPOLOGY_NAME.lower()}.json', + ) check_plugin_vsphere_topo = CheckPlugin( diff --git a/source/packages/vsphere_topo b/source/packages/vsphere_topo index 2275e41..aab478d 100644 --- a/source/packages/vsphere_topo +++ b/source/packages/vsphere_topo @@ -13,7 +13,7 @@ 'vsphere_topo/rulesets/vsphere_topo.py']}, 'name': 'vsphere_topo', 'title': 'vSphere Topology', - 'version': '0.0.9-20250116', + 'version': '0.1.0-20250222', 'version.min_required': '2.3.0b1', 'version.packaged': 'cmk-mkp-tool 0.2.0', 'version.usable_until': '2.4.0b1'} -- GitLab