]> git-server-git.apps.pok.os.sepia.ceph.com Git - cephmetrics.git/commitdiff
mon: Add 'ceph df' pool stats
authorZack Cerza <zack@redhat.com>
Mon, 28 Aug 2017 21:12:58 +0000 (15:12 -0600)
committerZack Cerza <zack@redhat.com>
Tue, 29 Aug 2017 18:19:13 +0000 (12:19 -0600)
Signed-off-by: Zack Cerza <zack@redhat.com>
collectors/mon.py

index 4dd2f3871a657b03b4b3bb531c892bfba269a542..d6052a86f5d195e2b9de1469d924286995ada9ec 100644 (file)
@@ -429,6 +429,11 @@ class Mon(BaseCollector):
         return {metric_format[k][0]: metrics[k]
                 for k in metrics} if metrics else {}
 
+    def _get_df_stats(self):
+        """ get 'ceph df' stats from rados """
+        raw_stats = self._mon_command('df')
+        return raw_stats
+
     def _get_pool_stats(self):
         """ get pool stats from rados """
 
@@ -589,6 +594,11 @@ class Mon(BaseCollector):
             # read from the admin socket was OK, so process the data
             cluster_state = self.get_mon_health(cluster_data)
             pool_stats = self._get_pool_stats()
+            df_stats = self._get_df_stats()
+            for df_obj in df_stats['pools']:
+                pool_name = df_obj['name']
+                pool_stats[pool_name] = merge_dicts(
+                    pool_stats[pool_name], df_obj['stats'])
             num_osd_hosts, osd_states = self._get_osd_states()
 
             cluster_state['num_osd_hosts'] = num_osd_hosts