From 99763d2d46309bcfe3a643f03ca05acc2f7203a5 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Wed, 9 Jan 2019 09:27:59 +0000 Subject: [PATCH] pybind/mgr/prometheus: export rbd-mirror metadata Signed-off-by: Mykola Golub --- src/pybind/mgr/prometheus/module.py | 34 ++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index ef6c08492db4f..50eb1debf8737 100644 --- a/src/pybind/mgr/prometheus/module.py +++ b/src/pybind/mgr/prometheus/module.py @@ -73,6 +73,9 @@ POOL_METADATA = ('pool_id', 'name') RGW_METADATA = ('ceph_daemon', 'hostname', 'ceph_version') +RBD_MIRROR_METADATA = ('ceph_daemon', 'id', 'instance_id', 'hostname', + 'ceph_version') + DISK_OCCUPATION = ('ceph_daemon', 'device', 'db_device', 'wal_device', 'instance') NUM_OBJECTS = ['degraded', 'misplaced', 'unfound'] @@ -253,6 +256,13 @@ class Module(MgrModule): RGW_METADATA ) + metrics['rbd_mirror_metadata'] = Metric( + 'untyped', + 'rbd_mirror_metadata', + 'RBD Mirror Metadata', + RBD_MIRROR_METADATA + ) + metrics['pg_total'] = Metric( 'gauge', 'pg_total', @@ -519,16 +529,24 @@ class Module(MgrModule): for pool in osd_map['pools']: self.metrics['pool_metadata'].set(1, (pool['pool'], pool['pool_name'])) - # Populate rgw_metadata + # Populate other servers metadata for key, value in servers.items(): service_id, service_type = key - if service_type != 'rgw': - continue - hostname, version = value - self.metrics['rgw_metadata'].set( - 1, - ('{}.{}'.format(service_type, service_id), hostname, version) - ) + if service_type == 'rgw': + hostname, version = value + self.metrics['rgw_metadata'].set( + 1, + ('{}.{}'.format(service_type, service_id), hostname, version) + ) + elif service_type == 'rbd-mirror': + mirror_metadata = self.get_metadata('rbd-mirror', service_id) + if mirror_metadata is None: + continue + mirror_metadata['ceph_daemon'] = '{}.{}'.format(service_type, + service_id) + self.metrics['rbd_mirror_metadata'].set( + 1, (mirror_metadata.get(k, '') for k in RBD_MIRROR_METADATA) + ) def get_num_objects(self): pg_sum = self.get('pg_summary')['pg_stats_sum']['stat_sum'] -- 2.39.5