From 3f9a161f94556607740b80daaec56e71df885eaf Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Wed, 10 Jul 2024 20:28:14 +0200 Subject: [PATCH] update project --- README.md | 2 +- mkp/vsphere_topo-0.0.2-20240709.mkp | Bin 0 -> 6635 bytes .../vsphere_topo/agent_based/packages.py | 12 +++++- .../vsphere_topo/graphing/packages.py | 33 ++++++++++++++++ .../vsphere_topo/rulesets/packages.py | 36 ++++++++++++++++-- source/packages/vsphere_topo | 5 ++- 6 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 mkp/vsphere_topo-0.0.2-20240709.mkp create mode 100644 source/cmk_addons_plugins/vsphere_topo/graphing/packages.py diff --git a/README.md b/README.md index f8cd3a6..d130b9e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/vsphere_topo-0.0.1-20240709.mkp "vsphere_topo-0.0.1-20240709.mkp" +[PACKAGE]: ../../raw/master/mkp/vsphere_topo-0.0.2-20240709.mkp "vsphere_topo-0.0.2-20240709.mkp" # vSphere Topology Visualization This plugin uses the data from the _VMware ESX via vSphere_ spezial agent to create a topolofy of the vSphere environment. diff --git a/mkp/vsphere_topo-0.0.2-20240709.mkp b/mkp/vsphere_topo-0.0.2-20240709.mkp new file mode 100644 index 0000000000000000000000000000000000000000..3838a14893cefc61b7f47762264fbea7a866e184 GIT binary patch literal 6635 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 literal 0 HcmV?d00001 diff --git a/source/cmk_addons_plugins/vsphere_topo/agent_based/packages.py b/source/cmk_addons_plugins/vsphere_topo/agent_based/packages.py index 912b4c4..401aa8f 100644 --- a/source/cmk_addons_plugins/vsphere_topo/agent_based/packages.py +++ b/source/cmk_addons_plugins/vsphere_topo/agent_based/packages.py @@ -8,6 +8,8 @@ # Date : 2024-07-05 # File : vsphere_topo/agent_based/packages.py +# 2024-07-10: added time taken as metric + from collections.abc import Mapping, Sequence from time import time_ns from typing import Any @@ -19,6 +21,8 @@ from cmk.agent_based.v2 import ( Result, Service, State, + check_levels, + render, ) from cmk.base.check_api import host_name from cmk_addons.plugins.vsphere_topo.lib.utils import ( @@ -273,7 +277,13 @@ def check_vsphere_topo( yield Result(state=State.OK, summary=f'Objects: {len(objects)}') yield Result(state=State.OK, summary=f'Connections: {len(connections)}') yield Result(state=State.OK, notice=f'Written to: {path}/{file}') - yield Result(state=State.OK, summary=f'Time taken: {((time_ns() - start_time) / 1e9):.2}/s') + yield from check_levels( + value=(time_ns() - start_time) / 1e9, + label='Time taken', + metric_name='vsphere_topo_time_taken', + boundaries=(0, None), + render_func=render.timespan, + ) check_plugin_vsphere_topo = CheckPlugin( diff --git a/source/cmk_addons_plugins/vsphere_topo/graphing/packages.py b/source/cmk_addons_plugins/vsphere_topo/graphing/packages.py new file mode 100644 index 0000000..036cc60 --- /dev/null +++ b/source/cmk_addons_plugins/vsphere_topo/graphing/packages.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# License: GNU General Public License v2 +# +# Author: thl-cmk[at]outlook[dot]com +# URL : https://thl-cmk.hopto.org +# Date : 2024-07-10 +# File : vsphere_topo/graphing/packages.py + +from cmk.graphing.v1 import Title +from cmk.graphing.v1.graphs import Graph +from cmk.graphing.v1.metrics import Color, Metric, Unit, TimeNotation, AutoPrecision +from cmk.graphing.v1.perfometers import Closed, FocusRange, Open, Perfometer + +metric_vsphere_topo_time_taken = Metric( + name='vsphere_topo_time_taken', + title=Title('Time taken'), + unit=Unit(TimeNotation(), AutoPrecision(4)), + color=Color.BLUE, +) + +graph_vsphere_topo_time_taken = Graph( + name='vsphere_topo_time_taken', + title=Title('Time taken'), + compound_lines=['vsphere_topo_time_taken'], +) + +perfometer_vsphere_topo_time_taken = Perfometer( + name='vsphere_topo_time_taken', + focus_range=FocusRange(Closed(0), Open(1)), + segments=['vsphere_topo_time_taken'] +) diff --git a/source/cmk_addons_plugins/vsphere_topo/rulesets/packages.py b/source/cmk_addons_plugins/vsphere_topo/rulesets/packages.py index 2133a73..800fdae 100644 --- a/source/cmk_addons_plugins/vsphere_topo/rulesets/packages.py +++ b/source/cmk_addons_plugins/vsphere_topo/rulesets/packages.py @@ -10,7 +10,7 @@ from collections.abc import Mapping, Sequence -from cmk.rulesets.v1 import Label, Title +from cmk.rulesets.v1 import Help, Label, Title from cmk.rulesets.v1.form_specs import ( CascadingSingleChoice, CascadingSingleChoiceElement, @@ -118,42 +118,70 @@ def _parameter_form() -> Dictionary: parameter_form=CascadingSingleChoice( title=Title('Cluster emblem'), elements=get_emblem_element(EMBLEM_CLUSTER), - prefill=DefaultValue(PARAM_DEFAULT_EMBLEM) + prefill=DefaultValue(PARAM_DEFAULT_EMBLEM), + help_text=Help( + 'Here you can change the picture for the cluster. If you use the built-in icons prefix ' + 'the name with "icon_"' + ), )), PARAM_DATA_CENTER: DictElement( parameter_form=CascadingSingleChoice( title=Title('Datacenter emblem'), elements=get_emblem_element(EMBLEM_DATA_CENTER), - prefill=DefaultValue(PARAM_DEFAULT_EMBLEM) + prefill=DefaultValue(PARAM_DEFAULT_EMBLEM), + help_text=Help( + 'Here you can change the picture for the datacenter. If you use the built-in icons prefix ' + 'the name with "icon_"' + ), )), PARAM_DATA_STORE: DictElement( parameter_form=CascadingSingleChoice( title=Title('Datastore emblem'), elements=get_emblem_element(EMBLEM_DATA_STORE), - prefill=DefaultValue(PARAM_DEFAULT_EMBLEM) + prefill=DefaultValue(PARAM_DEFAULT_EMBLEM), + help_text=Help( + 'Here you can change the picture for the datastore. If you use the built-in icons prefix ' + 'the name with "icon_"' + ), )), PARAM_DATA_STORE_AS_SERVICE: DictElement( parameter_form=FixedValue( title=Title('Add data store service'), label=Label('enabled'), + help_text=Help( + 'This option adds the datastore services from the vCenter object to the topology. ' + 'Pro: more insight. Con: cluttered topology.' + ), value=True )), PARAM_MAKE_DEFAULT: DictElement( parameter_form=FixedValue( title=Title('Make default'), label=Label('This will be the default topology'), + help_text=Help( + 'Makes the vSphere topology the default topology. If there no default topology, the vSphere ' + 'topology becomes always the default.' + ), value=True )), PARAM_DONT_ADD_VC_AS_VM: DictElement( parameter_form=FixedValue( title=Title('Don\'t add vCenter as VM'), label=Label('The vCenter will not be added as VM'), + help_text=Help( + 'Use this option if the vCenter is also a VM within the managed datacenter.' + 'This will create a clearer topology, but you lose the info where the vCenter is running.' + ), value=True )), PARAM_ADD_DUMMY_TOPOLOGIES: DictElement( parameter_form=FixedValue( title=Title('Add dummy topologies'), label=Label('Adds empty CDP, LLDP, L3v4 and STATIC topology'), + help_text=Help( + 'Use this option if you are also using the NVDCT. This is a workaround, as the backend ' + 'only picks up layers that are present in the default topology folder.' + ), value=True )), } diff --git a/source/packages/vsphere_topo b/source/packages/vsphere_topo index 62492c4..142ae81 100644 --- a/source/packages/vsphere_topo +++ b/source/packages/vsphere_topo @@ -8,10 +8,11 @@ 'download_url': 'https://thl-cmk.hopto.org', 'files': {'cmk_addons_plugins': ['vsphere_topo/agent_based/packages.py', 'vsphere_topo/rulesets/packages.py', - 'vsphere_topo/lib/utils.py']}, + 'vsphere_topo/lib/utils.py', + 'vsphere_topo/graphing/packages.py']}, 'name': 'vsphere_topo', 'title': 'vSphere Topologie', - 'version': '0.0.1-20240709', + 'version': '0.0.2-20240709', 'version.min_required': '2.3.0b1', 'version.packaged': 'cmk-mkp-tool 0.2.0', 'version.usable_until': '2.4.0b1'} -- GitLab