mirror of
https://github.com/KevinMidboe/mktxp-no-cli.git
synced 2025-10-29 17:50:23 +00:00
connections stats collector / cmd output, remote dhcp resolver, fixes / optimizations
This commit is contained in:
@@ -15,7 +15,6 @@
|
||||
from mktxp.cli.config.config import MKTXPConfigKeys
|
||||
from mktxp.flow.processor.output import BaseOutputProcessor
|
||||
from mktxp.collector.base_collector import BaseCollector
|
||||
from mktxp.datasource.dhcp_ds import DHCPMetricsDataSource
|
||||
from mktxp.datasource.capsman_ds import CapsmanCapsMetricsDataSource, CapsmanRegistrationsMetricsDataSource, CapsmanInterfacesDatasource
|
||||
from mktxp.datasource.wireless_ds import WirelessMetricsDataSource
|
||||
|
||||
@@ -53,11 +52,8 @@ class CapsmanCollector(BaseCollector):
|
||||
if router_entry.config_entry.capsman_clients:
|
||||
|
||||
# translate / trim / augment registration records
|
||||
dhcp_lease_labels = ['mac_address', 'address', 'host_name', 'comment']
|
||||
dhcp_entry = WirelessMetricsDataSource.dhcp_entry(router_entry)
|
||||
dhcp_lease_records = DHCPMetricsDataSource.metric_records(dhcp_entry, metric_labels = dhcp_lease_labels)
|
||||
for registration_record in registration_records:
|
||||
BaseOutputProcessor.augment_record(router_entry, registration_record, dhcp_lease_records)
|
||||
BaseOutputProcessor.augment_record(router_entry, registration_record)
|
||||
|
||||
tx_byte_metrics = BaseCollector.counter_collector('capsman_clients_tx_bytes', 'Number of sent packet bytes', registration_records, 'tx_bytes', ['dhcp_name'])
|
||||
yield tx_byte_metrics
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
|
||||
|
||||
from mktxp.collector.base_collector import BaseCollector
|
||||
from mktxp.datasource.connection_ds import IPConnectionDatasource
|
||||
from mktxp.flow.processor.output import BaseOutputProcessor
|
||||
from mktxp.datasource.connection_ds import IPConnectionDatasource, IPConnectionStatsDatasource
|
||||
|
||||
|
||||
class IPConnectionCollector(BaseCollector):
|
||||
@@ -21,11 +22,20 @@ class IPConnectionCollector(BaseCollector):
|
||||
'''
|
||||
@staticmethod
|
||||
def collect(router_entry):
|
||||
if not router_entry.config_entry.connections:
|
||||
return
|
||||
|
||||
connection_records = IPConnectionDatasource.metric_records(router_entry)
|
||||
if connection_records:
|
||||
if router_entry.config_entry.connections:
|
||||
connection_records = IPConnectionDatasource.metric_records(router_entry)
|
||||
if connection_records:
|
||||
connection_metrics = BaseCollector.gauge_collector('ip_connections_total', 'Number of IP connections', connection_records, 'count',)
|
||||
yield connection_metrics
|
||||
|
||||
if router_entry.config_entry.connection_stats:
|
||||
connection_stats_records = IPConnectionStatsDatasource.metric_records(router_entry)
|
||||
|
||||
for connection_stat_record in connection_stats_records:
|
||||
BaseOutputProcessor.augment_record(router_entry, connection_stat_record, id_key = 'src_address')
|
||||
|
||||
connection_stats_labels = ['src_address', 'dst_addresses', 'dhcp_name']
|
||||
connection_stats_metrics_gauge = BaseCollector.gauge_collector('connection_stats', 'Open connection stats',
|
||||
connection_stats_records, 'connection_count', connection_stats_labels)
|
||||
yield connection_stats_metrics_gauge
|
||||
|
||||
connection_metrics = BaseCollector.gauge_collector('ip_connections_total', 'Number of IP connections', connection_records, 'count',)
|
||||
yield connection_metrics
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
from mktxp.flow.processor.output import BaseOutputProcessor
|
||||
from mktxp.collector.base_collector import BaseCollector
|
||||
from mktxp.datasource.dhcp_ds import DHCPMetricsDataSource
|
||||
from mktxp.datasource.wireless_ds import WirelessMetricsDataSource
|
||||
from mktxp.datasource.interface_ds import InterfaceMonitorMetricsDataSource
|
||||
|
||||
@@ -52,12 +51,8 @@ class WLANCollector(BaseCollector):
|
||||
registration_labels = ['interface', 'ssid', 'mac_address', 'tx_rate', 'rx_rate', 'uptime', 'bytes', 'signal_to_noise', 'tx_ccq', 'signal_strength', 'signal']
|
||||
registration_records = WirelessMetricsDataSource.metric_records(router_entry, metric_labels = registration_labels)
|
||||
if registration_records:
|
||||
dhcp_lease_labels = ['mac_address', 'address', 'host_name', 'comment']
|
||||
dhcp_entry = WirelessMetricsDataSource.dhcp_entry(router_entry)
|
||||
dhcp_lease_records = DHCPMetricsDataSource.metric_records(dhcp_entry, metric_labels = dhcp_lease_labels)
|
||||
|
||||
for registration_record in registration_records:
|
||||
BaseOutputProcessor.augment_record(router_entry, registration_record, dhcp_lease_records)
|
||||
BaseOutputProcessor.augment_record(router_entry, registration_record)
|
||||
|
||||
tx_byte_metrics = BaseCollector.counter_collector('wlan_clients_tx_bytes', 'Number of sent packet bytes', registration_records, 'tx_bytes', ['dhcp_name'])
|
||||
yield tx_byte_metrics
|
||||
|
||||
Reference in New Issue
Block a user