Skip to content

Commit

Permalink
Merge 336c1c1 into 0807931
Browse files Browse the repository at this point in the history
  • Loading branch information
richardtief committed May 18, 2021
2 parents 0807931 + 336c1c1 commit 806856f
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 16 deletions.
16 changes: 16 additions & 0 deletions collectors/NSXTMmgtClusterPropertiesCollector.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from collectors.PropertiesCollector import PropertiesCollector


class NSXTMmgtClusterPropertiesCollector(PropertiesCollector):

def __init__(self):
super().__init__()
self.vrops_entity_name = 'nsxt'
self.label_names = ['nsxt_mgmt_cluster', 'nsxt_adapter']

def get_resource_uuids(self):
return self.get_nsxt_mgmt_cluster_by_target()

def set_labels(self, resource_id, project_ids):
return [self.nsxt_mgmt_cluster[resource_id]['name'],
self.nsxt_mgmt_cluster[resource_id]['nsxt_adapter_name']] if resource_id else []
20 changes: 4 additions & 16 deletions tests/TestCollectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,13 @@
from InventoryBuilder import InventoryBuilder
from BaseCollector import BaseCollector
from resources.Resourceskinds import *
from collectors.HostSystemStatsCollector import HostSystemStatsCollector
from collectors.HostSystemPropertiesCollector import HostSystemPropertiesCollector
from collectors.DatastoreStatsCollector import DatastoreStatsCollector
from collectors.DatastorePropertiesCollector import DatastorePropertiesCollector
from collectors.ClusterPropertiesCollector import ClusterPropertiesCollector
from collectors.VMStatsNetworkCollector import VMStatsNetworkCollector
from collectors.VMStatsCPUCollector import VMStatsCPUCollector
from collectors.VMStatsDefaultCollector import VMStatsDefaultCollector
from collectors.VMStatsMemoryCollector import VMStatsMemoryCollector
from collectors.VMStatsVirtualDiskCollector import VMStatsVirtualDiskCollector
from collectors.VMPropertiesCollector import VMPropertiesCollector
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):
Expand Down Expand Up @@ -168,6 +154,8 @@ def test_collector_metrics(self):

for collector in self.metrics_yaml.keys():
print("\nTesting " + collector)
class_module = importlib.import_module(f'collectors.{collector}')
collector_instance = class_module.__getattribute__(collector)()

if "Stats" in collector:
multiple_metrics_generated = list()
Expand Down Expand Up @@ -206,7 +194,7 @@ def test_collector_metrics(self):
thread_list = list()

# start prometheus server to provide metrics later on
collector_instance = globals()[collector]()

thread1 = Thread(target=run_prometheus_server, args=(self.random_prometheus_port, [collector_instance]))
thread1.daemon = True
thread1.start()
Expand Down
35 changes: 35 additions & 0 deletions tests/collector_config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
default_collectors:
- 'NSXTMmgtClusterStatsCollector'
- 'NSXTMmgtClusterPropertiesCollector'
- 'ClusterStatsCollector'
- 'ClusterPropertiesCollector'
- 'DatastoreStatsCollector'
Expand Down Expand Up @@ -343,3 +344,37 @@ NSXTMmgtClusterStatsCollector:
key: "System Capacity|Distributed Firewall Rules|UsageCountPercentage"
- metric_suffix: "sys_capacity_distributed_firewall_rules_max_supported_count"
key: "System Capacity|Distributed Firewall Rules|MaxSupportedCount"
- metric_suffix: "sys_capacity_distributed_firewall_section_max_supported_count"
key: "System Capacity|Distributed Firewall Sections|MaxSupportedCount"
- metric_suffix: "sys_capacity_distributed_firewall_section_usage_count"
key: "System Capacity|Distributed Firewall Sections|UsageCount"
- metric_suffix: "sys_capacity_logical_switches_max_supported_count"
key: "System Capacity|Logical Switches|MaxSupportedCount"
- metric_suffix: "sys_capacity_logical_switches_usage_count"
key: "System Capacity|Logical Switches|UsageCount"
- metric_suffix: "sys_capacity_system_wide_logical_switch_max_supported_count"
key: "System Capacity|System-wide Logical Switch Ports|MaxSupportedCount"
- metric_suffix: "sys_capacity_system_wide_logical_switch_usage_count"
key: "System Capacity|System-wide Logical Switch Ports|UsageCount"
- metric_suffix: "sys_capacity_groups_max_supported_count"
key: "System Capacity|Groups|MaxSupportedCount"
- metric_suffix: "sys_capacity_groups_max_usage_count"
key: "System Capacity|Groups|UsageCount"
- metric_suffix: "sys_capacity_ip_sets_max_supported_count"
key: "System Capacity|IP Sets|MaxSupportedCount"
- metric_suffix: "sys_capacity_ip_sets_usage_count"
key: "System Capacity|IP Sets|UsageCount"
- metric_suffix: "sys_capacity_groups_based_in_ip_max_supported_count"
key: "System Capacity|Groups Based on IP Sets|MaxSupportedCount"
- metric_suffix: "sys_capacity_groups_based_in_ip_usage_count"
key: "System Capacity|Groups Based on IP Sets|UsageCount"

NSXTMmgtClusterPropertiesCollector:
- metric_suffix: "product_version"
key: "NSXTProductVersion"
- metric_suffix: "management_cluster_connectivity_status"
expected: "STABLE"
key: "ConnectivityStatus|ClusterStatus|ManagementClusterStatusProperty"
- metric_suffix: "controller_cluster_connectivity_status"
expected: "STABLE"
key: "ConnectivityStatus|ClusterStatus|ControllerClusterStatusProperty"
22 changes: 22 additions & 0 deletions tests/metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -227,3 +227,25 @@ NSXTMmgtClusterStatsCollector:
- 'vrops_nsxt_sys_capacity_distributed_firewall_rules_max_supported_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_api_response_time_seconds{class="nsxtmmgtclusterstatscollector",target="testhost.test"}'
- 'vrops_nsxt_sys_capacity_distributed_firewall_rules_usage_count_percentage{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_logical_switches_usage_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_groups_based_in_ip_usage_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_distributed_firewall_section_max_supported_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_ip_sets_usage_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_ip_sets_max_supported_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_system_capacity_system_wide_logical_switch_ports_maxsupportedcount{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_distributed_firewall_section_usage_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_system_capacity_system_wide_logical_switch_ports_usagecount{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_groups_max_usage_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_logical_switches_max_supported_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_groups_based_in_ip_max_supported_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_sys_capacity_groups_max_supported_count{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'

NSXTMmgtClusterPropertiesCollector:
- 'vrops_api_response{class="nsxtmmgtclusterpropertiescollector",target="testhost.test"}'
- 'vrops_nsxt_management_cluster_connectivity_status{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2",state="n/a"}'
- 'vrops_nsxt_controller_cluster_connectivity_status{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2",state="test"}'
- 'vrops_nsxt_controller_cluster_connectivity_status{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2",state="n/a"}'
- 'vrops_nsxt_management_cluster_connectivity_status{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2",state="test"}'
- 'vrops_nsxt_product_version{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2"}'
- 'vrops_nsxt_product_version{nsxt_adapter="nsxt_adapter2",nsxt_mgmt_cluster="nsxt_mgmt_cluster2",product_version="test"}'
- 'vrops_api_response_time_seconds{class="nsxtmmgtclusterpropertiescollector",target="testhost.test"}'

0 comments on commit 806856f

Please sign in to comment.