prevent dpulicate metrics for health collector

This commit is contained in:
Leon Morten Richter
2022-08-20 13:32:45 +02:00
parent 64f7d21032
commit 6b142edec4
2 changed files with 17 additions and 11 deletions

View File

@@ -24,17 +24,24 @@ class HealthCollector(BaseCollector):
health_labels = ['voltage', 'temperature', 'cpu_temperature', 'fan1_speed', 'fan2_speed']
health_records = HealthMetricsDataSource.metric_records(router_entry, metric_labels = health_labels)
if health_records:
voltage_metrics = BaseCollector.gauge_collector('system_routerboard_voltage', 'Supplied routerboard voltage', health_records, 'voltage')
yield voltage_metrics
for record in health_records:
temperature_metrics = BaseCollector.gauge_collector('system_routerboard_temperature', 'Routerboard current temperature', health_records, 'temperature')
yield temperature_metrics
if 'voltage' in record:
voltage_metrics = BaseCollector.gauge_collector('system_routerboard_voltage', 'Supplied routerboard voltage', [record, ], 'voltage')
yield voltage_metrics
cpu_temperature_metrics = BaseCollector.gauge_collector('system_cpu_temperature', 'CPU current temperature', health_records, 'cpu_temperature')
yield cpu_temperature_metrics
if 'temperature' in record:
temperature_metrics = BaseCollector.gauge_collector('system_routerboard_temperature', 'Routerboard current temperature', [record, ], 'temperature')
yield temperature_metrics
fan_one_speed_metrics = BaseCollector.gauge_collector('system_fan_one_speed', 'System fan 1 current speed', health_records, 'fan1_speed')
yield fan_one_speed_metrics
if 'cpu_temperature' in record:
cpu_temperature_metrics = BaseCollector.gauge_collector('system_cpu_temperature', 'CPU current temperature', [record, ], 'cpu_temperature')
yield cpu_temperature_metrics
fan_two_speed_metrics = BaseCollector.gauge_collector('system_fan_two_speed', 'System fan 2 current speed', health_records, 'fan2_speed')
yield fan_two_speed_metrics
if 'fan1_speed' in record:
fan_one_speed_metrics = BaseCollector.gauge_collector('system_fan_one_speed', 'System fan 1 current speed', [record, ], 'fan1_speed')
yield fan_one_speed_metrics
if 'fan2_speed' in record:
fan_two_speed_metrics = BaseCollector.gauge_collector('system_fan_two_speed', 'System fan 2 current speed', [record, ], 'fan2_speed')
yield fan_two_speed_metrics