From d79c5493b48a20ee60a27b624b3ad6c8811a2d80 Mon Sep 17 00:00:00 2001 From: Richard Tief Date: Tue, 4 May 2021 14:50:54 +0200 Subject: [PATCH] added NSX-T functionality --- BaseCollector.py | 13 + InventoryBuilder.py | 70 ++++- collectors/NSXTMmgtClusterStatsCollector.py | 16 ++ resources/Resourceskinds.py | 27 ++ tests/TestCollectors.py | 15 +- tests/collector_config.yaml | 9 + tests/metrics.yaml | 282 ++++++++++---------- tools/Vrops.py | 47 ++-- 8 files changed, 311 insertions(+), 168 deletions(-) create mode 100644 collectors/NSXTMmgtClusterStatsCollector.py diff --git a/BaseCollector.py b/BaseCollector.py index b625d36..d2f632d 100644 --- a/BaseCollector.py +++ b/BaseCollector.py @@ -83,6 +83,14 @@ def get_vms(self, target): self.vms = request.json() return self.vms + def get_nsx_t_mgmt_cluster(self, target): + self.wait_for_inventory_data() + current_iteration = self.get_iteration() + url = "http://" + os.environ['INVENTORY'] + "/" + target + "/nsx_t_mgmt_cluster/{}".format(current_iteration) + request = requests.get(url) + self.nsx_t_mgmt_cluster = request.json() + return self.nsx_t_mgmt_cluster + def get_iteration(self): request = requests.get(url="http://" + os.environ['INVENTORY'] + "/iteration") self.iteration = request.json() @@ -134,6 +142,11 @@ def get_vms_by_target(self): self.target_vms = [vms_dict[uuid]['uuid'] for uuid in vms_dict] return self.target_vms + def get_nsx_t_mgmt_cluster_by_target(self): + nsx_t_resources_dict = self.get_nsx_t_mgmt_cluster(self.target) + self.target_nsx_t_mgmt_cluster = [nsx_t_resources_dict[uuid]['uuid'] for uuid in nsx_t_resources_dict] + return self.target_nsx_t_mgmt_cluster + def get_project_ids_by_target(self): try: token = self.get_target_tokens() diff --git a/InventoryBuilder.py b/InventoryBuilder.py index c33ef8e..5d64866 100644 --- a/InventoryBuilder.py +++ b/InventoryBuilder.py @@ -1,7 +1,7 @@ from flask import Flask from gevent.pywsgi import WSGIServer from threading import Thread -from resources.Resourceskinds import Vcenter +from resources.Resourceskinds import Vcenter, NSX_T_Mgmt_Plane from tools.Vrops import Vrops import time import json @@ -20,6 +20,7 @@ def __init__(self, atlas_config, port, sleep, timeout): self._user = os.environ["USER"] self._password = os.environ["PASSWORD"] self.vcenter_dict = dict() + self.nsx_t_dict = dict() self.target_tokens = dict() self.iterated_inventory = dict() self.vrops_collection_times = dict() @@ -70,6 +71,10 @@ def datastores(target, iteration): def vms(target, iteration): return self.iterated_inventory[str(iteration)]['vms'][target] + @app.route('//nsx_t_mgmt_cluster/', methods=['GET']) + def nsx_t_mgmt_cluster(target, iteration): + return self.iterated_inventory[str(iteration)]['nsx_t_resources'][target] + @app.route('/iteration', methods=['GET']) def iteration(): return_iteration = self.successful_iteration_list[-1] @@ -169,6 +174,7 @@ def query_inventory_permanent(self): self.get_hosts() self.get_datastores() self.get_vms() + self.get_nsx_t_mgmt_cluster() if len(self.iterated_inventory[str(self.iteration)]['vcenters']) > 0: self.successful_iteration_list.append(self.iteration) else: @@ -190,29 +196,35 @@ def query_vrops(self, vrops, vrops_short_name): logger.info(f'########## Collecting resources {vrops_short_name}... ##########') - vcenter = self.create_resource_objects(vrops, token) + vcenter = self.create_vcenter_objects(vrops, token) if not vcenter: return False self.vcenter_dict[vrops] = vcenter + + nsx_t_adapter = self.create_nsx_t_objects(vrops, token) + if not nsx_t_adapter: + return False + self.nsx_t_dict[vrops] = nsx_t_adapter + return True - def create_resource_objects(self, target: str, token: str) -> Vcenter: + def create_vcenter_objects(self, target: str, token: str): vrops = Vrops() - vcenter_name, vcenter_uuid = Vrops.get_adapter(vrops, target, token) - if not vcenter_name: + vcenter_adapter = Vrops.get_adapter(vrops, target, token, adapterkind="VMWARE")[0] + if not vcenter_adapter: return False - logger.debug(f'Collecting vcenter: {vcenter_name}') + logger.debug(f'Collecting vcenter: {vcenter_adapter["name"]}') - datacenter = Vrops.get_datacenter(vrops, target, token, [vcenter_uuid]) + datacenter = Vrops.get_datacenter(vrops, target, token, [vcenter_adapter["uuid"]]) cluster_and_ds = Vrops.get_cluster_and_datastores(vrops, target, token, [dc.get('uuid') for dc in datacenter]) cluster = [cl for cl in cluster_and_ds if cl.get('resourcekind') == "ClusterComputeResource"] dss = [ds for ds in cluster_and_ds if ds.get('resourcekind') == "Datastore"] hosts = Vrops.get_hosts(vrops, target, token, [cl.get('uuid') for cl in cluster]) - vms = Vrops.get_vms(vrops, target, token, [hs.get('uuid') for hs in hosts], vcenter_uuid) + vms = Vrops.get_vms(vrops, target, token, [hs.get('uuid') for hs in hosts], vcenter_adapter["uuid"]) - vcenter = Vcenter(target, token, vcenter_uuid, vcenter_name) + vcenter = Vcenter(target, token, vcenter_adapter["uuid"], vcenter_adapter["name"]) for dc in datacenter: vcenter.add_datacenter(dc) for dc_object in vcenter.datacenter: @@ -220,7 +232,7 @@ def create_resource_objects(self, target: str, token: str) -> Vcenter: for ds in dss: if ds.get('parent') == dc_object.uuid: dc_object.add_datastore(ds) - logger.debug(f'Collecting Datastore: {ds.get("name")}') + logger.debug(f'Collecting datastore: {ds.get("name")}') for cl in cluster: dc_object.add_cluster(cl) for cl_object in dc_object.clusters: @@ -236,6 +248,26 @@ def create_resource_objects(self, target: str, token: str) -> Vcenter: logger.debug(f'Collecting VM: {vm.get("name")}') return vcenter + def create_nsx_t_objects(self, target: str, token: str): + vrops = Vrops() + nsx_t_adapter = Vrops.get_adapter(vrops, target, token, adapterkind="NSXTAdapter") + if not nsx_t_adapter: + return False + + nsx_t_mgmt_plane = NSX_T_Mgmt_Plane(target, token) + for adapter in nsx_t_adapter: + logger.debug(f'Collecting NSX-T adapter: {adapter.get("name")}') + nsx_t_mgmt_plane.add_adapter(adapter) + + nsx_t_mgmt_cluster = Vrops.get_nsx_t_mgmt_cluster(vrops, target, token, [a.get("uuid") for a in nsx_t_adapter]) + + for adapter_object in nsx_t_mgmt_plane.adapter: + for mgmt_cluster in nsx_t_mgmt_cluster: + if mgmt_cluster.get('parent') == adapter_object.uuid: + adapter_object.add_mgmt_cluster(mgmt_cluster) + logger.debug(f'Collecting NSX-T management cluster: {mgmt_cluster.get("name")}') + return nsx_t_mgmt_plane + def get_vcenters(self) -> dict: tree = dict() for vcenter_entry in self.vcenter_dict: @@ -354,3 +386,21 @@ def get_vms(self) -> dict: } self.iterated_inventory[str(self.iteration)]['vms'] = tree return tree + + def get_nsx_t_mgmt_cluster(self) -> dict: + tree = dict() + for nsx_t_entry in self.nsx_t_dict: + nsx_t_mgmt_plane = self.nsx_t_dict[nsx_t_entry] + tree[nsx_t_mgmt_plane.target] = dict() + for nsx_t_adapter in nsx_t_mgmt_plane.adapter: + for mgmt_cluster in nsx_t_adapter.management_cluster: + tree[nsx_t_mgmt_plane.target][mgmt_cluster.uuid] = { + 'uuid': mgmt_cluster.uuid, + 'name': mgmt_cluster.name, + 'nsx_t_adapter_name': nsx_t_adapter.name, + 'nsx_t_adapter_uuid': nsx_t_adapter.uuid, + 'target': nsx_t_mgmt_plane.target, + 'token': nsx_t_mgmt_plane.token, + } + self.iterated_inventory[str(self.iteration)]['nsx_t_resources'] = tree + return tree diff --git a/collectors/NSXTMmgtClusterStatsCollector.py b/collectors/NSXTMmgtClusterStatsCollector.py new file mode 100644 index 0000000..c8de820 --- /dev/null +++ b/collectors/NSXTMmgtClusterStatsCollector.py @@ -0,0 +1,16 @@ +from collectors.StatsCollector import StatsCollector + + +class NSXTMmgtClusterStatsCollector(StatsCollector): + + def __init__(self): + super().__init__() + self.vrops_entity_name = 'nsxt' + self.label_names = ['nsx_t_mgmt_cluster', 'nsx_t_adapter'] + + def get_resource_uuids(self): + return self.get_nsx_t_mgmt_cluster_by_target() + + def set_labels(self, resource_id, project_ids): + return [self.nsx_t_mgmt_cluster[resource_id]['name'], + self.nsx_t_mgmt_cluster[resource_id]['nsx_t_adapter_name']] if resource_id else [] diff --git a/resources/Resourceskinds.py b/resources/Resourceskinds.py index 6dc5f5e..094ff88 100755 --- a/resources/Resourceskinds.py +++ b/resources/Resourceskinds.py @@ -80,3 +80,30 @@ def __init__(self, name, uuid): self.uuid = uuid +class NSX_T_Mgmt_Plane: + + def __init__(self, target, token): + self.target = target + self.token = token + self.adapter = list() + + def add_adapter(self, adapter): + self.adapter.append(NSX_T_Adapter_Instance(adapter.get('name'), adapter.get('uuid'))) + + +class NSX_T_Adapter_Instance: + + def __init__(self, name, uuid): + self.name = name + self.uuid = uuid + self.management_cluster = list() + + def add_mgmt_cluster(self, mgmt_cluster): + self.management_cluster.append(NSX_T_ManagementCluster(mgmt_cluster.get('name'), mgmt_cluster.get('uuid'))) + + +class NSX_T_ManagementCluster: + + def __init__(self, name, uuid): + self.name = name + self.uuid = uuid diff --git a/tests/TestCollectors.py b/tests/TestCollectors.py index 45ce9af..9e91b31 100644 --- a/tests/TestCollectors.py +++ b/tests/TestCollectors.py @@ -22,13 +22,13 @@ from collectors.ClusterStatsCollector import ClusterStatsCollector from collectors.VCenterStatsCollector import VCenterStatsCollector from collectors.VCenterPropertiesCollector import VCenterPropertiesCollector +from collectors.NSXTMmgtClusterStatsCollector import NSXTMmgtClusterStatsCollector from prometheus_client.core import REGISTRY import unittest import random import http.client import os import time -import importlib class TestCollectors(unittest.TestCase): @@ -50,7 +50,8 @@ def test_collector_metrics(self): BaseCollector.get_target_tokens = MagicMock( return_value={'testhost.test': '2ed214d523-235f-h283-4566-6sf356124fd62::f234234-234'}) Vrops.get_token = MagicMock(return_value=("2ed214d523-235f-h283-4566-6sf356124fd62::f234234-234", 200)) - Vrops.get_adapter = MagicMock(return_value=("vcenter1", "3628-93a1-56e84634050814")) + Vrops.get_adapter = MagicMock(return_value=([{"name": "adapter1", + "uuid": "3628-93a1-56e84634050814"}])) # test tool get_resources to create resource objects Vrops.get_datacenter = MagicMock( @@ -63,6 +64,16 @@ def test_collector_metrics(self): {'name': 'datacenter3', 'uuid': '7422-91h7-52s842060815', 'resourcekind': 'Datacenter', 'parent': '3628-93a1-56e84634050814'}]) + Vrops.get_nsx_t_mgmt_cluster = MagicMock( + return_value=[{'name': 'nsx_t_mgmt_cluster1', 'uuid': '3628-93a1-56e84634050814', + 'resourcekind': 'ManagementCluster', + 'parent': '3628-93a1-56e84634050814'}, + {'name': 'nsx_t_mgmt_cluster2', 'uuid': '5628-9ba1-55e847050815', + 'resourcekind': 'ManagementCluster', + 'parent': '3628-93a1-56e84634050814'}, + {'name': 'nsx_t_mgmt_cluster3', 'uuid': '7422-91h7-52s842060815', + 'resourcekind': 'ManagementCluster', + 'parent': '3628-93a1-56e84634050814'}]) Vrops.get_cluster_and_datastores = MagicMock( return_value=[{'name': 'cluster1', 'uuid': '3628-93a1-56e84634050814', 'resourcekind': 'ClusterComputeResource', diff --git a/tests/collector_config.yaml b/tests/collector_config.yaml index 45119af..e187c2a 100644 --- a/tests/collector_config.yaml +++ b/tests/collector_config.yaml @@ -1,4 +1,5 @@ default_collectors: + - 'NSXTMmgtClusterStatsCollector' - 'ClusterStatsCollector' - 'ClusterPropertiesCollector' - 'DatastoreStatsCollector' @@ -280,3 +281,11 @@ VMStatsDefaultCollector: key: "guestfilesystem:/storage/db|capacity" - metric_suffix: "guestfilesystem_storage_db_percentage" key: "guestfilesystem:/storage/db|percentage" + +NSXTMmgtClusterStatsCollector: + - metric_suffix: "sys_capacity_distributed_firewall_rules_usage_count" + key: "System Capacity|Distributed Firewall Rules|UsageCount" + - metric_suffix: "sys_capacity_distributed_firewall_rules_usage_count_percentage" + key: "System Capacity|Distributed Firewall Rules|UsageCountPercentage" + - metric_suffix: "sys_capacity_distributed_firewall_rules_max_supported_count" + key: "System Capacity|Distributed Firewall Rules|MaxSupportedCount" diff --git a/tests/metrics.yaml b/tests/metrics.yaml index 8c45f04..d65fabe 100644 --- a/tests/metrics.yaml +++ b/tests/metrics.yaml @@ -1,196 +1,202 @@ VCenterStatsCollector: - 'vrops_api_response{class="vcenterstatscollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vcenterstatscollector",target="testhost.test"}' - - 'vrops_vcenter_diskspace_usage_gigabytes{datacenter="datacenter3",vcenter="vcenter1"}' - - 'vrops_vcenter_diskspace_total_gigabytes{datacenter="datacenter3",vcenter="vcenter1"}' - - 'vrops_vcenter_vcsa_certificate_remaining_days{datacenter="datacenter3",vcenter="vcenter1"}' - - 'vrops_vcenter_cpu_used_percent{datacenter="datacenter3",vcenter="vcenter1"}' - - 'vrops_vcenter_memory_used_percent{datacenter="datacenter3",vcenter="vcenter1"}' + - 'vrops_vcenter_diskspace_usage_gigabytes{datacenter="datacenter3",vcenter="adapter1"}' + - 'vrops_vcenter_diskspace_total_gigabytes{datacenter="datacenter3",vcenter="adapter1"}' + - 'vrops_vcenter_vcsa_certificate_remaining_days{datacenter="datacenter3",vcenter="adapter1"}' + - 'vrops_vcenter_cpu_used_percent{datacenter="datacenter3",vcenter="adapter1"}' + - 'vrops_vcenter_memory_used_percent{datacenter="datacenter3",vcenter="adapter1"}' VCenterPropertiesCollector: - 'vrops_api_response{class="vcenterpropertiescollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vcenterpropertiescollector",target="testhost.test"}' - - 'vrops_vcenter_vc_fullname{datacenter="datacenter3",vcenter="vcenter1"}' - - 'vrops_vcenter_summary_version{datacenter="datacenter3",summary_version="test",vcenter="vcenter1"}' - - 'vrops_vcenter_vc_fullname{datacenter="datacenter3",vc_fullname="test",vcenter="vcenter1"}' - - 'vrops_vcenter_summary_version{datacenter="datacenter3",vcenter="vcenter1"}' + - 'vrops_vcenter_vc_fullname{datacenter="datacenter3",vcenter="adapter1"}' + - 'vrops_vcenter_summary_version{datacenter="datacenter3",summary_version="test",vcenter="adapter1"}' + - 'vrops_vcenter_vc_fullname{datacenter="datacenter3",vc_fullname="test",vcenter="adapter1"}' + - 'vrops_vcenter_summary_version{datacenter="datacenter3",vcenter="adapter1"}' ClusterStatsCollector: - 'vrops_api_response{class="clusterstatscollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="clusterstatscollector",target="testhost.test"}' - - 'vrops_cluster_summary_total_number_vms{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_cpu_usage_mhz{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_cluster_running_hosts{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_memory_usage_percentage{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_cpu_capacity_mhz{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_cpu_capacity_usage_percentage{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_memory_capacity_kilobytes{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_memory_usage_kilobytes{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' + - 'vrops_cluster_summary_total_number_vms{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_cpu_usage_mhz{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_cluster_running_hosts{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_memory_usage_percentage{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_cpu_capacity_mhz{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_cpu_capacity_usage_percentage{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_memory_capacity_kilobytes{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_memory_usage_kilobytes{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' ClusterPropertiesCollector: - 'vrops_api_response{class="clusterpropertiescollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="clusterpropertiescollector",target="testhost.test"}' - - 'vrops_cluster_configuration_dasconfig_admissioncontrolpolicyid{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_drsconfig_defaultvmbehavior{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_drsconfig_enabled{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_dasconfig_admissioncontrolenabled{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_custom_attributes_info{datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_dasconfig_enabled{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_dasconfig_admissioncontrolenabled{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_dasconfig_admissioncontrolpolicyid{configuration_dasConfig_admissionControlPolicyId="test",datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_custom_attributes_info{custom_attributes_info="test",datacenter="datacenter3",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_drsconfig_defaultvmbehavior{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_dasconfig_enabled{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="vcenter1"}' - - 'vrops_cluster_configuration_drsconfig_enabled{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="vcenter1"}' + - 'vrops_cluster_configuration_dasconfig_admissioncontrolpolicyid{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_drsconfig_defaultvmbehavior{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_drsconfig_enabled{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_dasconfig_admissioncontrolenabled{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_custom_attributes_info{datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_dasconfig_enabled{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_dasconfig_admissioncontrolenabled{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_dasconfig_admissioncontrolpolicyid{configuration_dasConfig_admissionControlPolicyId="test",datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_custom_attributes_info{custom_attributes_info="test",datacenter="datacenter3",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_drsconfig_defaultvmbehavior{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_dasconfig_enabled{datacenter="datacenter3",state="n/a",vccluster="cluster1",vcenter="adapter1"}' + - 'vrops_cluster_configuration_drsconfig_enabled{datacenter="datacenter3",state="test",vccluster="cluster1",vcenter="adapter1"}' HostSystemStatsCollector: - 'vrops_api_response{class="hostsystemstatscollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="hostsystemstatscollector",target="testhost.test"}' - - 'vrops_hostsystem_cpu_co_stop_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_summary_number_vmotion_total{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_consumed_by_vms_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_swap_in_rate_kbps{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_hardware_number_of_cpu_cores_info{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_io_wait_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_usage_average_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_demand_megahertz{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_host_usage_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_summary_running_vms_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_network_packets_dropped_rx_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_demand_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_summary_number_running_vcpus_total{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_usage_megahertz{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_usage_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_useable_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_swap_used_rate_kbps{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_activly_used_by_vms_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_network_packets_dropped_tx_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_network_packets_dropped_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_ballooning_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_sockets_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_swap_out_rate_kbps{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_configuration_dasconfig_admissioncontrolpolicy_failoverhost{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_contention_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_utilization{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_capacity_available_to_vms_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_ready_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_contention_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_system_uptime_seconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_summary_number_vms_total{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_cpu_swap_wait_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_memory_compressed_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' + - 'vrops_hostsystem_cpu_co_stop_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_summary_number_vmotion_total{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_consumed_by_vms_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_swap_in_rate_kbps{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_hardware_number_of_cpu_cores_info{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_io_wait_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_usage_average_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_demand_megahertz{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_host_usage_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_summary_running_vms_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_network_packets_dropped_rx_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_demand_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_summary_number_running_vcpus_total{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_usage_megahertz{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_usage_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_useable_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_swap_used_rate_kbps{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_activly_used_by_vms_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_network_packets_dropped_tx_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_network_packets_dropped_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_ballooning_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_sockets_number{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_swap_out_rate_kbps{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_configuration_dasconfig_admissioncontrolpolicy_failoverhost{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_contention_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_utilization{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_capacity_available_to_vms_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_ready_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_contention_percentage{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_system_uptime_seconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_summary_number_vms_total{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_cpu_swap_wait_miliseconds{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_memory_compressed_kilobytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' HostSystemPropertiesCollector: - 'vrops_api_response{class="hostsystempropertiescollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="hostsystempropertiescollector",target="testhost.test"}' - - 'vrops_hostsystem_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem1",state="n/a",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_sys_build{datacenter="datacenter3",hostsystem="hostsystem1",sys_build="test",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem1",state="test",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_runtime_maintenancestate{datacenter="datacenter3",hostsystem="hostsystem1",state="test",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_custom_attributes_hw{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_sys_build{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_custom_attributes_hw{custom_attributes_hw="test",datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_config_diskspace_bytes{config_diskSpace_bytes="test",datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_summary_version{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem1",state="n/a",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_config_diskspace_bytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_runtime_maintenancestate{datacenter="datacenter3",hostsystem="hostsystem1",state="n/a",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_summary_version{datacenter="datacenter3",hostsystem="hostsystem1",summary_version="test",vccluster="cluster3",vcenter="vcenter1"}' - - 'vrops_hostsystem_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem1",state="test",vccluster="cluster3",vcenter="vcenter1"}' + - 'vrops_hostsystem_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem1",state="n/a",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_sys_build{datacenter="datacenter3",hostsystem="hostsystem1",sys_build="test",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem1",state="test",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_runtime_maintenancestate{datacenter="datacenter3",hostsystem="hostsystem1",state="test",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_custom_attributes_hw{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_sys_build{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_custom_attributes_hw{custom_attributes_hw="test",datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_config_diskspace_bytes{config_diskSpace_bytes="test",datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_summary_version{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem1",state="n/a",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_config_diskspace_bytes{datacenter="datacenter3",hostsystem="hostsystem1",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_runtime_maintenancestate{datacenter="datacenter3",hostsystem="hostsystem1",state="n/a",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_summary_version{datacenter="datacenter3",hostsystem="hostsystem1",summary_version="test",vccluster="cluster3",vcenter="adapter1"}' + - 'vrops_hostsystem_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem1",state="test",vccluster="cluster3",vcenter="adapter1"}' DatastoreStatsCollector: - 'vrops_api_response{class="datastorestatscollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="datastorestatscollector",target="testhost.test"}' - - 'vrops_datastore_diskspace_total_usage_gigabytes{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="vcenter1"}' - - 'vrops_datastore_summary_total_number_vms{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="vcenter1"}' - - 'vrops_datastore_diskspace_capacity_gigabytes{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="vcenter1"}' - - 'vrops_datastore_diskspace_freespace_gigabytes{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="vcenter1"}' + - 'vrops_datastore_diskspace_total_usage_gigabytes{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="adapter1"}' + - 'vrops_datastore_summary_total_number_vms{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="adapter1"}' + - 'vrops_datastore_diskspace_capacity_gigabytes{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="adapter1"}' + - 'vrops_datastore_diskspace_freespace_gigabytes{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",type="vmfs_p_ssd",vcenter="adapter1"}' DatastorePropertiesCollector: - 'vrops_api_response{class="datastorepropertiescollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="datastorepropertiescollector",target="testhost.test"}' - - 'vrops_datastore_summary_datastore_accessible{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",state="test",type="vmfs_p_ssd",vcenter="vcenter1"}' - - 'vrops_datastore_summary_datastore_accessible{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",state="n/a",type="vmfs_p_ssd",vcenter="vcenter1"}' + - 'vrops_datastore_summary_datastore_accessible{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",state="test",type="vmfs_p_ssd",vcenter="adapter1"}' + - 'vrops_datastore_summary_datastore_accessible{datacenter="datacenter3",datastore="vmfs_vc-w-0_p_ssd_bb091_001",state="n/a",type="vmfs_p_ssd",vcenter="adapter1"}' VMStatsNetworkCollector: - 'vrops_api_response{class="vmstatsnetworkcollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vmstatsnetworkcollector",target="testhost.test"}' - - 'vrops_virtualmachine_network_packets_dropped_rx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_network_packets_tx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_network_packets_rx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_network_data_transmitted_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_network_data_received_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_network_packets_dropped_tx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_network_usage_average_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_packets_dropped_rx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_packets_tx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_packets_rx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_data_transmitted_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_data_received_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_packets_dropped_tx_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_network_usage_average_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' VMStatsCPUCollector: - 'vrops_api_response{class="vmstatscpucollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vmstatscpucollector",target="testhost.test"}' - - 'vrops_virtualmachine_cpu_wait_summation_miliseconds{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_usage_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_contention_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_demand_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_number_vcpus_total{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_latency_average{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_ready_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_usage_average_mhz{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_cpu_io_wait_percentage{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_wait_summation_miliseconds{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_usage_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_contention_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_demand_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_number_vcpus_total{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_latency_average{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_ready_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_usage_average_mhz{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_cpu_io_wait_percentage{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' VMStatsMemoryCollector: - 'vrops_api_response{class="vmstatsmemorycollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vmstatsmemorycollector",target="testhost.test"}' - - 'vrops_virtualmachine_memory_activewrite_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_memory_active_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_memory_usage_average{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_memory_ballooning_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_memory_contention_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_swapped_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_swapin_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_memory_consumed_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_activewrite_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_active_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_usage_average{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_ballooning_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_contention_ratio{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_swapped_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_swapin_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_consumed_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' VMStatsVirtualDiskCollector: - 'vrops_api_response{class="vmstatsvirtualdiskcollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vmstatsvirtualdiskcollector",target="testhost.test"}' - - 'vrops_virtualmachine_virtual_disk_read_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtual_disk_outstanding_read_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtual_disk_outstanding_write_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtual_disk_average_write_miliseconds{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtual_disk_outstanding_io{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_read_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_outstanding_read_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_outstanding_write_number{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_average_write_miliseconds{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_outstanding_io{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' - 'vrops_api_response{class="vmstatsvirtualdiskcollector",target="testhost.test"}' - - 'vrops_virtualmachine_virtual_disk_average_read_miliseconds{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtual_disk_write_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_average_read_miliseconds{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtual_disk_write_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' VMStatsDefaultCollector: - 'vrops_api_response{class="vmstatsdefaultcollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vmstatsdefaultcollector",target="testhost.test"}' - - 'vrops_virtualmachine_datastore_total{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_datastore_outstanding_io_requests{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_diskspace_virtual_machine_used_gigabytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_diskspace_gigabytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_disk_usage_average_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guestfilesystem_storage_db_capacity{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guestfilesystem_storage_db_percentage{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guestfilesystem_storage_db_usage{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_datastore_total{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_datastore_outstanding_io_requests{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_diskspace_virtual_machine_used_gigabytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_diskspace_gigabytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_disk_usage_average_kilobytes_per_second{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guestfilesystem_storage_db_capacity{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guestfilesystem_storage_db_percentage{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guestfilesystem_storage_db_usage{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' VMPropertiesCollector: - 'vrops_api_response{class="vmpropertiescollector",target="testhost.test"}' - 'vrops_api_response_time_seconds{class="vmpropertiescollector",target="testhost.test"}' - - 'vrops_virtualmachine_summary_ethernetcards{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",summary_ethernetCards="test",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_config_hardware_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_summary_ethernetcards{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtualdisk_scsi0_1_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guest_tools_version{datacenter="datacenter3",guest_tools_version="test",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guest_tools_version{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtualdisk_scsi0_1_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualdisk_scsi0_1_datastore="test",virtualmachine="vm1"}' - - 'vrops_virtualmachine_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="n/a",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guest_os_full_name{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_guest_os_full_name{datacenter="datacenter3",guest_os_full_name="test",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtualdisk_scsi0_0_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_config_hardware_memory_kilobytes{config_hardware_memory_kilobytes="test",datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_virtualdisk_scsi0_0_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="vcenter1",virtualdisk_scsi0_0_datastore="test",virtualmachine="vm1"}' - - 'vrops_virtualmachine_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="n/a",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="test",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' - - 'vrops_virtualmachine_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="test",vccluster="cluster3",vcenter="vcenter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_summary_ethernetcards{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",summary_ethernetCards="test",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_config_hardware_memory_kilobytes{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_summary_ethernetcards{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtualdisk_scsi0_1_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guest_tools_version{datacenter="datacenter3",guest_tools_version="test",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guest_tools_version{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtualdisk_scsi0_1_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualdisk_scsi0_1_datastore="test",virtualmachine="vm1"}' + - 'vrops_virtualmachine_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="n/a",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guest_os_full_name{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_guest_os_full_name{datacenter="datacenter3",guest_os_full_name="test",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtualdisk_scsi0_0_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_config_hardware_memory_kilobytes{config_hardware_memory_kilobytes="test",datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_virtualdisk_scsi0_0_datastore{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",vccluster="cluster3",vcenter="adapter1",virtualdisk_scsi0_0_datastore="test",virtualmachine="vm1"}' + - 'vrops_virtualmachine_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="n/a",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_runtime_powerstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="test",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' + - 'vrops_virtualmachine_runtime_connectionstate{datacenter="datacenter3",hostsystem="hostsystem3",project="0815",state="test",vccluster="cluster3",vcenter="adapter1",virtualmachine="vm1"}' +NSXTMmgtClusterStatsCollector: + - 'vrops_api_response{class="nsxtmmgtclusterstatscollector",target="testhost.test"}' + - 'vrops_nsxt_sys_capacity_distributed_firewall_rules_usage_count{nsx_t_adapter="adapter1",nsx_t_mgmt_cluster="nsx_t_mgmt_cluster1"}' + - 'vrops_nsxt_sys_capacity_distributed_firewall_rules_max_supported_count{nsx_t_adapter="adapter1",nsx_t_mgmt_cluster="nsx_t_mgmt_cluster1"}' + - 'vrops_api_response_time_seconds{class="nsxtmmgtclusterstatscollector",target="testhost.test"}' + - 'vrops_nsxt_sys_capacity_distributed_firewall_rules_usage_count_percentage{nsx_t_adapter="adapter1",nsx_t_mgmt_cluster="nsx_t_mgmt_cluster1"}' diff --git a/tools/Vrops.py b/tools/Vrops.py index 3f1467b..aa15168 100644 --- a/tools/Vrops.py +++ b/tools/Vrops.py @@ -40,17 +40,17 @@ def get_token(target): logger.error(f'Problem getting token from {target} : {response.text}') return False, response.status_code - def get_adapter(self, target: str, token: str) -> (str, str): + def get_adapter(self, target: str, token: str, adapterkind: str) -> (str, str): url = f'https://{target}/suite-api/api/adapters' querystring = { - "adapterKindKey": "VMWARE" + "adapterKindKey": adapterkind } headers = { 'Content-Type': "application/json", 'Accept': "application/json", 'Authorization': f"vRealizeOpsToken {token}" } - name = uuid = None + adapter = list() disable_warnings(exceptions.InsecureRequestWarning) try: response = requests.get(url, @@ -59,19 +59,21 @@ def get_adapter(self, target: str, token: str) -> (str, str): headers=headers) except Exception as e: logger.error(f'Problem connecting to {target} - Error: {e}') - return name, uuid + return [] if response.status_code == 200: for resource in response.json()["adapterInstancesInfoDto"]: - name = resource["resourceKey"]["name"] - uuid = resource["id"] - + ada = dict() + ada['name'] = resource["resourceKey"]["name"] + ada['uuid'] = resource["id"] + adapter.append(ada) else: logger.error(f'Problem getting adapter {target} : {response.text}') - return name, uuid - return name, uuid + return [] + return adapter - def get_resources(self, target: str, token: str, uuids: list, resourcekinds: list, data_receiving=False) -> list: + def get_resources(self, target: str, token: str, uuids: list, adapterkind: str, resourcekinds: list, + data_receiving=False) -> list: logger.debug(f'Getting {resourcekinds} from {target}') url = "https://" + target + "/suite-api/api/resources/bulk/relationships" querystring = { @@ -81,7 +83,7 @@ def get_resources(self, target: str, token: str, uuids: list, resourcekinds: lis "relationshipType": "DESCENDANT", "resourceIds": uuids, "resourceQuery": { - "adapterKind": ["VMWARE"], + "adapterKind": [adapterkind], "resourceKind": resourcekinds, "resourceStatus": ["DATA_RECEIVING"] }, @@ -91,7 +93,7 @@ def get_resources(self, target: str, token: str, uuids: list, resourcekinds: lis "relationshipType": "DESCENDANT", "resourceIds": uuids, "resourceQuery": { - "adapterKind": ["VMWARE"], + "adapterKind": [adapterkind], "resourceKind": resourcekinds }, "PageSize": 500000, @@ -133,13 +135,14 @@ def get_resources(self, target: str, token: str, uuids: list, resourcekinds: lis return resources def get_datacenter(self, target, token, parent_uuids): - return self.get_resources(target, token, parent_uuids, resourcekinds=["Datacenter"]) + return self.get_resources(target, token, parent_uuids, adapterkind="VMWARE", resourcekinds=["Datacenter"]) def get_cluster_and_datastores(self, target, token, parent_uuids): - return self.get_resources(target, token, parent_uuids, resourcekinds=["ClusterComputeResource", "Datastore"]) + return self.get_resources(target, token, parent_uuids, adapterkind="VMWARE", + resourcekinds=["ClusterComputeResource", "Datastore"]) def get_hosts(self, target, token, parent_uuids): - return self.get_resources(target, token, parent_uuids, resourcekinds=["HostSystem"]) + return self.get_resources(target, token, parent_uuids, adapterkind="VMWARE", resourcekinds=["HostSystem"]) def get_vms(self, target, token, parent_uuids, vcenter_uuid): amount_vms, api_responding, _ = self.get_latest_stats_multiple(target, token, [vcenter_uuid], @@ -156,13 +159,21 @@ def get_vms(self, target, token, parent_uuids, vcenter_uuid): logger.debug(f'Chunking VM requests into {len(uuids_chunked)} chunks') vms = list() for uuid_list in uuids_chunked: - vms.extend(self.get_resources(target, token, uuid_list, resourcekinds=["VirtualMachine"], - data_receiving=True)) + vms.extend(self.get_resources(target, token, uuid_list, adapterkind="VMWARE", + resourcekinds=["VirtualMachine"], data_receiving=True)) logger.debug(f'Number of VMs collected: {len(vms)}') return vms - return self.get_resources(target, token, parent_uuids, resourcekinds=["VirtualMachine"], + return self.get_resources(target, token, parent_uuids, adapterkind="VMWARE", resourcekinds=["VirtualMachine"], data_receiving=True) + def get_nsx_t_adapter_instance(self, target, token, parent_uuids): + return self.get_resources(target, token, parent_uuids, adapterkind="NSXTAdapter", + resourcekinds=["NSXTAdapterInstance"]) + + def get_nsx_t_mgmt_cluster(self, target, token, parent_uuids): + return self.get_resources(target, token, parent_uuids, adapterkind="NSXTAdapter", + resourcekinds=["ManagementCluster"]) + def get_latest_values_multiple(self, target: str, token: str, uuids: list, keys: list, collector: str, kind: str = None) -> (list, int, float):