Skip to content

Commit 2348e7a

Browse files
authored
Update global Ceph quick view dashboards (#37)
* Update global Ceph dashboards to Perses - Add units - Remove unnecessary columns - Add missing column Signed-off-by: Tatjana Dehler <tatjana.dehler@clyso.com> * ceph-capacity-quick-view: show per resource Show "Ceph Capacity" and "Ceph Quota" information on per region and resource level. Signed-off-by: Tatjana Dehler <tatjana.dehler@clyso.com> --------- Signed-off-by: Tatjana Dehler <tatjana.dehler@clyso.com>
1 parent c1eb6e8 commit 2348e7a

4 files changed

Lines changed: 192 additions & 83 deletions

File tree

charts/ceph-operations/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: ceph-operations
33
description: Ceph operations bundle
44
type: application
5-
version: 1.6.4
5+
version: 1.6.5
66
maintainers:
77
- name: sumitarora2786
88
- name: richardtief

charts/ceph-operations/perses-dashboards-global/ceph-capacity-quick-view.json

Lines changed: 172 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,26 @@
2525
"name": "region"
2626
},
2727
{
28+
"format": {
29+
"unit": "bytes"
30+
},
2831
"header": "Cluster Capacity",
2932
"name": "value #1"
3033
},
3134
{
32-
"header": "Resource Usage (%",
33-
"name": "value #3"
35+
"format": {
36+
"unit": "bytes"
37+
},
38+
"header": "Resource Usage",
39+
"name": "value #2"
3440
},
3541
{
42+
"format": {
43+
"unit": "percent-decimal"
44+
},
3645
"header": "Resource Usage (%)",
37-
"name": "value #4"
38-
},
39-
{
40-
"header": "Quota Size",
41-
"name": "value #2"
46+
"hide": false,
47+
"name": "value #3"
4248
},
4349
{
4450
"hide": true,
@@ -88,14 +94,6 @@
8894
"hide": true,
8995
"name": "prometheus"
9096
},
91-
{
92-
"hide": true,
93-
"name": "rgw_cluster_id"
94-
},
95-
{
96-
"header": "user",
97-
"name": "user"
98-
},
9997
{
10098
"hide": true,
10199
"name": "service"
@@ -110,7 +108,9 @@
110108
{
111109
"kind": "JoinByColumnValue",
112110
"spec": {
113-
"columns": ["region"]
111+
"columns": [
112+
"region"
113+
]
114114
}
115115
}
116116
]
@@ -171,95 +171,192 @@
171171
]
172172
}
173173
},
174-
"1": {
174+
"0-2": {
175175
"kind": "Panel",
176176
"spec": {
177177
"display": {
178-
"name": "Ceph Quota"
178+
"name": "Ceph Capacity Per Resource"
179179
},
180180
"plugin": {
181181
"kind": "Table",
182182
"spec": {
183+
"cellSettings": [],
183184
"columnSettings": [
184185
{
186+
"enableSorting": true,
185187
"header": "Region",
186-
"name": "region"
188+
"hide": false,
189+
"name": "region",
190+
"sort": "asc",
191+
"width": 75
187192
},
188193
{
189-
"header": "",
190-
"name": "Time 1"
194+
"header": "Name",
195+
"name": "region_name"
191196
},
192197
{
193-
"header": "Capacity",
198+
"format": {
199+
"unit": "bytes"
200+
},
201+
"header": "Resource Capacity",
194202
"name": "value #1"
195203
},
196204
{
197-
"header": "Quota Usage",
205+
"format": {
206+
"unit": "bytes"
207+
},
208+
"header": "Resource Usage",
198209
"name": "value #2"
199210
},
200211
{
201-
"header": "Unassigned Quota",
212+
"format": {
213+
"unit": "percent-decimal"
214+
},
215+
"header": "Resource Usage (%)",
216+
"hide": false,
202217
"name": "value #3"
203218
},
204219
{
205-
"header": "Resource Usage",
206-
"name": "value #4"
207-
},
208-
{
209-
"header": "Quota Usage %",
210-
"name": "value #5"
211-
},
212-
{
213-
"header": "Resource Usage %",
214-
"name": "value #6"
220+
"header": "Name",
221+
"hide": true,
222+
"name": "name"
215223
},
216224
{
217225
"hide": true,
218226
"name": "timestamp"
219-
},
227+
}
228+
],
229+
"density": "compact",
230+
"transforms": [
220231
{
221-
"hide": true,
222-
"name": "Time 1"
223-
},
232+
"kind": "MergeSeries",
233+
"spec": {
234+
"disabled": false
235+
}
236+
}
237+
]
238+
}
239+
},
240+
"queries": [
241+
{
242+
"kind": "TimeSeriesQuery",
243+
"spec": {
244+
"plugin": {
245+
"kind": "PrometheusTimeSeriesQuery",
246+
"spec": {
247+
"datasource": {
248+
"kind": "PrometheusDatasource"
249+
},
250+
"minStep": "",
251+
"query": "label_replace(\n sum by (region, name) (\n ceph_pool_metadata{name=~\"(.*).data\"} * on (region, pool_id) group_right(name) ceph_pool_max_avail\n )\n, \"region_name\", \"$1\", \"name\", \"(.*).rgw.buckets.data\")",
252+
"seriesNameFormat": ""
253+
}
254+
}
255+
}
256+
},
257+
{
258+
"kind": "TimeSeriesQuery",
259+
"spec": {
260+
"plugin": {
261+
"kind": "PrometheusTimeSeriesQuery",
262+
"spec": {
263+
"query": "label_replace(\n sum by (region, name) (\n ceph_pool_metadata{name=~\"(.*).data\"} * on (region, pool_id) group_right(name) ceph_pool_bytes_used\n )\n, \"region_name\", \"$1\", \"name\", \"(.*).rgw.buckets.data\")"
264+
}
265+
}
266+
}
267+
},
268+
{
269+
"kind": "TimeSeriesQuery",
270+
"spec": {
271+
"plugin": {
272+
"kind": "PrometheusTimeSeriesQuery",
273+
"spec": {
274+
"query": "label_replace(\n 1 - (\n sum by (region, name) (\n ceph_pool_metadata{name=~\"(.*).data\"} * on (region, pool_id) group_right(name) ceph_pool_max_avail\n ) -\n sum by (region, name) (\n ceph_pool_metadata{name=~\"(.*).data\"} * on (region, pool_id) group_right(name) ceph_pool_bytes_used\n )\n ) / \n sum by (region, name) (\n ceph_pool_metadata{name=~\"(.*).data\"} * on (region, pool_id) group_right(name) ceph_pool_max_avail\n )\n, \"region_name\", \"$1\", \"name\", \"(.*).rgw.buckets.data\")",
275+
"seriesNameFormat": ""
276+
}
277+
}
278+
}
279+
}
280+
]
281+
}
282+
},
283+
"1-1": {
284+
"kind": "Panel",
285+
"spec": {
286+
"display": {
287+
"name": "Ceph Quota by Resource"
288+
},
289+
"plugin": {
290+
"kind": "Table",
291+
"spec": {
292+
"columnSettings": [
224293
{
225-
"hide": true,
226-
"name": "Time 2"
294+
"enableSorting": true,
295+
"header": "Region",
296+
"hide": false,
297+
"name": "region",
298+
"sort": "asc",
299+
"width": 75
227300
},
228301
{
229-
"hide": true,
230-
"name": "Time 3"
302+
"header": "Resource",
303+
"name": "full_resource"
231304
},
232305
{
233-
"hide": true,
234-
"name": "Time 4"
306+
"format": {
307+
"unit": "bytes"
308+
},
309+
"header": "Capacity",
310+
"name": "value #1"
235311
},
236312
{
237-
"hide": true,
238-
"name": "Time 5"
313+
"format": {
314+
"unit": "bytes"
315+
},
316+
"header": "Quota Usage",
317+
"name": "value #2"
239318
},
240319
{
241-
"hide": true,
242-
"name": "Time 6"
320+
"format": {
321+
"unit": "bytes"
322+
},
323+
"header": "Unassigned Quota",
324+
"name": "value #3"
243325
},
244326
{
245-
"hide": false,
246-
"name": "Value #A"
327+
"format": {
328+
"unit": "bytes"
329+
},
330+
"header": "Resource Usage",
331+
"name": "value #4"
247332
},
248333
{
249-
"name": "Quota Usage %"
334+
"align": "left",
335+
"format": {
336+
"unit": "percent-decimal"
337+
},
338+
"header": "Quota Usage %",
339+
"name": "value #5"
250340
},
251341
{
252-
"name": "Resource Usage %"
342+
"format": {
343+
"unit": "percent-decimal"
344+
},
345+
"header": "Resource Usage %",
346+
"name": "value #6"
253347
},
254348
{
255-
"name": "Region"
349+
"hide": true,
350+
"name": "timestamp"
256351
}
257352
],
258353
"density": "compact",
259354
"transforms": [
260355
{
261356
"kind": "MergeSeries",
262-
"spec": {}
357+
"spec": {
358+
"disabled": false
359+
}
263360
}
264361
]
265362
}
@@ -271,11 +368,8 @@
271368
"plugin": {
272369
"kind": "PrometheusTimeSeriesQuery",
273370
"spec": {
274-
"datasource": {
275-
"kind": "PrometheusDatasource"
276-
},
277371
"minStep": "",
278-
"query": "(max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region))",
372+
"query": "max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\nmax(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)",
279373
"seriesNameFormat": ""
280374
}
281375
}
@@ -291,7 +385,7 @@
291385
"kind": "PrometheusDatasource"
292386
},
293387
"minStep": "",
294-
"query": "(sum(global:limes_consolidated_domain_quota{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region))",
388+
"query": "sum(global:limes_consolidated_domain_quota{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\nmax(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)",
295389
"seriesNameFormat": ""
296390
}
297391
}
@@ -307,7 +401,7 @@
307401
"kind": "PrometheusDatasource"
308402
},
309403
"minStep": "",
310-
"query": "(max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region)) -\n(sum(global:limes_consolidated_domain_quota{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region))",
404+
"query": "(\n max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)\n) - (\n sum(global:limes_consolidated_domain_quota{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)\n)",
311405
"seriesNameFormat": ""
312406
}
313407
}
@@ -323,7 +417,7 @@
323417
"kind": "PrometheusDatasource"
324418
},
325419
"minStep": "",
326-
"query": "(sum(global:limes_consolidated_domain_usage{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region))",
420+
"query": "sum(global:limes_consolidated_domain_usage{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\nmax(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)",
327421
"seriesNameFormat": ""
328422
}
329423
}
@@ -339,7 +433,7 @@
339433
"kind": "PrometheusDatasource"
340434
},
341435
"minStep": "",
342-
"query": "(sum(global:limes_consolidated_domain_quota{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region)) / (max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region))",
436+
"query": "(\n sum(global:limes_consolidated_domain_quota{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)\n) / (\n max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)\n)",
343437
"seriesNameFormat": ""
344438
}
345439
}
@@ -355,7 +449,7 @@
355449
"kind": "PrometheusDatasource"
356450
},
357451
"minStep": "",
358-
"query": "(sum(global:limes_consolidated_domain_usage{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region)) / (max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region))",
452+
"query": "(\n sum(global:limes_consolidated_domain_usage{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)\n) / (\n max(global:limes_consolidated_cluster_capacity{full_resource=~\"ceph/(.*)\"}) by (region, full_resource) *\n max(global:limes_consolidated_unit_multiplier{full_resource=~\"ceph/(.*)\"}) by (region, full_resource)\n)",
359453
"seriesNameFormat": ""
360454
}
361455
}
@@ -373,19 +467,28 @@
373467
{
374468
"x": 0,
375469
"y": 0,
376-
"width": 24,
377-
"height": 9,
470+
"width": 10,
471+
"height": 14,
378472
"content": {
379473
"$ref": "#/spec/panels/0"
380474
}
381475
},
382476
{
383477
"x": 0,
384-
"y": 9,
478+
"y": 14,
385479
"width": 24,
386-
"height": 16,
480+
"height": 24,
481+
"content": {
482+
"$ref": "#/spec/panels/1-1"
483+
}
484+
},
485+
{
486+
"x": 10,
487+
"y": 0,
488+
"width": 14,
489+
"height": 14,
387490
"content": {
388-
"$ref": "#/spec/panels/1"
491+
"$ref": "#/spec/panels/0-2"
389492
}
390493
}
391494
]
@@ -396,4 +499,4 @@
396499
"duration": "1h",
397500
"refreshInterval": "0s"
398501
}
399-
}
502+
}

0 commit comments

Comments
 (0)