Update K8s Monitoring
[osm/devops.git] / installers / k8s / mongodb-exporter-dashboard.yaml
1 #   Copyright 2019 Minsait - Indra S.A.
2 #
3 #   Licensed under the Apache License, Version 2.0 (the "License");
4 #   you may not use this file except in compliance with the License.
5 #   You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #   Unless required by applicable law or agreed to in writing, software
10 #   distributed under the License is distributed on an "AS IS" BASIS,
11 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #   See the License for the specific language governing permissions and
13 #   limitations under the License.
14 #   Author: Jose Manuel Palacios (jmpalacios@minsait.com)
15 #   Author: Jose Antonio Martinez (jamartinezv@minsait.com)
16
17 apiVersion: v1
18 kind: ConfigMap
19 metadata:
20   labels:
21     app: prometheus-mongodb-exporter-grafana
22     grafana_dashboard: "1"
23   name: osm-monitoring-prometheus-mongodb-exporter-grafana
24   annotations:
25     k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
26 data:
27   mongodb-exporter-dashboard.json: |-
28     {
29       "annotations": {
30         "list": [
31           {
32             "builtIn": 1,
33             "datasource": "-- Grafana --",
34             "enable": true,
35             "hide": true,
36             "iconColor": "rgba(0, 211, 255, 1)",
37             "name": "Annotations & Alerts",
38             "type": "dashboard"
39           }
40         ]
41       },
42       "description": "MongoDB Prometheus Exporter Dashboard.",
43       "editable": true,
44       "gnetId": 2583,
45       "graphTooltip": 1,
46       "id": 9,
47       "iteration": 1577555358996,
48       "links": [],
49       "panels": [
50         {
51           "collapsed": false,
52           "gridPos": {
53             "h": 1,
54             "w": 24,
55             "x": 0,
56             "y": 0
57           },
58           "id": 22,
59           "panels": [],
60           "repeat": "env",
61           "title": "Health",
62           "type": "row"
63         },
64         {
65           "cacheTimeout": null,
66           "colorBackground": false,
67           "colorValue": true,
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": "Prometheus",
74           "decimals": null,
75           "format": "s",
76           "gauge": {
77             "maxValue": 100,
78             "minValue": 0,
79             "show": false,
80             "thresholdLabels": false,
81             "thresholdMarkers": true
82           },
83           "gridPos": {
84             "h": 4,
85             "w": 12,
86             "x": 0,
87             "y": 1
88           },
89           "id": 10,
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": 100,
104           "nullPointMode": "connected",
105           "nullText": null,
106           "options": {},
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": "mongodb_instance_uptime_seconds{instance=~\"$instance\"}",
128               "format": "time_series",
129               "intervalFactor": 2,
130               "legendFormat": "",
131               "refId": "A",
132               "step": 1800
133             }
134           ],
135           "thresholds": "0,360",
136           "title": "Uptime",
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           "cacheTimeout": null,
150           "colorBackground": false,
151           "colorValue": false,
152           "colors": [
153             "rgba(245, 54, 54, 0.9)",
154             "rgba(237, 129, 40, 0.89)",
155             "rgba(50, 172, 45, 0.97)"
156           ],
157           "datasource": "Prometheus",
158           "format": "none",
159           "gauge": {
160             "maxValue": 100,
161             "minValue": 0,
162             "show": false,
163             "thresholdLabels": false,
164             "thresholdMarkers": true
165           },
166           "gridPos": {
167             "h": 4,
168             "w": 12,
169             "x": 12,
170             "y": 1
171           },
172           "id": 1,
173           "interval": null,
174           "links": [],
175           "mappingType": 1,
176           "mappingTypes": [
177             {
178               "name": "value to text",
179               "value": 1
180             },
181             {
182               "name": "range to text",
183               "value": 2
184             }
185           ],
186           "maxDataPoints": 100,
187           "nullPointMode": "connected",
188           "nullText": null,
189           "options": {},
190           "postfix": "",
191           "postfixFontSize": "50%",
192           "prefix": "",
193           "prefixFontSize": "50%",
194           "rangeMaps": [
195             {
196               "from": "null",
197               "text": "N/A",
198               "to": "null"
199             }
200           ],
201           "sparkline": {
202             "fillColor": "rgba(31, 118, 189, 0.18)",
203             "full": true,
204             "lineColor": "rgb(31, 120, 193)",
205             "show": true
206           },
207           "tableColumn": "",
208           "targets": [
209             {
210               "expr": "mongodb_connections{instance=~\"$instance\",state=\"current\"}",
211               "format": "time_series",
212               "intervalFactor": 2,
213               "legendFormat": "",
214               "metric": "mongodb_connections",
215               "refId": "A",
216               "step": 1800
217             }
218           ],
219           "thresholds": "",
220           "title": "Open Connections",
221           "type": "singlestat",
222           "valueFontSize": "80%",
223           "valueMaps": [
224             {
225               "op": "=",
226               "text": "N/A",
227               "value": "null"
228             }
229           ],
230           "valueName": "avg"
231         },
232         {
233           "collapsed": false,
234           "gridPos": {
235             "h": 1,
236             "w": 24,
237             "x": 0,
238             "y": 5
239           },
240           "id": 20,
241           "panels": [],
242           "repeat": "env",
243           "title": "Operations",
244           "type": "row"
245         },
246         {
247           "aliasColors": {},
248           "bars": false,
249           "dashLength": 10,
250           "dashes": false,
251           "datasource": "Prometheus",
252           "fill": 1,
253           "fillGradient": 0,
254           "gridPos": {
255             "h": 6,
256             "w": 10,
257             "x": 0,
258             "y": 6
259           },
260           "id": 7,
261           "legend": {
262             "avg": false,
263             "current": false,
264             "max": false,
265             "min": false,
266             "show": true,
267             "total": false,
268             "values": false
269           },
270           "lines": true,
271           "linewidth": 1,
272           "links": [],
273           "nullPointMode": "null",
274           "options": {
275             "dataLinks": []
276           },
277           "percentage": false,
278           "pointradius": 5,
279           "points": false,
280           "renderer": "flot",
281           "seriesOverrides": [],
282           "spaceLength": 10,
283           "stack": false,
284           "steppedLine": false,
285           "targets": [
286             {
287               "expr": "rate(mongodb_op_counters_total{instance=~\"$instance\"}[$interval])",
288               "format": "time_series",
289               "interval": "",
290               "intervalFactor": 2,
291               "legendFormat": "{{type}}",
292               "refId": "A",
293               "step": 240
294             }
295           ],
296           "thresholds": [],
297           "timeFrom": null,
298           "timeRegions": [],
299           "timeShift": null,
300           "title": "Query Operations",
301           "tooltip": {
302             "shared": true,
303             "sort": 0,
304             "value_type": "individual"
305           },
306           "type": "graph",
307           "xaxis": {
308             "buckets": null,
309             "mode": "time",
310             "name": null,
311             "show": true,
312             "values": []
313           },
314           "yaxes": [
315             {
316               "format": "ops",
317               "label": null,
318               "logBase": 1,
319               "max": null,
320               "min": null,
321               "show": true
322             },
323             {
324               "format": "short",
325               "label": null,
326               "logBase": 1,
327               "max": null,
328               "min": null,
329               "show": true
330             }
331           ],
332           "yaxis": {
333             "align": false,
334             "alignLevel": null
335           }
336         },
337         {
338           "aliasColors": {},
339           "bars": false,
340           "dashLength": 10,
341           "dashes": false,
342           "datasource": "Prometheus",
343           "fill": 1,
344           "fillGradient": 0,
345           "gridPos": {
346             "h": 6,
347             "w": 8,
348             "x": 10,
349             "y": 6
350           },
351           "id": 9,
352           "legend": {
353             "avg": false,
354             "current": false,
355             "max": false,
356             "min": false,
357             "show": true,
358             "total": false,
359             "values": false
360           },
361           "lines": true,
362           "linewidth": 1,
363           "links": [],
364           "nullPointMode": "null",
365           "options": {
366             "dataLinks": []
367           },
368           "percentage": false,
369           "pointradius": 5,
370           "points": false,
371           "renderer": "flot",
372           "seriesOverrides": [
373             {
374               "alias": "returned",
375               "yaxis": 1
376             }
377           ],
378           "spaceLength": 10,
379           "stack": false,
380           "steppedLine": false,
381           "targets": [
382             {
383               "expr": "rate(mongodb_mongod_metrics_document_total{instance=~\"$instance\"}[$interval])",
384               "format": "time_series",
385               "interval": "",
386               "intervalFactor": 2,
387               "legendFormat": "{{state}}",
388               "refId": "A",
389               "step": 240
390             }
391           ],
392           "thresholds": [],
393           "timeFrom": null,
394           "timeRegions": [],
395           "timeShift": null,
396           "title": "Document Operations",
397           "tooltip": {
398             "shared": true,
399             "sort": 0,
400             "value_type": "individual"
401           },
402           "type": "graph",
403           "xaxis": {
404             "buckets": null,
405             "mode": "time",
406             "name": null,
407             "show": true,
408             "values": []
409           },
410           "yaxes": [
411             {
412               "format": "short",
413               "label": null,
414               "logBase": 1,
415               "max": null,
416               "min": null,
417               "show": true
418             },
419             {
420               "format": "short",
421               "label": null,
422               "logBase": 1,
423               "max": null,
424               "min": null,
425               "show": true
426             }
427           ],
428           "yaxis": {
429             "align": false,
430             "alignLevel": null
431           }
432         },
433         {
434           "aliasColors": {},
435           "bars": false,
436           "dashLength": 10,
437           "dashes": false,
438           "datasource": "Prometheus",
439           "fill": 1,
440           "fillGradient": 0,
441           "gridPos": {
442             "h": 6,
443             "w": 6,
444             "x": 18,
445             "y": 6
446           },
447           "id": 8,
448           "legend": {
449             "avg": false,
450             "current": false,
451             "max": false,
452             "min": false,
453             "show": true,
454             "total": false,
455             "values": false
456           },
457           "lines": true,
458           "linewidth": 1,
459           "links": [],
460           "nullPointMode": "null",
461           "options": {
462             "dataLinks": []
463           },
464           "percentage": false,
465           "pointradius": 5,
466           "points": false,
467           "renderer": "flot",
468           "seriesOverrides": [],
469           "spaceLength": 10,
470           "stack": false,
471           "steppedLine": false,
472           "targets": [
473             {
474               "expr": "rate(mongodb_mongod_metrics_query_executor_total{instance=~\"$instance\"}[$interval])",
475               "format": "time_series",
476               "interval": "",
477               "intervalFactor": 2,
478               "legendFormat": "{{state}}",
479               "refId": "A",
480               "step": 600
481             }
482           ],
483           "thresholds": [],
484           "timeFrom": null,
485           "timeRegions": [],
486           "timeShift": null,
487           "title": "Document Query Executor",
488           "tooltip": {
489             "shared": true,
490             "sort": 0,
491             "value_type": "individual"
492           },
493           "type": "graph",
494           "xaxis": {
495             "buckets": null,
496             "mode": "time",
497             "name": null,
498             "show": true,
499             "values": []
500           },
501           "yaxes": [
502             {
503               "format": "short",
504               "label": null,
505               "logBase": 1,
506               "max": null,
507               "min": null,
508               "show": true
509             },
510             {
511               "format": "short",
512               "label": null,
513               "logBase": 1,
514               "max": null,
515               "min": null,
516               "show": true
517             }
518           ],
519           "yaxis": {
520             "align": false,
521             "alignLevel": null
522           }
523         },
524         {
525           "collapsed": false,
526           "gridPos": {
527             "h": 1,
528             "w": 24,
529             "x": 0,
530             "y": 12
531           },
532           "id": 23,
533           "panels": [],
534           "repeat": null,
535           "title": "Resources",
536           "type": "row"
537         },
538         {
539           "aliasColors": {},
540           "bars": false,
541           "dashLength": 10,
542           "dashes": false,
543           "datasource": "Prometheus",
544           "fill": 1,
545           "fillGradient": 0,
546           "gridPos": {
547             "h": 6,
548             "w": 12,
549             "x": 0,
550             "y": 13
551           },
552           "id": 4,
553           "legend": {
554             "alignAsTable": false,
555             "avg": false,
556             "current": true,
557             "hideEmpty": false,
558             "hideZero": false,
559             "max": false,
560             "min": false,
561             "rightSide": false,
562             "show": true,
563             "total": false,
564             "values": true
565           },
566           "lines": true,
567           "linewidth": 1,
568           "links": [],
569           "nullPointMode": "null",
570           "options": {
571             "dataLinks": []
572           },
573           "percentage": false,
574           "pointradius": 5,
575           "points": false,
576           "renderer": "flot",
577           "seriesOverrides": [],
578           "spaceLength": 10,
579           "stack": false,
580           "steppedLine": false,
581           "targets": [
582             {
583               "expr": "mongodb_memory{instance=~\"$instance\",type=~\"resident|virtual\"}",
584               "format": "time_series",
585               "interval": "",
586               "intervalFactor": 2,
587               "legendFormat": "{{type}}",
588               "refId": "A",
589               "step": 240
590             }
591           ],
592           "thresholds": [],
593           "timeFrom": null,
594           "timeRegions": [],
595           "timeShift": null,
596           "title": "Memory",
597           "tooltip": {
598             "shared": false,
599             "sort": 0,
600             "value_type": "individual"
601           },
602           "type": "graph",
603           "xaxis": {
604             "buckets": null,
605             "mode": "time",
606             "name": null,
607             "show": true,
608             "values": [
609               "total"
610             ]
611           },
612           "yaxes": [
613             {
614               "format": "decmbytes",
615               "label": "MB",
616               "logBase": 1,
617               "max": null,
618               "min": null,
619               "show": true
620             },
621             {
622               "format": "short",
623               "label": null,
624               "logBase": 1,
625               "max": null,
626               "min": null,
627               "show": true
628             }
629           ],
630           "yaxis": {
631             "align": false,
632             "alignLevel": null
633           }
634         },
635         {
636           "aliasColors": {},
637           "bars": false,
638           "dashLength": 10,
639           "dashes": false,
640           "datasource": "Prometheus",
641           "fill": 1,
642           "fillGradient": 0,
643           "gridPos": {
644             "h": 6,
645             "w": 12,
646             "x": 12,
647             "y": 13
648           },
649           "id": 5,
650           "legend": {
651             "avg": false,
652             "current": false,
653             "max": false,
654             "min": false,
655             "show": true,
656             "total": false,
657             "values": false
658           },
659           "lines": true,
660           "linewidth": 1,
661           "links": [],
662           "nullPointMode": "null",
663           "options": {
664             "dataLinks": []
665           },
666           "percentage": false,
667           "pointradius": 5,
668           "points": false,
669           "renderer": "flot",
670           "seriesOverrides": [],
671           "spaceLength": 10,
672           "stack": false,
673           "steppedLine": false,
674           "targets": [
675             {
676               "expr": "rate(mongodb_network_bytes_total{instance=~\"$instance\"}[$interval])",
677               "format": "time_series",
678               "interval": "",
679               "intervalFactor": 2,
680               "legendFormat": "{{state}}",
681               "metric": "mongodb_metrics_operation_total",
682               "refId": "A",
683               "step": 240
684             }
685           ],
686           "thresholds": [],
687           "timeFrom": null,
688           "timeRegions": [],
689           "timeShift": null,
690           "title": "Network I/O",
691           "tooltip": {
692             "shared": true,
693             "sort": 0,
694             "value_type": "individual"
695           },
696           "type": "graph",
697           "xaxis": {
698             "buckets": null,
699             "mode": "time",
700             "name": null,
701             "show": true,
702             "values": []
703           },
704           "yaxes": [
705             {
706               "format": "decbytes",
707               "label": null,
708               "logBase": 1,
709               "max": null,
710               "min": null,
711               "show": true
712             },
713             {
714               "format": "short",
715               "label": null,
716               "logBase": 1,
717               "max": null,
718               "min": null,
719               "show": true
720             }
721           ],
722           "yaxis": {
723             "align": false,
724             "alignLevel": null
725           }
726         }
727       ],
728       "refresh": "5s",
729       "schemaVersion": 19,
730       "style": "dark",
731       "tags": [],
732       "templating": {
733         "list": [
734           {
735             "allValue": null,
736             "current": {
737               "text": "All",
738               "value": "$__all"
739             },
740             "datasource": "Prometheus",
741             "definition": "",
742             "hide": 0,
743             "includeAll": true,
744             "label": "instance",
745             "multi": true,
746             "name": "instance",
747             "options": [],
748             "query": "label_values(mongodb_connections, instance)",
749             "refresh": 1,
750             "regex": "",
751             "skipUrlSync": false,
752             "sort": 1,
753             "tagValuesQuery": "/.*-(.*?)-.*/",
754             "tags": [],
755             "tagsQuery": "label_values(mongodb_connections, instance)",
756             "type": "query",
757             "useTags": false
758           },
759           {
760             "auto": true,
761             "auto_count": 30,
762             "auto_min": "10s",
763             "current": {
764               "text": "auto",
765               "value": "$__auto_interval_interval"
766             },
767             "hide": 0,
768             "label": null,
769             "name": "interval",
770             "options": [
771               {
772                 "selected": true,
773                 "text": "auto",
774                 "value": "$__auto_interval_interval"
775               },
776               {
777                 "selected": false,
778                 "text": "1m",
779                 "value": "1m"
780               },
781               {
782                 "selected": false,
783                 "text": "10m",
784                 "value": "10m"
785               },
786               {
787                 "selected": false,
788                 "text": "30m",
789                 "value": "30m"
790               },
791               {
792                 "selected": false,
793                 "text": "1h",
794                 "value": "1h"
795               },
796               {
797                 "selected": false,
798                 "text": "6h",
799                 "value": "6h"
800               },
801               {
802                 "selected": false,
803                 "text": "12h",
804                 "value": "12h"
805               },
806               {
807                 "selected": false,
808                 "text": "1d",
809                 "value": "1d"
810               },
811               {
812                 "selected": false,
813                 "text": "7d",
814                 "value": "7d"
815               },
816               {
817                 "selected": false,
818                 "text": "14d",
819                 "value": "14d"
820               },
821               {
822                 "selected": false,
823                 "text": "30d",
824                 "value": "30d"
825               }
826             ],
827             "query": "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
828             "refresh": 2,
829             "skipUrlSync": false,
830             "type": "interval"
831           }
832         ]
833       },
834       "time": {
835         "from": "now/d",
836         "to": "now"
837       },
838       "timepicker": {
839         "refresh_intervals": [
840           "5s",
841           "10s",
842           "30s",
843           "1m",
844           "5m",
845           "15m",
846           "30m",
847           "1h",
848           "2h",
849           "1d"
850         ],
851         "time_options": [
852           "5m",
853           "15m",
854           "1h",
855           "6h",
856           "12h",
857           "24h",
858           "2d",
859           "7d",
860           "30d"
861         ]
862       },
863       "timezone": "browser",
864       "title": "MongoDB",
865       "uid": "HEK4NbtZk",
866       "version": 2
867     }