mirror of
https://github.com/KevinMidboe/mktxp-no-cli.git
synced 2025-10-29 17:50:23 +00:00
formatting
This commit is contained in:
@@ -18,17 +18,19 @@ from mktxp.datasource.kid_control_device_ds import KidDeviceMetricsDataSource
|
|||||||
|
|
||||||
|
|
||||||
class KidDeviceCollector(BaseCollector):
|
class KidDeviceCollector(BaseCollector):
|
||||||
''' Kid-control device Metrics collector
|
""" Kid-control device Metrics collector
|
||||||
'''
|
"""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def collect(router_entry):
|
def collect(router_entry):
|
||||||
if not router_entry.config_entry.kid_control_devices:
|
if not router_entry.config_entry.kid_control_devices:
|
||||||
return
|
return
|
||||||
|
|
||||||
labels = ['name', 'user', 'mac_address', 'ip_address', 'bytes_down', 'bytes_up', 'rate_up', 'rate_down', 'bytes_up', 'idle_time',
|
labels = ['name', 'user', 'mac_address', 'ip_address', 'bytes_down', 'bytes_up', 'rate_up', 'rate_down',
|
||||||
|
'bytes_up', 'idle_time',
|
||||||
'blocked', 'limited', 'inactive', 'disabled']
|
'blocked', 'limited', 'inactive', 'disabled']
|
||||||
info_labels = ['name', 'user', 'mac_address', 'ip_address', 'disabled']
|
info_labels = ['name', 'user', 'mac_address', 'ip_address', 'disabled']
|
||||||
records = KidDeviceMetricsDataSource.metric_records(router_entry, metric_labels = labels)
|
records = KidDeviceMetricsDataSource.metric_records(router_entry, metric_labels=labels)
|
||||||
|
|
||||||
if records:
|
if records:
|
||||||
# translate records to appropriate values
|
# translate records to appropriate values
|
||||||
@@ -38,23 +40,12 @@ class KidDeviceCollector(BaseCollector):
|
|||||||
if value:
|
if value:
|
||||||
record[label] = KidDeviceCollector._translated_values(label, value)
|
record[label] = KidDeviceCollector._translated_values(label, value)
|
||||||
|
|
||||||
info_metrics = BaseCollector.info_collector('kid_control_device', 'Kid-control device Info', records, info_labels)
|
yield BaseCollector.info_collector('kid_control_device', 'Kid-control device Info', records, info_labels)
|
||||||
yield info_metrics
|
yield BaseCollector.gauge_collector('kid_control_device_bytes_down', 'Kid-control device bytes down', records, 'bytes_down', ['name', 'mac_address'])
|
||||||
|
yield BaseCollector.gauge_collector('kid_control_device_bytes_up', 'Kid-control device bytes up', records, 'bytes_up', ['name', 'mac_address'])
|
||||||
bytes_down_metrics = BaseCollector.gauge_collector('kid_control_device_bytes_down', 'Kid-control device bytes down', records, 'bytes_down', ['name', 'mac_address'])
|
yield BaseCollector.gauge_collector('kid_control_device_rate_down', 'Kid-control device rate down', records, 'rate_down', ['name', 'mac_address'])
|
||||||
yield bytes_down_metrics
|
yield BaseCollector.gauge_collector('kid_control_device_rate_up', 'Kid-control device rate up', records, 'rate_up', ['name', 'mac_address'])
|
||||||
|
yield BaseCollector.gauge_collector('kid_control_device_idle_time', 'Kid-control device idle time', records, 'idle_time', ['name', 'mac_address'])
|
||||||
bytes_up_metrics = BaseCollector.gauge_collector('kid_control_device_bytes_up', 'Kid-control device bytes up', records, 'bytes_up', ['name', 'mac_address'])
|
|
||||||
yield bytes_up_metrics
|
|
||||||
|
|
||||||
rate_down_metrics = BaseCollector.gauge_collector('kid_control_device_rate_down', 'Kid-control device rate down', records, 'rate_down', ['name', 'mac_address'])
|
|
||||||
yield rate_down_metrics
|
|
||||||
|
|
||||||
rate_up_metrics = BaseCollector.gauge_collector('kid_control_device_rate_up', 'Kid-control device rate up', records, 'rate_up', ['name', 'mac_address'])
|
|
||||||
yield rate_up_metrics
|
|
||||||
|
|
||||||
idle_time_metrics = BaseCollector.gauge_collector('kid_control_device_idle_time', 'Kid-control device idle time', records, 'idle_time', ['name', 'mac_address'])
|
|
||||||
yield idle_time_metrics
|
|
||||||
|
|
||||||
# Helpers
|
# Helpers
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -64,10 +55,10 @@ class KidDeviceCollector(BaseCollector):
|
|||||||
'rate_up': lambda value: KidDeviceCollector._rates(value),
|
'rate_up': lambda value: KidDeviceCollector._rates(value),
|
||||||
'rate_down': lambda value: KidDeviceCollector._rates(value),
|
'rate_down': lambda value: KidDeviceCollector._rates(value),
|
||||||
'idle_time': lambda value: BaseOutputProcessor.parse_timedelta_seconds(value),
|
'idle_time': lambda value: BaseOutputProcessor.parse_timedelta_seconds(value),
|
||||||
'blocked': lambda value: '1' if value=='true' else '0',
|
'blocked': lambda value: '1' if value == 'true' else '0',
|
||||||
'limited': lambda value: '1' if value=='true' else '0',
|
'limited': lambda value: '1' if value == 'true' else '0',
|
||||||
'inactive': lambda value: '1' if value=='true' else '0',
|
'inactive': lambda value: '1' if value == 'true' else '0',
|
||||||
'disabled': lambda value: '1' if value=='true' else '0',
|
'disabled': lambda value: '1' if value == 'true' else '0',
|
||||||
}[monitor_label](value)
|
}[monitor_label](value)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return value
|
return value
|
||||||
@@ -75,7 +66,7 @@ class KidDeviceCollector(BaseCollector):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def _rates(rate_option):
|
def _rates(rate_option):
|
||||||
# according mikrotik docs, an interface rate should be one of these
|
# according mikrotik docs, an interface rate should be one of these
|
||||||
rate_value = {
|
rate_value = {
|
||||||
'10Mbps': '10',
|
'10Mbps': '10',
|
||||||
'100Mbps': '100',
|
'100Mbps': '100',
|
||||||
'1Gbps': '1000',
|
'1Gbps': '1000',
|
||||||
|
|||||||
@@ -16,16 +16,17 @@ from mktxp.datasource.base_ds import BaseDSProcessor
|
|||||||
|
|
||||||
|
|
||||||
class KidDeviceMetricsDataSource:
|
class KidDeviceMetricsDataSource:
|
||||||
''' Kid-control device Metrics data provider
|
""" Kid-control device Metrics data provider
|
||||||
'''
|
"""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def metric_records(router_entry, *, metric_labels = None):
|
def metric_records(router_entry, *, metric_labels=None):
|
||||||
if metric_labels is None:
|
if metric_labels is None:
|
||||||
metric_labels = []
|
metric_labels = []
|
||||||
try:
|
try:
|
||||||
device_records = router_entry.api_connection.router_api().get_resource('/ip/kid-control/device').get()
|
device_records = router_entry.api_connection.router_api().get_resource('/ip/kid-control/device').get()
|
||||||
return BaseDSProcessor.trimmed_records(router_entry, router_records = device_records, metric_labels = metric_labels)
|
return BaseDSProcessor.trimmed_records(router_entry, router_records=device_records, metric_labels=metric_labels)
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
print(f'Error getting Kid-control device info from router{router_entry.router_name}@{router_entry.config_entry.hostname}: {exc}')
|
print(
|
||||||
|
f'Error getting Kid-control device info from router{router_entry.router_name}@{router_entry.config_entry.hostname}: {exc}')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user