From: banuchka Date: Sat, 15 Apr 2023 20:56:05 +0000 (+0100) Subject: mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format X-Git-Tag: v19.0.0~1166^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=95d5303e11d6cba5ec4e71716af8931bcc2b9767;p=ceph-ci.git mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format - fix "error reading metrics for http://****:***/metrics: reading text format failed: text format parsing error in line 2010: second HELP line for metric name "ceph_pool_objects_repaired" error - rename label name "poolid" to "pool_id" like all other metrics - change type for the "daemon_health_metrics" to gauge Fixes: https://tracker.ceph.com/issues/59505 Signed-off-by: banuchka --- diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index ade068b0c36..05f6da8b0e0 100644 --- a/src/pybind/mgr/prometheus/module.py +++ b/src/pybind/mgr/prometheus/module.py @@ -760,6 +760,20 @@ class Module(MgrModule): HEALTHCHECK_DETAIL ) + metrics['pool_objects_repaired'] = Metric( + 'counter', + 'pool_objects_repaired', + 'Number of objects repaired in a pool', + ('pool_id',) + ) + + metrics['daemon_health_metrics'] = Metric( + 'gauge', + 'daemon_health_metrics', + 'Health metrics for Ceph daemons', + ('type', 'ceph_daemon',) + ) + for flag in OSD_FLAGS: path = 'osd_flag_{}'.format(flag) metrics[path] = Metric( @@ -1600,14 +1614,7 @@ class Module(MgrModule): def get_pool_repaired_objects(self) -> None: dump = self.get('pg_dump') for stats in dump['pool_stats']: - path = f'pool_objects_repaired{stats["poolid"]}' - self.metrics[path] = Metric( - 'counter', - 'pool_objects_repaired', - 'Number of objects repaired in a pool Count', - ('poolid',) - ) - + path = 'pool_objects_repaired' self.metrics[path].set(stats['stat_sum']['num_objects_repaired'], labelvalues=(stats['poolid'],)) @@ -1616,13 +1623,7 @@ class Module(MgrModule): self.log.debug('metrics jeje %s' % (daemon_metrics)) for daemon_name, health_metrics in daemon_metrics.items(): for health_metric in health_metrics: - path = f'daemon_health_metrics{daemon_name}{health_metric["type"]}' - self.metrics[path] = Metric( - 'counter', - 'daemon_health_metrics', - 'Health metrics for Ceph daemons', - ('type', 'ceph_daemon',) - ) + path = 'daemon_health_metrics' self.metrics[path].set(health_metric['value'], labelvalues=( health_metric['type'], daemon_name,))