]> git.proxmox.com Git - ceph.git/blame - ceph/monitoring/grafana/dashboards/host-details.json
buildsys: auto-determine current version for makefile
[ceph.git] / ceph / monitoring / grafana / dashboards / host-details.json
CommitLineData
11fdf7f2 1{
81eedcae 2 "__inputs": [],
11fdf7f2
TL
3 "__requires": [
4 {
5 "type": "grafana",
6 "id": "grafana",
7 "name": "Grafana",
81eedcae 8 "version": "5.3.2"
11fdf7f2
TL
9 },
10 {
11 "type": "panel",
12 "id": "graph",
13 "name": "Graph",
14 "version": "5.0.0"
15 },
16 {
17 "type": "panel",
18 "id": "singlestat",
19 "name": "Singlestat",
20 "version": "5.0.0"
21 }
22 ],
23 "annotations": {
24 "list": [
25 {
26 "builtIn": 1,
27 "datasource": "-- Grafana --",
28 "enable": true,
29 "hide": true,
30 "iconColor": "rgba(0, 211, 255, 1)",
31 "name": "Annotations & Alerts",
32 "type": "dashboard"
33 }
34 ]
35 },
36 "editable": false,
37 "gnetId": null,
38 "graphTooltip": 0,
39 "id": null,
81eedcae 40 "iteration": 1557386759572,
11fdf7f2
TL
41 "links": [
42 {
43 "asDropdown": true,
44 "icon": "external link",
45 "tags": [
46 "overview"
47 ],
48 "title": "Shortcuts",
49 "type": "dashboards"
50 }
51 ],
52 "panels": [
53 {
54 "gridPos": {
55 "h": 1,
56 "w": 24,
57 "x": 0,
58 "y": 0
59 },
60 "id": 16,
61 "title": "$ceph_hosts System Overview",
62 "type": "row"
63 },
64 {
65 "cacheTimeout": null,
66 "colorBackground": false,
67 "colorValue": false,
68 "colors": [
69 "rgba(245, 54, 54, 0.9)",
70 "rgba(237, 129, 40, 0.89)",
71 "rgba(50, 172, 45, 0.97)"
72 ],
73 "datasource": "$datasource",
74 "format": "none",
75 "gauge": {
76 "maxValue": 100,
77 "minValue": 0,
78 "show": false,
79 "thresholdLabels": false,
80 "thresholdMarkers": true
81 },
82 "gridPos": {
83 "h": 5,
84 "w": 3,
85 "x": 0,
86 "y": 1
87 },
88 "height": "160",
89 "id": 1,
90 "interval": null,
91 "links": [],
92 "mappingType": 1,
93 "mappingTypes": [
94 {
95 "name": "value to text",
96 "value": 1
97 },
98 {
99 "name": "range to text",
100 "value": 2
101 }
102 ],
103 "maxDataPoints": "",
104 "minSpan": 4,
105 "nullPointMode": "connected",
106 "nullText": null,
107 "postfix": "",
108 "postfixFontSize": "50%",
109 "prefix": "",
110 "prefixFontSize": "50%",
111 "rangeMaps": [
112 {
113 "from": "null",
114 "text": "N/A",
115 "to": "null"
116 }
117 ],
118 "sparkline": {
119 "fillColor": "rgba(31, 118, 189, 0.18)",
120 "full": false,
121 "lineColor": "rgb(31, 120, 193)",
122 "show": false
123 },
124 "tableColumn": "",
125 "targets": [
126 {
127 "expr": "count(sum by (ceph_daemon) (ceph_osd_metadata{hostname='$ceph_hosts'}))",
128 "format": "time_series",
129 "intervalFactor": 2,
130 "refId": "A",
131 "step": 40,
132 "textEditor": true
133 }
134 ],
135 "thresholds": "",
136 "title": "OSDs",
137 "type": "singlestat",
138 "valueFontSize": "80%",
139 "valueMaps": [
140 {
141 "op": "=",
142 "text": "N/A",
143 "value": "null"
144 }
145 ],
146 "valueName": "current"
147 },
148 {
149 "aliasColors": {
150 "interrupt": "#447EBC",
151 "steal": "#6D1F62",
152 "system": "#890F02",
153 "user": "#3F6833",
154 "wait": "#C15C17"
155 },
156 "bars": false,
157 "dashLength": 10,
158 "dashes": false,
159 "datasource": "$datasource",
160 "description": "Shows the CPU breakdown. When multiple servers are selected, only the first host's cpu data is shown",
81eedcae 161 "fill": 1,
11fdf7f2
TL
162 "gridPos": {
163 "h": 10,
164 "w": 6,
165 "x": 3,
166 "y": 1
167 },
168 "id": 9,
169 "legend": {
170 "alignAsTable": false,
171 "avg": false,
172 "current": false,
173 "max": false,
174 "min": false,
175 "show": true,
176 "total": false,
177 "values": false
178 },
179 "lines": true,
180 "linewidth": 1,
181 "links": [],
182 "minSpan": 12,
183 "nullPointMode": "null",
184 "percentage": false,
185 "pointradius": 5,
186 "points": false,
187 "renderer": "flot",
188 "repeat": null,
189 "seriesOverrides": [],
190 "spaceLength": 10,
191 "stack": true,
192 "steppedLine": false,
193 "targets": [
194 {
195 "expr": "sum by (mode) (\n irate(node_cpu{instance=~\"($ceph_hosts).*\", mode=~\"(irq|nice|softirq|steal|system|user|iowait)\"}[1m]) or\n irate(node_cpu_seconds_total{instance=~\"($ceph_hosts).*\", mode=~\"(irq|nice|softirq|steal|system|user|iowait)\"}[1m])\n) / scalar(\n sum(irate(node_cpu{instance=~\"($ceph_hosts).*\"}[1m]) or\n irate(node_cpu_seconds_total{instance=~\"($ceph_hosts).*\"}[1m]))\n) * 100",
196 "format": "time_series",
197 "intervalFactor": 2,
198 "legendFormat": "{{mode}}",
199 "refId": "A",
200 "step": 10,
201 "textEditor": true
202 }
203 ],
204 "thresholds": [],
205 "timeFrom": null,
206 "timeShift": null,
207 "title": "CPU Utilisation",
208 "tooltip": {
209 "shared": true,
210 "sort": 0,
211 "value_type": "individual"
212 },
213 "type": "graph",
214 "xaxis": {
215 "buckets": null,
216 "mode": "time",
217 "name": null,
218 "show": true,
219 "values": []
220 },
221 "yaxes": [
222 {
81eedcae
TL
223 "format": "percent",
224 "label": "% Utilization",
11fdf7f2
TL
225 "logBase": 1,
226 "max": "100",
81eedcae 227 "min": null,
11fdf7f2
TL
228 "show": true
229 },
230 {
231 "format": "short",
232 "label": null,
233 "logBase": 1,
234 "max": null,
235 "min": null,
236 "show": false
237 }
81eedcae
TL
238 ],
239 "yaxis": {
240 "align": false,
241 "alignLevel": null
242 }
11fdf7f2
TL
243 },
244 {
245 "aliasColors": {
246 "Available": "#508642",
247 "Free": "#508642",
248 "Total": "#bf1b00",
249 "Used": "#bf1b00",
250 "total": "#bf1b00",
251 "used": "#0a50a1"
252 },
253 "bars": false,
254 "dashLength": 10,
255 "dashes": false,
256 "datasource": "$datasource",
257 "fill": 1,
258 "gridPos": {
259 "h": 10,
260 "w": 6,
261 "x": 9,
262 "y": 1
263 },
264 "id": 14,
265 "legend": {
266 "avg": false,
267 "current": false,
268 "max": false,
269 "min": false,
270 "show": true,
271 "total": false,
272 "values": false
273 },
274 "lines": true,
275 "linewidth": 1,
276 "links": [],
277 "nullPointMode": "null",
278 "percentage": false,
279 "pointradius": 5,
280 "points": false,
281 "renderer": "flot",
282 "seriesOverrides": [
283 {
284 "alias": "total",
285 "color": "#bf1b00",
286 "fill": 0,
287 "linewidth": 2,
288 "stack": false
289 }
290 ],
291 "spaceLength": 10,
292 "stack": true,
293 "steppedLine": false,
294 "targets": [
295 {
296 "expr": "(node_memory_MemTotal{instance=~\"[[ceph_hosts]].*\"} or node_memory_MemTotal_bytes{instance=~\"[[ceph_hosts]].*\"})- (\n (node_memory_MemFree{instance=~\"[[ceph_hosts]].*\"} or node_memory_MemFree_bytes{instance=~\"[[ceph_hosts]].*\"}) + \n (node_memory_Cached{instance=~\"[[ceph_hosts]].*\"} or node_memory_Cached_bytes{instance=~\"[[ceph_hosts]].*\"}) + \n (node_memory_Buffers{instance=~\"[[ceph_hosts]].*\"} or node_memory_Buffers_bytes{instance=~\"[[ceph_hosts]].*\"}) +\n (node_memory_Slab{instance=~\"[[ceph_hosts]].*\"} or node_memory_Slab_bytes{instance=~\"[[ceph_hosts]].*\"})\n )\n \n",
297 "format": "time_series",
298 "intervalFactor": 1,
299 "legendFormat": "used",
300 "refId": "D"
301 },
302 {
303 "expr": "node_memory_MemFree{instance=~\"[[ceph_hosts]].*\"} or node_memory_MemFree_bytes{instance=~\"[[ceph_hosts]].*\"} ",
304 "format": "time_series",
305 "hide": false,
306 "intervalFactor": 1,
307 "legendFormat": "Free",
308 "refId": "A"
309 },
310 {
311 "expr": "(node_memory_Cached{instance=~\"[[ceph_hosts]].*\"} or node_memory_Cached_bytes{instance=~\"[[ceph_hosts]].*\"}) + \n(node_memory_Buffers{instance=~\"[[ceph_hosts]].*\"} or node_memory_Buffers_bytes{instance=~\"[[ceph_hosts]].*\"}) +\n(node_memory_Slab{instance=~\"[[ceph_hosts]].*\"} or node_memory_Slab_bytes{instance=~\"[[ceph_hosts]].*\"}) \n",
312 "format": "time_series",
313 "hide": false,
314 "intervalFactor": 1,
315 "legendFormat": "buffers/cache",
316 "refId": "C"
317 },
318 {
319 "expr": "node_memory_MemTotal{instance=~\"[[ceph_hosts]].*\"} or node_memory_MemTotal_bytes{instance=~\"[[ceph_hosts]].*\"} ",
320 "format": "time_series",
321 "hide": false,
322 "intervalFactor": 1,
323 "legendFormat": "total",
324 "refId": "B"
325 }
326 ],
327 "thresholds": [],
328 "timeFrom": null,
329 "timeShift": null,
330 "title": "RAM Usage",
331 "tooltip": {
332 "shared": true,
333 "sort": 0,
334 "value_type": "individual"
335 },
336 "type": "graph",
337 "xaxis": {
338 "buckets": null,
339 "mode": "time",
340 "name": null,
341 "show": true,
342 "values": []
343 },
344 "yaxes": [
345 {
346 "format": "bytes",
81eedcae 347 "label": "RAM used",
11fdf7f2
TL
348 "logBase": 1,
349 "max": null,
350 "min": "0",
351 "show": true
352 },
353 {
354 "format": "short",
355 "label": null,
356 "logBase": 1,
357 "max": null,
358 "min": null,
359 "show": false
360 }
81eedcae
TL
361 ],
362 "yaxis": {
363 "align": false,
364 "alignLevel": null
365 }
11fdf7f2
TL
366 },
367 {
368 "aliasColors": {},
369 "bars": false,
370 "dashLength": 10,
371 "dashes": false,
372 "datasource": "$datasource",
373 "description": "Show the network load (rx,tx) across all interfaces (excluding loopback 'lo')",
81eedcae 374 "fill": 0,
11fdf7f2
TL
375 "gridPos": {
376 "h": 10,
377 "w": 6,
378 "x": 15,
379 "y": 1
380 },
381 "id": 10,
382 "legend": {
383 "alignAsTable": false,
384 "avg": false,
385 "current": false,
386 "hideZero": true,
387 "max": false,
388 "min": false,
389 "rightSide": false,
390 "show": true,
391 "total": false,
392 "values": false
393 },
394 "lines": true,
395 "linewidth": 1,
396 "links": [],
397 "minSpan": 12,
398 "nullPointMode": "null",
399 "percentage": false,
400 "pointradius": 5,
401 "points": false,
402 "renderer": "flot",
81eedcae
TL
403 "seriesOverrides": [
404 {
405 "alias": "/.*tx/",
406 "transform": "negative-Y"
407 }
408 ],
11fdf7f2 409 "spaceLength": 10,
81eedcae 410 "stack": false,
11fdf7f2
TL
411 "steppedLine": false,
412 "targets": [
413 {
414 "expr": "sum by (device) (\n irate(node_network_receive_bytes{instance=~\"($ceph_hosts).*\",device!=\"lo\"}[1m]) or \n irate(node_network_receive_bytes_total{instance=~\"($ceph_hosts).*\",device!=\"lo\"}[1m])\n)",
415 "format": "time_series",
416 "intervalFactor": 1,
417 "legendFormat": "{{device}}.rx",
418 "refId": "A",
419 "step": 10,
420 "textEditor": true
421 },
422 {
423 "expr": "sum by (device) (\n irate(node_network_transmit_bytes{instance=~\"($ceph_hosts).*\",device!=\"lo\"}[1m]) or\n irate(node_network_transmit_bytes_total{instance=~\"($ceph_hosts).*\",device!=\"lo\"}[1m])\n)",
424 "format": "time_series",
425 "intervalFactor": 1,
426 "legendFormat": "{{device}}.tx",
427 "refId": "B",
428 "step": 10
429 }
430 ],
431 "thresholds": [],
432 "timeFrom": null,
433 "timeShift": null,
434 "title": "Network Load",
435 "tooltip": {
436 "shared": true,
437 "sort": 0,
438 "value_type": "individual"
439 },
440 "type": "graph",
441 "xaxis": {
442 "buckets": null,
443 "mode": "time",
444 "name": null,
445 "show": true,
446 "values": []
447 },
448 "yaxes": [
449 {
450 "format": "decbytes",
81eedcae 451 "label": "Send (-) / Receive (+)",
11fdf7f2
TL
452 "logBase": 1,
453 "max": null,
81eedcae 454 "min": null,
11fdf7f2
TL
455 "show": true
456 },
457 {
458 "format": "short",
459 "label": null,
460 "logBase": 1,
461 "max": null,
462 "min": null,
463 "show": false
464 }
81eedcae
TL
465 ],
466 "yaxis": {
467 "align": false,
468 "alignLevel": null
469 }
11fdf7f2
TL
470 },
471 {
472 "aliasColors": {},
473 "bars": false,
474 "dashLength": 10,
475 "dashes": false,
476 "datasource": "$datasource",
81eedcae 477 "fill": 0,
11fdf7f2
TL
478 "gridPos": {
479 "h": 5,
480 "w": 3,
481 "x": 21,
482 "y": 1
483 },
484 "hideTimeOverride": true,
485 "id": 18,
486 "legend": {
487 "avg": false,
488 "current": false,
489 "max": false,
490 "min": false,
491 "show": false,
492 "total": false,
493 "values": false
494 },
495 "lines": true,
496 "linewidth": 1,
497 "links": [],
498 "nullPointMode": "null",
499 "percentage": false,
500 "pointradius": 5,
501 "points": false,
502 "renderer": "flot",
81eedcae
TL
503 "seriesOverrides": [
504 {
505 "alias": "/.*tx/",
506 "transform": "negative-Y"
507 }
508 ],
11fdf7f2
TL
509 "spaceLength": 10,
510 "stack": false,
511 "steppedLine": false,
512 "targets": [
513 {
81eedcae 514 "expr": "irate(node_network_receive_drop{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_receive_drop_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
11fdf7f2
TL
515 "format": "time_series",
516 "instant": false,
517 "intervalFactor": 1,
81eedcae 518 "legendFormat": "{{device}}.rx",
11fdf7f2 519 "refId": "A"
81eedcae
TL
520 },
521 {
522 "expr": "irate(node_network_transmit_drop{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_transmit_drop_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
523 "format": "time_series",
524 "intervalFactor": 1,
525 "legendFormat": "{{device}}.tx",
526 "refId": "B"
11fdf7f2
TL
527 }
528 ],
529 "thresholds": [],
530 "timeFrom": "15m",
531 "timeShift": null,
81eedcae 532 "title": "Network drop rate",
11fdf7f2
TL
533 "tooltip": {
534 "shared": true,
535 "sort": 0,
536 "value_type": "individual"
537 },
538 "type": "graph",
539 "xaxis": {
540 "buckets": null,
541 "mode": "time",
542 "name": null,
543 "show": true,
544 "values": []
545 },
546 "yaxes": [
547 {
81eedcae
TL
548 "format": "pps",
549 "label": "Send (-) / Receive (+)",
11fdf7f2
TL
550 "logBase": 1,
551 "max": null,
552 "min": "0",
553 "show": true
554 },
555 {
556 "format": "short",
557 "label": null,
558 "logBase": 1,
559 "max": null,
560 "min": null,
561 "show": false
562 }
81eedcae
TL
563 ],
564 "yaxis": {
565 "align": false,
566 "alignLevel": null
567 }
11fdf7f2
TL
568 },
569 {
570 "cacheTimeout": null,
571 "colorBackground": false,
572 "colorValue": false,
573 "colors": [
574 "rgba(245, 54, 54, 0.9)",
575 "rgba(237, 129, 40, 0.89)",
576 "rgba(50, 172, 45, 0.97)"
577 ],
578 "datasource": "$datasource",
579 "decimals": 0,
580 "description": "Each OSD consists of a Journal/WAL partition and a data partition. The RAW Capacity shown is the sum of the data partitions across all OSDs on the selected OSD hosts.",
581 "format": "bytes",
582 "gauge": {
583 "maxValue": 100,
584 "minValue": 0,
585 "show": false,
586 "thresholdLabels": false,
587 "thresholdMarkers": true
588 },
589 "gridPos": {
590 "h": 5,
591 "w": 3,
592 "x": 0,
593 "y": 6
594 },
595 "height": "160",
596 "id": 2,
597 "interval": null,
598 "links": [],
599 "mappingType": 1,
600 "mappingTypes": [
601 {
602 "name": "value to text",
603 "value": 1
604 },
605 {
606 "name": "range to text",
607 "value": 2
608 }
609 ],
610 "maxDataPoints": "",
611 "minSpan": 4,
612 "nullPointMode": "connected",
613 "nullText": null,
614 "postfix": "",
615 "postfixFontSize": "50%",
616 "prefix": "",
617 "prefixFontSize": "50%",
618 "rangeMaps": [
619 {
620 "from": "null",
621 "text": "N/A",
622 "to": "null"
623 }
624 ],
625 "sparkline": {
626 "fillColor": "rgba(31, 118, 189, 0.18)",
627 "full": false,
628 "lineColor": "rgb(31, 120, 193)",
629 "show": false
630 },
631 "tableColumn": "",
632 "targets": [
633 {
81eedcae 634 "expr": "sum(ceph_osd_stat_bytes and on (ceph_daemon) ceph_disk_occupation{exported_instance=~\"($ceph_hosts).*\"})",
11fdf7f2
TL
635 "format": "time_series",
636 "intervalFactor": 2,
637 "refId": "A",
638 "step": 40,
639 "textEditor": true
640 }
641 ],
642 "thresholds": "",
643 "title": "Raw Capacity",
644 "type": "singlestat",
645 "valueFontSize": "80%",
646 "valueMaps": [
647 {
648 "op": "=",
649 "text": "N/A",
650 "value": "null"
651 }
652 ],
653 "valueName": "current"
654 },
655 {
656 "aliasColors": {},
657 "bars": false,
658 "dashLength": 10,
659 "dashes": false,
660 "datasource": "$datasource",
81eedcae 661 "fill": 0,
11fdf7f2
TL
662 "gridPos": {
663 "h": 5,
664 "w": 3,
665 "x": 21,
666 "y": 6
667 },
668 "hideTimeOverride": true,
669 "id": 19,
670 "legend": {
671 "avg": false,
672 "current": false,
673 "max": false,
674 "min": false,
675 "show": false,
676 "total": false,
677 "values": false
678 },
679 "lines": true,
680 "linewidth": 1,
681 "links": [],
682 "nullPointMode": "null",
683 "percentage": false,
684 "pointradius": 5,
685 "points": false,
686 "renderer": "flot",
81eedcae
TL
687 "seriesOverrides": [
688 {
689 "alias": "/.*tx/",
690 "transform": "negative-Y"
691 }
692 ],
11fdf7f2
TL
693 "spaceLength": 10,
694 "stack": false,
695 "steppedLine": false,
696 "targets": [
697 {
81eedcae 698 "expr": "irate(node_network_receive_errs{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_receive_errs_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
11fdf7f2
TL
699 "format": "time_series",
700 "instant": false,
701 "intervalFactor": 1,
81eedcae 702 "legendFormat": "{{device}}.rx",
11fdf7f2 703 "refId": "A"
81eedcae
TL
704 },
705 {
706 "expr": "irate(node_network_transmit_errs{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_transmit_errs_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
707 "format": "time_series",
708 "intervalFactor": 1,
709 "legendFormat": "{{device}}.tx",
710 "refId": "B"
11fdf7f2
TL
711 }
712 ],
713 "thresholds": [],
714 "timeFrom": "15m",
715 "timeShift": null,
81eedcae 716 "title": "Network error rate",
11fdf7f2
TL
717 "tooltip": {
718 "shared": true,
719 "sort": 0,
720 "value_type": "individual"
721 },
722 "type": "graph",
723 "xaxis": {
724 "buckets": null,
725 "mode": "time",
726 "name": null,
727 "show": true,
728 "values": []
729 },
730 "yaxes": [
731 {
81eedcae
TL
732 "format": "pps",
733 "label": "Send (-) / Receive (+)",
11fdf7f2
TL
734 "logBase": 1,
735 "max": null,
736 "min": "0",
737 "show": true
738 },
739 {
740 "format": "short",
741 "label": null,
742 "logBase": 1,
743 "max": null,
744 "min": null,
745 "show": false
746 }
81eedcae
TL
747 ],
748 "yaxis": {
749 "align": false,
750 "alignLevel": null
751 }
11fdf7f2
TL
752 },
753 {
81eedcae 754 "collapsed": false,
11fdf7f2
TL
755 "gridPos": {
756 "h": 1,
757 "w": 24,
758 "x": 0,
759 "y": 11
760 },
761 "id": 12,
81eedcae
TL
762 "panels": [],
763 "repeat": null,
764 "title": "OSD Disk Performance Statistics",
765 "type": "row"
766 },
767 {
768 "aliasColors": {},
769 "bars": false,
770 "dashLength": 10,
771 "dashes": false,
772 "datasource": "$datasource",
773 "description": "For any OSD devices on the host, this chart shows the iops per physical device. Each device is shown by it's name and corresponding OSD id value",
774 "fill": 1,
775 "gridPos": {
776 "h": 9,
777 "w": 11,
778 "x": 0,
779 "y": 12
780 },
781 "id": 6,
782 "legend": {
783 "avg": false,
784 "current": false,
785 "max": false,
786 "min": false,
787 "show": true,
788 "total": false,
789 "values": false
790 },
791 "lines": true,
792 "linewidth": 1,
793 "links": [],
794 "minSpan": 12,
795 "nullPointMode": "connected",
796 "percentage": false,
797 "pointradius": 5,
798 "points": false,
799 "renderer": "flot",
800 "seriesOverrides": [
11fdf7f2 801 {
81eedcae
TL
802 "alias": "/.*reads/",
803 "transform": "negative-Y"
804 }
805 ],
806 "spaceLength": 10,
807 "stack": false,
808 "steppedLine": false,
809 "targets": [
810 {
811 "expr": "(irate(node_disk_writes_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
812 "format": "time_series",
813 "intervalFactor": 1,
814 "legendFormat": "{{device}}({{ceph_daemon}}) writes",
815 "refId": "A",
816 "step": 10,
817 "textEditor": true
11fdf7f2
TL
818 },
819 {
81eedcae
TL
820 "expr": "(irate(node_disk_reads_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_reads_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
821 "format": "time_series",
822 "hide": false,
823 "intervalFactor": 1,
824 "legendFormat": "{{device}}({{ceph_daemon}}) reads",
825 "refId": "B"
826 }
827 ],
828 "thresholds": [],
829 "timeFrom": null,
830 "timeShift": null,
831 "title": "$ceph_hosts Disk IOPS",
832 "tooltip": {
833 "shared": true,
834 "sort": 2,
835 "value_type": "individual"
836 },
837 "type": "graph",
838 "xaxis": {
839 "buckets": null,
840 "mode": "time",
841 "name": null,
842 "show": true,
843 "values": []
844 },
845 "yaxes": [
846 {
847 "format": "ops",
848 "label": "Read (-) / Write (+)",
849 "logBase": 1,
850 "max": null,
851 "min": "0",
852 "show": true
11fdf7f2
TL
853 },
854 {
81eedcae
TL
855 "format": "short",
856 "label": null,
857 "logBase": 1,
858 "max": null,
859 "min": null,
860 "show": false
861 }
862 ],
863 "yaxis": {
864 "align": false,
865 "alignLevel": null
866 }
867 },
868 {
869 "aliasColors": {},
870 "bars": false,
871 "dashLength": 10,
872 "dashes": false,
873 "datasource": "$datasource",
874 "description": "For OSD hosts, this chart shows the disk bandwidth (read bytes/sec + write bytes/sec) of the physical OSD device. Each device is shown by device name, and corresponding OSD id",
875 "fill": 1,
876 "gridPos": {
877 "h": 9,
878 "w": 11,
879 "x": 12,
880 "y": 12
881 },
882 "id": 8,
883 "legend": {
884 "avg": false,
885 "current": false,
886 "max": false,
887 "min": false,
888 "show": true,
889 "total": false,
890 "values": false
891 },
892 "lines": true,
893 "linewidth": 1,
894 "links": [],
895 "minSpan": 12,
896 "nullPointMode": "connected",
897 "percentage": false,
898 "pointradius": 5,
899 "points": false,
900 "renderer": "flot",
901 "seriesOverrides": [
902 {
903 "alias": "/.*read/",
904 "transform": "negative-Y"
905 }
906 ],
907 "spaceLength": 10,
908 "stack": false,
909 "steppedLine": false,
910 "targets": [
911 {
912 "expr": "(irate(node_disk_bytes_written{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_written_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
913 "format": "time_series",
914 "intervalFactor": 1,
915 "legendFormat": "{{device}}({{ceph_daemon}}) write",
916 "refId": "B"
11fdf7f2
TL
917 },
918 {
81eedcae
TL
919 "expr": "(irate(node_disk_bytes_read{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_read_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
920 "format": "time_series",
921 "intervalFactor": 1,
922 "legendFormat": "{{device}}({{ceph_daemon}}) read",
923 "refId": "C"
11fdf7f2
TL
924 }
925 ],
81eedcae
TL
926 "thresholds": [],
927 "timeFrom": null,
928 "timeShift": null,
929 "title": "$ceph_hosts Throughput by Disk",
930 "tooltip": {
931 "shared": true,
932 "sort": 2,
933 "value_type": "individual"
934 },
935 "type": "graph",
936 "xaxis": {
937 "buckets": null,
938 "mode": "time",
939 "name": null,
940 "show": true,
941 "values": []
942 },
943 "yaxes": [
944 {
945 "format": "Bps",
946 "label": "Read (-) / Write (+)",
947 "logBase": 1,
948 "max": null,
949 "min": "0",
950 "show": true
951 },
952 {
953 "format": "short",
954 "label": null,
955 "logBase": 1,
956 "max": null,
957 "min": null,
958 "show": false
959 }
960 ],
961 "yaxis": {
962 "align": false,
963 "alignLevel": null
964 }
965 },
966 {
967 "aliasColors": {},
968 "bars": false,
969 "dashLength": 10,
970 "dashes": false,
971 "datasource": "$datasource",
972 "description": "For OSD hosts, this chart shows the latency at the physical drive. Each drive is shown by device name, with it's corresponding OSD id",
973 "fill": 1,
974 "gridPos": {
975 "h": 9,
976 "w": 11,
977 "x": 0,
978 "y": 21
979 },
980 "id": 7,
981 "legend": {
982 "avg": false,
983 "current": false,
984 "max": false,
985 "min": false,
986 "show": true,
987 "total": false,
988 "values": false
989 },
990 "lines": true,
991 "linewidth": 1,
992 "links": [],
993 "minSpan": 12,
994 "nullPointMode": "null as zero",
995 "percentage": false,
996 "pointradius": 5,
997 "points": false,
998 "renderer": "flot",
999 "seriesOverrides": [],
1000 "spaceLength": 10,
1001 "stack": false,
1002 "steppedLine": false,
1003 "targets": [
1004 {
1005 "expr": "max by(instance,device) (((\n (irate(node_disk_write_time_ms{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_writes_completed{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or \n (irate(node_disk_read_time_ms{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_reads_completed{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)\n ) / 1000) or\n (irate(node_disk_write_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_writes_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or \n (irate(node_disk_read_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_reads_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)\n ) *\n on(instance,device) group_left(osd_id) label_replace(ceph_disk_occupation,\"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")",
1006 "format": "time_series",
1007 "hide": false,
1008 "intervalFactor": 1,
1009 "legendFormat": "{{device}}({{osd_id}})",
1010 "refId": "D"
1011 }
1012 ],
1013 "thresholds": [],
1014 "timeFrom": null,
1015 "timeShift": null,
1016 "title": "$ceph_hosts Disk Latency",
1017 "tooltip": {
1018 "shared": true,
1019 "sort": 2,
1020 "value_type": "individual"
1021 },
1022 "type": "graph",
1023 "xaxis": {
1024 "buckets": null,
1025 "mode": "time",
1026 "name": null,
1027 "show": true,
1028 "values": []
1029 },
1030 "yaxes": [
1031 {
1032 "format": "s",
1033 "label": "",
1034 "logBase": 1,
1035 "max": null,
1036 "min": "0",
1037 "show": true
1038 },
1039 {
1040 "format": "short",
1041 "label": null,
1042 "logBase": 1,
1043 "max": null,
1044 "min": null,
1045 "show": true
1046 }
1047 ],
1048 "yaxis": {
1049 "align": false,
1050 "alignLevel": null
1051 }
1052 },
1053 {
1054 "aliasColors": {},
1055 "bars": false,
1056 "dashLength": 10,
1057 "dashes": false,
1058 "datasource": "$datasource",
1059 "description": "Show disk utilization % (util) of any OSD devices on the host by the physical device name and associated OSD id.",
1060 "fill": 1,
1061 "gridPos": {
1062 "h": 9,
1063 "w": 11,
1064 "x": 12,
1065 "y": 21
1066 },
1067 "id": 5,
1068 "legend": {
1069 "avg": false,
1070 "current": false,
1071 "max": false,
1072 "min": false,
1073 "show": true,
1074 "total": false,
1075 "values": false
1076 },
1077 "lines": true,
1078 "linewidth": 1,
1079 "links": [],
1080 "minSpan": 12,
1081 "nullPointMode": "connected",
1082 "percentage": false,
1083 "pointradius": 5,
1084 "points": false,
1085 "renderer": "flot",
1086 "seriesOverrides": [],
1087 "spaceLength": 10,
1088 "stack": false,
1089 "steppedLine": false,
1090 "targets": [
1091 {
1092 "expr": "(\n (irate(node_disk_io_time_ms[5m]) / 10 ) or\n irate(node_disk_io_time_seconds_total[5m]) * 100)\n* on(instance, device) group_left(osd_id) label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")\n",
1093 "format": "time_series",
1094 "hide": false,
1095 "intervalFactor": 1,
1096 "legendFormat": "{{device}}({{osd_id}})",
1097 "refId": "C",
1098 "step": 10,
1099 "textEditor": true
1100 },
1101 {
1102 "expr": "(irate(node_disk_io_time_ms{instance=~\"($ceph_hosts).*\"}[5m] * 1000) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
1103 "format": "time_series",
1104 "intervalFactor": 1,
1105 "refId": "A"
1106 }
1107 ],
1108 "thresholds": [],
1109 "timeFrom": null,
1110 "timeShift": null,
1111 "title": "$ceph_hosts Disk utilisation",
1112 "tooltip": {
1113 "shared": true,
1114 "sort": 2,
1115 "value_type": "individual"
1116 },
1117 "type": "graph",
1118 "xaxis": {
1119 "buckets": null,
1120 "mode": "time",
1121 "name": null,
1122 "show": true,
1123 "values": []
1124 },
1125 "yaxes": [
1126 {
1127 "format": "short",
1128 "label": "%Util",
1129 "logBase": 1,
1130 "max": "100",
1131 "min": "0",
1132 "show": true
1133 },
1134 {
1135 "format": "short",
1136 "label": null,
1137 "logBase": 1,
1138 "max": null,
1139 "min": null,
1140 "show": false
1141 }
1142 ],
1143 "yaxis": {
1144 "align": false,
1145 "alignLevel": null
1146 }
11fdf7f2
TL
1147 }
1148 ],
1149 "refresh": "10s",
1150 "schemaVersion": 16,
1151 "style": "dark",
1152 "tags": [
1153 "overview"
1154 ],
1155 "templating": {
1156 "list": [
1157 {
1158 "current": {
11fdf7f2
TL
1159 "text": "default",
1160 "value": "default"
1161 },
1162 "hide": 0,
1163 "label": "Data Source",
1164 "name": "datasource",
1165 "options": [],
1166 "query": "prometheus",
1167 "refresh": 1,
1168 "regex": "",
81eedcae 1169 "skipUrlSync": false,
11fdf7f2
TL
1170 "type": "datasource"
1171 },
1172 {
1173 "allValue": null,
1174 "current": {},
1175 "datasource": "$datasource",
1176 "hide": 0,
1177 "includeAll": false,
1178 "label": "Hostname",
1179 "multi": false,
1180 "name": "ceph_hosts",
1181 "options": [],
1182 "query": "label_values(node_scrape_collector_success, instance) ",
1183 "refresh": 1,
81eedcae
TL
1184 "regex": "([^:]*).*",
1185 "skipUrlSync": false,
11fdf7f2
TL
1186 "sort": 3,
1187 "tagValuesQuery": "",
1188 "tags": [],
1189 "tagsQuery": "",
1190 "type": "query",
1191 "useTags": false
1192 }
1193 ]
1194 },
1195 "time": {
1196 "from": "now-1h",
1197 "to": "now"
1198 },
1199 "timepicker": {
1200 "refresh_intervals": [
1201 "5s",
1202 "10s",
1203 "30s",
1204 "1m",
1205 "5m",
1206 "15m",
1207 "30m",
1208 "1h",
1209 "2h",
1210 "1d"
1211 ],
1212 "time_options": [
1213 "5m",
1214 "15m",
1215 "1h",
1216 "6h",
1217 "12h",
1218 "24h",
1219 "2d",
1220 "7d",
1221 "30d"
1222 ]
1223 },
1224 "timezone": "browser",
1225 "title": "Host Details",
81eedcae
TL
1226 "uid": "rtOg0AiWz",
1227 "version": 3
11fdf7f2 1228}