Skip to content

Commit 95d5303

Browse files
committed
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 <[email protected]>
1 parent 7dd2397 commit 95d5303

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

src/pybind/mgr/prometheus/module.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,20 @@ def _setup_static_metrics(self) -> Dict[str, Metric]:
760760
HEALTHCHECK_DETAIL
761761
)
762762

763+
metrics['pool_objects_repaired'] = Metric(
764+
'counter',
765+
'pool_objects_repaired',
766+
'Number of objects repaired in a pool',
767+
('pool_id',)
768+
)
769+
770+
metrics['daemon_health_metrics'] = Metric(
771+
'gauge',
772+
'daemon_health_metrics',
773+
'Health metrics for Ceph daemons',
774+
('type', 'ceph_daemon',)
775+
)
776+
763777
for flag in OSD_FLAGS:
764778
path = 'osd_flag_{}'.format(flag)
765779
metrics[path] = Metric(
@@ -1600,14 +1614,7 @@ def get_collect_time_metrics(self) -> None:
16001614
def get_pool_repaired_objects(self) -> None:
16011615
dump = self.get('pg_dump')
16021616
for stats in dump['pool_stats']:
1603-
path = f'pool_objects_repaired{stats["poolid"]}'
1604-
self.metrics[path] = Metric(
1605-
'counter',
1606-
'pool_objects_repaired',
1607-
'Number of objects repaired in a pool Count',
1608-
('poolid',)
1609-
)
1610-
1617+
path = 'pool_objects_repaired'
16111618
self.metrics[path].set(stats['stat_sum']['num_objects_repaired'],
16121619
labelvalues=(stats['poolid'],))
16131620

@@ -1616,13 +1623,7 @@ def get_all_daemon_health_metrics(self) -> None:
16161623
self.log.debug('metrics jeje %s' % (daemon_metrics))
16171624
for daemon_name, health_metrics in daemon_metrics.items():
16181625
for health_metric in health_metrics:
1619-
path = f'daemon_health_metrics{daemon_name}{health_metric["type"]}'
1620-
self.metrics[path] = Metric(
1621-
'counter',
1622-
'daemon_health_metrics',
1623-
'Health metrics for Ceph daemons',
1624-
('type', 'ceph_daemon',)
1625-
)
1626+
path = 'daemon_health_metrics'
16261627
self.metrics[path].set(health_metric['value'], labelvalues=(
16271628
health_metric['type'], daemon_name,))
16281629

0 commit comments

Comments
 (0)