@cryptotaxi247 / netdata-1 / commits / d11ec6f97

Ceph: Added OSD size collection (#8649)

elelayan committed May 28, 2020 at 16:18 UTC d11ec6f978e357d539a6ab06c97555ed5d25c04b
2 files changed +21
collectors/python.d.plugin/ceph/ceph.chart.py
+17
@@ -31,6 +31,7 @@ ORDER = [
31 'pool_read_operations',
32 'pool_write_operations',
33 'osd_usage',
34 + 'osd_size',
35 'osd_apply_latency',
36 'osd_commit_latency'
37 ]
@@ -101,6 +102,10 @@ CHARTS = {
102 'options': [None, 'Ceph OSDs', 'KiB', 'osd', 'ceph.osd_usage', 'line'],
103 'lines': []
104 },
105 + 'osd_size': {
106 + 'options': [None, 'Ceph OSDs size', 'KiB', 'osd', 'ceph.osd_size', 'line'],
107 + 'lines': []
108 + },
109 'osd_apply_latency': {
110 'options': [None, 'Ceph OSDs apply latency', 'milliseconds', 'osd', 'ceph.apply_latency', 'line'],
111 'lines': []
@@ -189,6 +194,9 @@ class Service(SimpleService):
194 self.definitions['osd_usage']['lines'].append([osd['name'],
195 osd['name'],
196 'absolute'])
197 + self.definitions['osd_size']['lines'].append(['size_{0}'.format(osd['name']),
198 + osd['name'],
199 + 'absolute'])
200 self.definitions['osd_apply_latency']['lines'].append(['apply_latency_{0}'.format(osd['name']),
201 osd['name'],
202 'absolute'])
@@ -217,6 +225,7 @@ class Service(SimpleService):
225 data.update(self._get_pool_rw(pool_io))
226 for osd in osd_df['nodes']:
227 data.update(self._get_osd_usage(osd))
228 + data.update(self._get_osd_size(osd))
229 for osd_apply_commit in osd_perf_infos:
230 data.update(self._get_osd_latency(osd_apply_commit))
231 return data
@@ -295,6 +304,14 @@ class Service(SimpleService):
304 """
305 return {osd['name']: float(osd['kb_used'])}
306
307 + @staticmethod
308 + def _get_osd_size(osd):
309 + """
310 + Process raw data into osd dict information to get osd size (kb)
311 + :return: A osd dict with osd name's key and size bytes' value
312 + """
313 + return {'size_{0}'.format(osd['name']): float(osd['kb'])}
314 +
315 @staticmethod
316 def _get_osd_latency(osd):
317 """
web/gui/dashboard_info.js
+4
@@ -1877,6 +1877,10 @@ netdataDashboard.context = {
1877 info: 'The usage space in each OSD.'
1878 },
1879
1880 + 'ceph.osd_size': {
1881 + info: "Each OSD's size"
1882 + },
1883 +
1884 'ceph.apply_latency': {
1885 info: 'Time taken to flush an update in each OSD.'
1886 },