Update K8s Monitoring to support Grafana 8
[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           "id": 10,
66           "gridPos": {
67             "h": 4,
68             "w": 12,
69             "x": 0,
70             "y": 1
71           },
72           "type": "stat",
73           "title": "Uptime",
74           "datasource": "Prometheus",
75           "maxDataPoints": 100,
76           "links": [],
77           "cacheTimeout": null,
78           "interval": null,
79           "targets": [
80             {
81               "expr": "mongodb_instance_uptime_seconds{instance=~\"$instance\"}",
82               "format": "time_series",
83               "intervalFactor": 2,
84               "legendFormat": "",
85               "refId": "A",
86               "step": 1800
87             }
88           ],
89           "fieldConfig": {
90             "defaults": {
91               "thresholds": {
92                 "mode": "absolute",
93                 "steps": [
94                   {
95                     "value": null,
96                     "color": "rgba(245, 54, 54, 0.9)"
97                   },
98                   {
99                     "value": 0,
100                     "color": "rgba(237, 129, 40, 0.89)"
101                   },
102                   {
103                     "value": 360,
104                     "color": "rgba(50, 172, 45, 0.97)"
105                   }
106                 ]
107               },
108               "mappings": [
109                 {
110                   "type": "special",
111                   "options": {
112                     "match": "null",
113                     "result": {
114                       "text": "N/A"
115                     }
116                   }
117                 }
118               ],
119               "unit": "s",
120               "color": {
121                 "mode": "thresholds"
122               }
123             },
124             "overrides": []
125           },
126           "options": {
127             "reduceOptions": {
128               "values": false,
129               "calcs": [
130                 "lastNotNull"
131               ],
132               "fields": ""
133             },
134             "orientation": "horizontal",
135             "text": {},
136             "textMode": "auto",
137             "colorMode": "value",
138             "graphMode": "none",
139             "justifyMode": "auto"
140           },
141           "pluginVersion": "8.1.1"
142         },
143         {
144           "id": 1,
145           "gridPos": {
146             "h": 4,
147             "w": 12,
148             "x": 12,
149             "y": 1
150           },
151           "type": "stat",
152           "title": "Open Connections",
153           "datasource": "Prometheus",
154           "maxDataPoints": 100,
155           "links": [],
156           "cacheTimeout": null,
157           "interval": null,
158           "targets": [
159             {
160               "expr": "mongodb_connections{instance=~\"$instance\",state=\"current\"}",
161               "format": "time_series",
162               "intervalFactor": 2,
163               "legendFormat": "",
164               "metric": "mongodb_connections",
165               "refId": "A",
166               "step": 1800
167             }
168           ],
169           "fieldConfig": {
170             "defaults": {
171               "thresholds": {
172                 "mode": "absolute",
173                 "steps": [
174                   {
175                     "value": null,
176                     "color": "green"
177                   },
178                   {
179                     "value": 80,
180                     "color": "red"
181                   }
182                 ]
183               },
184               "mappings": [
185                 {
186                   "type": "special",
187                   "options": {
188                     "match": "null",
189                     "result": {
190                       "text": "N/A"
191                     }
192                   }
193                 }
194               ],
195               "unit": "none",
196               "color": {
197                 "mode": "fixed",
198                 "fixedColor": "rgb(31, 120, 193)"
199               }
200             },
201             "overrides": []
202           },
203           "options": {
204             "reduceOptions": {
205               "values": false,
206               "calcs": [
207                 "mean"
208               ],
209               "fields": ""
210             },
211             "orientation": "horizontal",
212             "text": {},
213             "textMode": "auto",
214             "colorMode": "none",
215             "graphMode": "area",
216             "justifyMode": "auto"
217           },
218           "pluginVersion": "8.1.1"
219         },
220         {
221           "collapsed": false,
222           "gridPos": {
223             "h": 1,
224             "w": 24,
225             "x": 0,
226             "y": 5
227           },
228           "id": 20,
229           "panels": [],
230           "repeat": "env",
231           "title": "Operations",
232           "type": "row"
233         },
234         {
235           "aliasColors": {},
236           "bars": false,
237           "dashLength": 10,
238           "dashes": false,
239           "datasource": "Prometheus",
240           "fill": 1,
241           "fillGradient": 0,
242           "gridPos": {
243             "h": 6,
244             "w": 10,
245             "x": 0,
246             "y": 6
247           },
248           "id": 7,
249           "legend": {
250             "avg": false,
251             "current": false,
252             "max": false,
253             "min": false,
254             "show": true,
255             "total": false,
256             "values": false
257           },
258           "lines": true,
259           "linewidth": 1,
260           "links": [],
261           "nullPointMode": "null",
262           "options": {
263             "dataLinks": []
264           },
265           "percentage": false,
266           "pointradius": 5,
267           "points": false,
268           "renderer": "flot",
269           "seriesOverrides": [],
270           "spaceLength": 10,
271           "stack": false,
272           "steppedLine": false,
273           "targets": [
274             {
275               "expr": "rate(mongodb_op_counters_total{instance=~\"$instance\"}[$__rate_interval])",
276               "format": "time_series",
277               "interval": "",
278               "intervalFactor": 2,
279               "legendFormat": "{{type}}",
280               "refId": "A",
281               "step": 240
282             }
283           ],
284           "thresholds": [],
285           "timeFrom": null,
286           "timeRegions": [],
287           "timeShift": null,
288           "title": "Query Operations",
289           "tooltip": {
290             "shared": true,
291             "sort": 0,
292             "value_type": "individual"
293           },
294           "type": "graph",
295           "xaxis": {
296             "buckets": null,
297             "mode": "time",
298             "name": null,
299             "show": true,
300             "values": []
301           },
302           "yaxes": [
303             {
304               "format": "ops",
305               "label": null,
306               "logBase": 1,
307               "max": null,
308               "min": null,
309               "show": true
310             },
311             {
312               "format": "short",
313               "label": null,
314               "logBase": 1,
315               "max": null,
316               "min": null,
317               "show": true
318             }
319           ],
320           "yaxis": {
321             "align": false,
322             "alignLevel": null
323           }
324         },
325         {
326           "aliasColors": {},
327           "bars": false,
328           "dashLength": 10,
329           "dashes": false,
330           "datasource": "Prometheus",
331           "fill": 1,
332           "fillGradient": 0,
333           "gridPos": {
334             "h": 6,
335             "w": 8,
336             "x": 10,
337             "y": 6
338           },
339           "id": 9,
340           "legend": {
341             "avg": false,
342             "current": false,
343             "max": false,
344             "min": false,
345             "show": true,
346             "total": false,
347             "values": false
348           },
349           "lines": true,
350           "linewidth": 1,
351           "links": [],
352           "nullPointMode": "null",
353           "options": {
354             "dataLinks": []
355           },
356           "percentage": false,
357           "pointradius": 5,
358           "points": false,
359           "renderer": "flot",
360           "seriesOverrides": [
361             {
362               "alias": "returned",
363               "yaxis": 1
364             }
365           ],
366           "spaceLength": 10,
367           "stack": false,
368           "steppedLine": false,
369           "targets": [
370             {
371               "expr": "rate(mongodb_mongod_metrics_document_total{instance=~\"$instance\"}[$__rate_interval])",
372               "format": "time_series",
373               "interval": "",
374               "intervalFactor": 2,
375               "legendFormat": "{{state}}",
376               "refId": "A",
377               "step": 240
378             }
379           ],
380           "thresholds": [],
381           "timeFrom": null,
382           "timeRegions": [],
383           "timeShift": null,
384           "title": "Document Operations",
385           "tooltip": {
386             "shared": true,
387             "sort": 0,
388             "value_type": "individual"
389           },
390           "type": "graph",
391           "xaxis": {
392             "buckets": null,
393             "mode": "time",
394             "name": null,
395             "show": true,
396             "values": []
397           },
398           "yaxes": [
399             {
400               "format": "short",
401               "label": null,
402               "logBase": 1,
403               "max": null,
404               "min": null,
405               "show": true
406             },
407             {
408               "format": "short",
409               "label": null,
410               "logBase": 1,
411               "max": null,
412               "min": null,
413               "show": true
414             }
415           ],
416           "yaxis": {
417             "align": false,
418             "alignLevel": null
419           }
420         },
421         {
422           "aliasColors": {},
423           "bars": false,
424           "dashLength": 10,
425           "dashes": false,
426           "datasource": "Prometheus",
427           "fill": 1,
428           "fillGradient": 0,
429           "gridPos": {
430             "h": 6,
431             "w": 6,
432             "x": 18,
433             "y": 6
434           },
435           "id": 8,
436           "legend": {
437             "avg": false,
438             "current": false,
439             "max": false,
440             "min": false,
441             "show": true,
442             "total": false,
443             "values": false
444           },
445           "lines": true,
446           "linewidth": 1,
447           "links": [],
448           "nullPointMode": "null",
449           "options": {
450             "dataLinks": []
451           },
452           "percentage": false,
453           "pointradius": 5,
454           "points": false,
455           "renderer": "flot",
456           "seriesOverrides": [],
457           "spaceLength": 10,
458           "stack": false,
459           "steppedLine": false,
460           "targets": [
461             {
462               "expr": "rate(mongodb_mongod_metrics_query_executor_total{instance=~\"$instance\"}[$__rate_interval])",
463               "format": "time_series",
464               "interval": "",
465               "intervalFactor": 2,
466               "legendFormat": "{{state}}",
467               "refId": "A",
468               "step": 600
469             }
470           ],
471           "thresholds": [],
472           "timeFrom": null,
473           "timeRegions": [],
474           "timeShift": null,
475           "title": "Document Query Executor",
476           "tooltip": {
477             "shared": true,
478             "sort": 0,
479             "value_type": "individual"
480           },
481           "type": "graph",
482           "xaxis": {
483             "buckets": null,
484             "mode": "time",
485             "name": null,
486             "show": true,
487             "values": []
488           },
489           "yaxes": [
490             {
491               "format": "short",
492               "label": null,
493               "logBase": 1,
494               "max": null,
495               "min": null,
496               "show": true
497             },
498             {
499               "format": "short",
500               "label": null,
501               "logBase": 1,
502               "max": null,
503               "min": null,
504               "show": true
505             }
506           ],
507           "yaxis": {
508             "align": false,
509             "alignLevel": null
510           }
511         },
512         {
513           "collapsed": false,
514           "gridPos": {
515             "h": 1,
516             "w": 24,
517             "x": 0,
518             "y": 12
519           },
520           "id": 23,
521           "panels": [],
522           "repeat": null,
523           "title": "Resources",
524           "type": "row"
525         },
526         {
527           "aliasColors": {},
528           "bars": false,
529           "dashLength": 10,
530           "dashes": false,
531           "datasource": "Prometheus",
532           "fill": 1,
533           "fillGradient": 0,
534           "gridPos": {
535             "h": 6,
536             "w": 12,
537             "x": 0,
538             "y": 13
539           },
540           "id": 4,
541           "legend": {
542             "alignAsTable": false,
543             "avg": false,
544             "current": true,
545             "hideEmpty": false,
546             "hideZero": false,
547             "max": false,
548             "min": false,
549             "rightSide": false,
550             "show": true,
551             "total": false,
552             "values": true
553           },
554           "lines": true,
555           "linewidth": 1,
556           "links": [],
557           "nullPointMode": "null",
558           "options": {
559             "dataLinks": []
560           },
561           "percentage": false,
562           "pointradius": 5,
563           "points": false,
564           "renderer": "flot",
565           "seriesOverrides": [],
566           "spaceLength": 10,
567           "stack": false,
568           "steppedLine": false,
569           "targets": [
570             {
571               "expr": "mongodb_memory{instance=~\"$instance\",type=~\"resident|virtual\"}",
572               "format": "time_series",
573               "interval": "",
574               "intervalFactor": 2,
575               "legendFormat": "{{type}}",
576               "refId": "A",
577               "step": 240
578             }
579           ],
580           "thresholds": [],
581           "timeFrom": null,
582           "timeRegions": [],
583           "timeShift": null,
584           "title": "Memory",
585           "tooltip": {
586             "shared": false,
587             "sort": 0,
588             "value_type": "individual"
589           },
590           "type": "graph",
591           "xaxis": {
592             "buckets": null,
593             "mode": "time",
594             "name": null,
595             "show": true,
596             "values": [
597               "total"
598             ]
599           },
600           "yaxes": [
601             {
602               "format": "decmbytes",
603               "label": "MB",
604               "logBase": 1,
605               "max": null,
606               "min": null,
607               "show": true
608             },
609             {
610               "format": "short",
611               "label": null,
612               "logBase": 1,
613               "max": null,
614               "min": null,
615               "show": true
616             }
617           ],
618           "yaxis": {
619             "align": false,
620             "alignLevel": null
621           }
622         },
623         {
624           "aliasColors": {},
625           "bars": false,
626           "dashLength": 10,
627           "dashes": false,
628           "datasource": "Prometheus",
629           "fill": 1,
630           "fillGradient": 0,
631           "gridPos": {
632             "h": 6,
633             "w": 12,
634             "x": 12,
635             "y": 13
636           },
637           "id": 5,
638           "legend": {
639             "avg": false,
640             "current": false,
641             "max": false,
642             "min": false,
643             "show": true,
644             "total": false,
645             "values": false
646           },
647           "lines": true,
648           "linewidth": 1,
649           "links": [],
650           "nullPointMode": "null",
651           "options": {
652             "dataLinks": []
653           },
654           "percentage": false,
655           "pointradius": 5,
656           "points": false,
657           "renderer": "flot",
658           "seriesOverrides": [],
659           "spaceLength": 10,
660           "stack": false,
661           "steppedLine": false,
662           "targets": [
663             {
664               "expr": "rate(mongodb_network_bytes_total{instance=~\"$instance\"}[$__rate_interval])",
665               "format": "time_series",
666               "interval": "",
667               "intervalFactor": 2,
668               "legendFormat": "{{state}}",
669               "metric": "mongodb_metrics_operation_total",
670               "refId": "A",
671               "step": 240
672             }
673           ],
674           "thresholds": [],
675           "timeFrom": null,
676           "timeRegions": [],
677           "timeShift": null,
678           "title": "Network I/O",
679           "tooltip": {
680             "shared": true,
681             "sort": 0,
682             "value_type": "individual"
683           },
684           "type": "graph",
685           "xaxis": {
686             "buckets": null,
687             "mode": "time",
688             "name": null,
689             "show": true,
690             "values": []
691           },
692           "yaxes": [
693             {
694               "format": "decbytes",
695               "label": null,
696               "logBase": 1,
697               "max": null,
698               "min": null,
699               "show": true
700             },
701             {
702               "format": "short",
703               "label": null,
704               "logBase": 1,
705               "max": null,
706               "min": null,
707               "show": true
708             }
709           ],
710           "yaxis": {
711             "align": false,
712             "alignLevel": null
713           }
714         }
715       ],
716       "refresh": "5s",
717       "schemaVersion": 19,
718       "style": "dark",
719       "tags": [],
720       "templating": {
721         "list": [
722           {
723             "allValue": null,
724             "current": {
725               "text": "All",
726               "value": "$__all"
727             },
728             "datasource": "Prometheus",
729             "definition": "",
730             "hide": 0,
731             "includeAll": true,
732             "label": "instance",
733             "multi": true,
734             "name": "instance",
735             "options": [],
736             "query": "label_values(mongodb_connections, instance)",
737             "refresh": 1,
738             "regex": "",
739             "skipUrlSync": false,
740             "sort": 1,
741             "tagValuesQuery": "/.*-(.*?)-.*/",
742             "tags": [],
743             "tagsQuery": "label_values(mongodb_connections, instance)",
744             "type": "query",
745             "useTags": false
746           },
747           {
748             "auto": true,
749             "auto_count": 30,
750             "auto_min": "10s",
751             "current": {
752               "text": "auto",
753               "value": "$__auto_interval_interval"
754             },
755             "hide": 0,
756             "label": null,
757             "name": "interval",
758             "options": [
759               {
760                 "selected": true,
761                 "text": "auto",
762                 "value": "$__auto_interval_interval"
763               },
764               {
765                 "selected": false,
766                 "text": "1m",
767                 "value": "1m"
768               },
769               {
770                 "selected": false,
771                 "text": "10m",
772                 "value": "10m"
773               },
774               {
775                 "selected": false,
776                 "text": "30m",
777                 "value": "30m"
778               },
779               {
780                 "selected": false,
781                 "text": "1h",
782                 "value": "1h"
783               },
784               {
785                 "selected": false,
786                 "text": "6h",
787                 "value": "6h"
788               },
789               {
790                 "selected": false,
791                 "text": "12h",
792                 "value": "12h"
793               },
794               {
795                 "selected": false,
796                 "text": "1d",
797                 "value": "1d"
798               },
799               {
800                 "selected": false,
801                 "text": "7d",
802                 "value": "7d"
803               },
804               {
805                 "selected": false,
806                 "text": "14d",
807                 "value": "14d"
808               },
809               {
810                 "selected": false,
811                 "text": "30d",
812                 "value": "30d"
813               }
814             ],
815             "query": "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
816             "refresh": 2,
817             "skipUrlSync": false,
818             "type": "interval"
819           }
820         ]
821       },
822       "time": {
823         "from": "now/d",
824         "to": "now"
825       },
826       "timepicker": {
827         "refresh_intervals": [
828           "5s",
829           "10s",
830           "30s",
831           "1m",
832           "5m",
833           "15m",
834           "30m",
835           "1h",
836           "2h",
837           "1d"
838         ],
839         "time_options": [
840           "5m",
841           "15m",
842           "1h",
843           "6h",
844           "12h",
845           "24h",
846           "2d",
847           "7d",
848           "30d"
849         ]
850       },
851       "timezone": "browser",
852       "title": "MongoDB",
853       "uid": "HEK4NbtZk",
854       "version": 2
855     }