Update K8s Monitoring to support Grafana 8
[osm/devops.git] / installers / k8s / nodes-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     grafana_dashboard: "1"
22   name: osm-monitoring-osm-nodes-grafana
23   annotations:
24     k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
25 data:
26   osm-nodes-dashboard.json: |-
27     {
28       "annotations": {
29         "list": [
30           {
31             "builtIn": 1,
32             "datasource": "-- Grafana --",
33             "enable": true,
34             "hide": true,
35             "iconColor": "rgba(0, 211, 255, 1)",
36             "name": "Annotations & Alerts",
37             "type": "dashboard"
38           }
39         ]
40       },
41       "description": "Physical nodes dashboard",
42       "editable": true,
43       "gnetId": 11074,
44       "graphTooltip": 0,
45       "id": 12,
46       "iteration": 1577553366915,
47       "links": [],
48       "panels": [
49         {
50           "collapsed": true,
51           "gridPos": {
52             "h": 1,
53             "w": 24,
54             "x": 0,
55             "y": 0
56           },
57           "id": 179,
58           "panels": [
59             {
60               "id": 15,
61               "gridPos": {
62                 "h": 6,
63                 "w": 2,
64                 "x": 0,
65                 "y": 1
66               },
67               "type": "stat",
68               "title": "System Uptime",
69               "datasource": "Prometheus",
70               "pluginVersion": "8.1.1",
71               "hideTimeOverride": true,
72               "maxDataPoints": 100,
73               "links": [],
74               "cacheTimeout": null,
75               "description": "",
76               "interval": null,
77               "targets": [
78                 {
79                   "expr": "sum(time() - node_boot_time_seconds{instance=~\"$node\"})",
80                   "format": "time_series",
81                   "hide": false,
82                   "instant": true,
83                   "intervalFactor": 1,
84                   "refId": "A",
85                   "step": 40
86                 }
87               ],
88               "fieldConfig": {
89                 "defaults": {
90                   "thresholds": {
91                     "mode": "absolute",
92                     "steps": [
93                       {
94                         "value": null,
95                         "color": "rgba(245, 54, 54, 0.9)"
96                       },
97                       {
98                         "value": 1,
99                         "color": "rgba(237, 129, 40, 0.89)"
100                       },
101                       {
102                         "value": 2,
103                         "color": "rgba(50, 172, 45, 0.97)"
104                       }
105                     ]
106                   },
107                   "mappings": [
108                     {
109                       "type": "special",
110                       "options": {
111                         "match": "null",
112                         "result": {
113                           "text": "N/A"
114                         }
115                       }
116                     }
117                   ],
118                   "unit": "s",
119                   "decimals": 1,
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             },
142             {
143               "id": 14,
144               "gridPos": {
145                 "h": 6,
146                 "w": 2,
147                 "x": 2,
148                 "y": 1
149               },
150               "type": "stat",
151               "title": "CPU Cores",
152               "datasource": "Prometheus",
153               "pluginVersion": "8.1.1",
154               "maxDataPoints": 100,
155               "links": [],
156               "cacheTimeout": null,
157               "description": "",
158               "interval": null,
159               "targets": [
160                 {
161                   "expr": "sum(count(node_cpu_seconds_total{instance=~\"$node\", mode='system'}) by (cpu))",
162                   "format": "time_series",
163                   "instant": true,
164                   "intervalFactor": 1,
165                   "legendFormat": "",
166                   "refId": "A",
167                   "step": 20
168                 }
169               ],
170               "fieldConfig": {
171                 "defaults": {
172                   "thresholds": {
173                     "mode": "absolute",
174                     "steps": [
175                       {
176                         "value": null,
177                         "color": "rgba(245, 54, 54, 0.9)"
178                       },
179                       {
180                         "value": 1,
181                         "color": "rgba(237, 129, 40, 0.89)"
182                       },
183                       {
184                         "value": 2,
185                         "color": "rgba(50, 172, 45, 0.97)"
186                       }
187                     ]
188                   },
189                   "mappings": [
190                     {
191                       "type": "special",
192                       "options": {
193                         "match": "null",
194                         "result": {
195                           "text": "N/A"
196                         }
197                       }
198                     }
199                   ],
200                   "unit": "short",
201                   "color": {
202                     "mode": "thresholds"
203                   }
204                 },
205                 "overrides": []
206               },
207               "options": {
208                 "reduceOptions": {
209                   "values": false,
210                   "calcs": [
211                     "lastNotNull"
212                   ],
213                   "fields": ""
214                 },
215                 "orientation": "horizontal",
216                 "text": {},
217                 "textMode": "auto",
218                 "colorMode": "value",
219                 "graphMode": "none",
220                 "justifyMode": "auto"
221               }
222             },
223             {
224               "id": 75,
225               "gridPos": {
226                 "h": 6,
227                 "w": 2,
228                 "x": 4,
229                 "y": 1
230               },
231               "type": "stat",
232               "title": "Total RAM",
233               "datasource": "Prometheus",
234               "pluginVersion": "8.1.1",
235               "maxDataPoints": 100,
236               "links": [],
237               "cacheTimeout": null,
238               "description": "",
239               "interval": null,
240               "targets": [
241                 {
242                   "expr": "sum(node_memory_MemTotal_bytes{instance=~\"$node\"})",
243                   "format": "time_series",
244                   "instant": true,
245                   "intervalFactor": 1,
246                   "legendFormat": "{{instance}}",
247                   "refId": "A",
248                   "step": 20
249                 }
250               ],
251               "fieldConfig": {
252                 "defaults": {
253                   "thresholds": {
254                     "mode": "absolute",
255                     "steps": [
256                       {
257                         "value": null,
258                         "color": "rgba(245, 54, 54, 0.9)"
259                       },
260                       {
261                         "value": 2,
262                         "color": "rgba(237, 129, 40, 0.89)"
263                       },
264                       {
265                         "value": 3,
266                         "color": "rgba(50, 172, 45, 0.97)"
267                       }
268                     ]
269                   },
270                   "mappings": [
271                     {
272                       "type": "special",
273                       "options": {
274                         "match": "null",
275                         "result": {
276                           "text": "N/A"
277                         }
278                       }
279                     }
280                   ],
281                   "unit": "bytes",
282                   "decimals": 2,
283                   "color": {
284                     "mode": "thresholds"
285                   }
286                 },
287                 "overrides": []
288               },
289               "options": {
290                 "reduceOptions": {
291                   "values": false,
292                   "calcs": [
293                     "lastNotNull"
294                   ],
295                   "fields": ""
296                 },
297                 "orientation": "horizontal",
298                 "text": {},
299                 "textMode": "auto",
300                 "colorMode": "value",
301                 "graphMode": "none",
302                 "justifyMode": "auto"
303               }
304             },
305             {
306               "datasource": "Prometheus",
307               "gridPos": {
308                 "h": 6,
309                 "w": 18,
310                 "x": 6,
311                 "y": 1
312               },
313               "id": 177,
314               "options": {
315                 "displayMode": "lcd",
316                 "fieldOptions": {
317                   "calcs": [
318                     "last"
319                   ],
320                   "defaults": {
321                     "mappings": [
322                       {
323                         "from": "",
324                         "id": 1,
325                         "operator": "",
326                         "text": "-",
327                         "to": "",
328                         "type": 1,
329                         "value": "NaN"
330                       }
331                     ],
332                     "max": 100,
333                     "min": 0,
334                     "thresholds": [
335                       {
336                         "color": "green",
337                         "value": null
338                       },
339                       {
340                         "color": "#EAB839",
341                         "value": 60
342                       },
343                       {
344                         "color": "red",
345                         "value": 80
346                       }
347                     ],
348                     "title": "",
349                     "unit": "percent"
350                   },
351                   "override": {},
352                   "values": false
353                 },
354                 "orientation": "horizontal"
355               },
356               "pluginVersion": "6.3.5",
357               "targets": [
358                 {
359                   "expr": "100 - (avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[30m])) * 100)",
360                   "instant": true,
361                   "legendFormat": "CPU Busy",
362                   "refId": "A"
363                 },
364                 {
365                   "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[30m])) * 100",
366                   "hide": true,
367                   "instant": true,
368                   "legendFormat": "Busy Iowait",
369                   "refId": "C"
370                 },
371                 {
372                   "expr": "(1 - (node_memory_MemAvailable_bytes{instance=~\"$node\"} / (node_memory_MemTotal_bytes{instance=~\"$node\"})))* 100",
373                   "instant": true,
374                   "legendFormat": "Used RAM Memory",
375                   "refId": "B"
376                 },
377                 {
378                   "expr": "100 - ((node_filesystem_avail_bytes{instance=~\"$node\",mountpoint=\"$maxmount\",fstype=~\"ext4|xfs\"} * 100) / node_filesystem_size_bytes {instance=~\"$node\",mountpoint=\"$maxmount\",fstype=~\"ext4|xfs\"})",
379                   "hide": false,
380                   "instant": true,
381                   "legendFormat": "Used Max Mount($maxmount)",
382                   "refId": "D"
383                 },
384                 {
385                   "expr": "(1 - (node_memory_SwapFree_bytes{instance=~\"$node\"} / node_memory_SwapTotal_bytes{instance=~\"$node\"})) * 100",
386                   "instant": true,
387                   "legendFormat": "Used SWAP",
388                   "refId": "E"
389                 }
390               ],
391               "timeFrom": null,
392               "timeShift": null,
393               "title": "",
394               "type": "bargauge"
395             }
396           ],
397           "title": "Summary",
398           "type": "row"
399         },
400         {
401           "collapsed": true,
402           "gridPos": {
403             "h": 1,
404             "w": 24,
405             "x": 0,
406             "y": 1
407           },
408           "id": 181,
409           "panels": [
410             {
411               "aliasColors": {
412                 "15分钟": "#6ED0E0",
413                 "1分钟": "#BF1B00",
414                 "5分钟": "#CCA300"
415               },
416               "bars": false,
417               "dashLength": 10,
418               "dashes": false,
419               "datasource": "Prometheus",
420               "editable": true,
421               "error": false,
422               "fill": 1,
423               "fillGradient": 1,
424               "grid": {},
425               "gridPos": {
426                 "h": 10,
427                 "w": 12,
428                 "x": 0,
429                 "y": 8
430               },
431               "height": "300",
432               "id": 13,
433               "legend": {
434                 "alignAsTable": true,
435                 "avg": true,
436                 "current": true,
437                 "max": true,
438                 "min": false,
439                 "rightSide": false,
440                 "show": true,
441                 "total": false,
442                 "values": true
443               },
444               "lines": true,
445               "linewidth": 2,
446               "links": [],
447               "maxPerRow": 6,
448               "nullPointMode": "null as zero",
449               "options": {
450                 "dataLinks": []
451               },
452               "percentage": false,
453               "pointradius": 5,
454               "points": false,
455               "renderer": "flot",
456               "repeat": null,
457               "seriesOverrides": [],
458               "spaceLength": 10,
459               "stack": false,
460               "steppedLine": false,
461               "targets": [
462                 {
463                   "expr": "node_load1{instance=~\"$node\"}",
464                   "format": "time_series",
465                   "instant": false,
466                   "interval": "",
467                   "intervalFactor": 1,
468                   "legendFormat": "{{instance}}_1m",
469                   "metric": "",
470                   "refId": "A",
471                   "step": 20,
472                   "target": ""
473                 },
474                 {
475                   "expr": "node_load5{instance=~\"$node\"}",
476                   "format": "time_series",
477                   "instant": false,
478                   "interval": "",
479                   "intervalFactor": 1,
480                   "legendFormat": "{{instance}}_5m",
481                   "refId": "B",
482                   "step": 20
483                 },
484                 {
485                   "expr": "node_load15{instance=~\"$node\"}",
486                   "format": "time_series",
487                   "instant": false,
488                   "interval": "",
489                   "intervalFactor": 1,
490                   "legendFormat": "{{instance}}_15m",
491                   "refId": "C",
492                   "step": 20
493                 }
494               ],
495               "thresholds": [],
496               "timeFrom": null,
497               "timeRegions": [],
498               "timeShift": null,
499               "title": "System Load",
500               "tooltip": {
501                 "msResolution": false,
502                 "shared": true,
503                 "sort": 2,
504                 "value_type": "cumulative"
505               },
506               "type": "graph",
507               "xaxis": {
508                 "buckets": null,
509                 "mode": "time",
510                 "name": null,
511                 "show": true,
512                 "values": []
513               },
514               "yaxes": [
515                 {
516                   "format": "short",
517                   "logBase": 1,
518                   "max": null,
519                   "min": null,
520                   "show": true
521                 },
522                 {
523                   "format": "short",
524                   "logBase": 1,
525                   "max": null,
526                   "min": null,
527                   "show": true
528                 }
529               ],
530               "yaxis": {
531                 "align": false,
532                 "alignLevel": null
533               }
534             },
535             {
536               "aliasColors": {
537                 "192.168.200.241:9100_Total": "dark-red",
538                 "Idle - Waiting for something to happen": "#052B51",
539                 "guest": "#9AC48A",
540                 "idle": "#052B51",
541                 "iowait": "#EAB839",
542                 "irq": "#BF1B00",
543                 "nice": "#C15C17",
544                 "softirq": "#E24D42",
545                 "steal": "#FCE2DE",
546                 "system": "#508642",
547                 "user": "#5195CE"
548               },
549               "bars": false,
550               "dashLength": 10,
551               "dashes": false,
552               "datasource": "Prometheus",
553               "decimals": 2,
554               "description": "",
555               "fill": 1,
556               "fillGradient": 0,
557               "gridPos": {
558                 "h": 10,
559                 "w": 12,
560                 "x": 12,
561                 "y": 8
562               },
563               "id": 7,
564               "legend": {
565                 "alignAsTable": true,
566                 "avg": true,
567                 "current": true,
568                 "hideEmpty": true,
569                 "hideZero": true,
570                 "max": true,
571                 "min": false,
572                 "rightSide": false,
573                 "show": true,
574                 "sideWidth": null,
575                 "sort": "current",
576                 "sortDesc": true,
577                 "total": false,
578                 "values": true
579               },
580               "lines": true,
581               "linewidth": 2,
582               "links": [],
583               "maxPerRow": 6,
584               "nullPointMode": "null",
585               "options": {
586                 "dataLinks": []
587               },
588               "percentage": false,
589               "pointradius": 5,
590               "points": false,
591               "renderer": "flot",
592               "repeat": null,
593               "seriesOverrides": [
594                 {
595                   "alias": "/.*_Total/",
596                   "color": "#C4162A",
597                   "fill": 0
598                 }
599               ],
600               "spaceLength": 10,
601               "stack": false,
602               "steppedLine": false,
603               "targets": [
604                 {
605                   "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"system\"}[30m])) by (instance)",
606                   "format": "time_series",
607                   "hide": false,
608                   "instant": false,
609                   "interval": "",
610                   "intervalFactor": 1,
611                   "legendFormat": "{{instance}}_System",
612                   "refId": "A",
613                   "step": 20
614                 },
615                 {
616                   "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"user\"}[30m])) by (instance)",
617                   "format": "time_series",
618                   "hide": false,
619                   "intervalFactor": 1,
620                   "legendFormat": "{{instance}}_User",
621                   "refId": "B",
622                   "step": 240
623                 },
624                 {
625                   "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[30m])) by (instance)",
626                   "format": "time_series",
627                   "hide": false,
628                   "instant": false,
629                   "intervalFactor": 1,
630                   "legendFormat": "{{instance}}_Iowait",
631                   "refId": "D",
632                   "step": 240
633                 },
634                 {
635                   "expr": "1 - avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[30m])) by (instance)",
636                   "format": "time_series",
637                   "hide": false,
638                   "intervalFactor": 1,
639                   "legendFormat": "{{instance}}_Total",
640                   "refId": "F",
641                   "step": 240
642                 }
643               ],
644               "thresholds": [],
645               "timeFrom": null,
646               "timeRegions": [],
647               "timeShift": null,
648               "title": "CPU",
649               "tooltip": {
650                 "shared": true,
651                 "sort": 2,
652                 "value_type": "individual"
653               },
654               "type": "graph",
655               "xaxis": {
656                 "buckets": null,
657                 "mode": "time",
658                 "name": null,
659                 "show": true,
660                 "values": []
661               },
662               "yaxes": [
663                 {
664                   "decimals": 2,
665                   "format": "percentunit",
666                   "label": "",
667                   "logBase": 1,
668                   "max": null,
669                   "min": null,
670                   "show": true
671                 },
672                 {
673                   "format": "short",
674                   "label": null,
675                   "logBase": 1,
676                   "max": null,
677                   "min": null,
678                   "show": false
679                 }
680               ],
681               "yaxis": {
682                 "align": false,
683                 "alignLevel": null
684               }
685             }
686           ],
687           "title": "CPU",
688           "type": "row"
689         },
690         {
691           "collapsed": true,
692           "gridPos": {
693             "h": 1,
694             "w": 24,
695             "x": 0,
696             "y": 2
697           },
698           "id": 183,
699           "panels": [
700             {
701               "columns": [],
702               "datasource": "Prometheus",
703               "fontSize": "110%",
704               "gridPos": {
705                 "h": 8,
706                 "w": 8,
707                 "x": 0,
708                 "y": 3
709               },
710               "id": 164,
711               "links": [],
712               "options": {},
713               "pageSize": null,
714               "scroll": true,
715               "showHeader": true,
716               "sort": {
717                 "col": 11,
718                 "desc": true
719               },
720               "styles": [
721                 {
722                   "alias": "Mounted on",
723                   "colorMode": null,
724                   "colors": [
725                     "rgba(50, 172, 45, 0.97)",
726                     "rgba(237, 129, 40, 0.89)",
727                     "rgba(245, 54, 54, 0.9)"
728                   ],
729                   "dateFormat": "YYYY-MM-DD HH:mm:ss",
730                   "decimals": 2,
731                   "mappingType": 1,
732                   "pattern": "mountpoint",
733                   "thresholds": [
734                     ""
735                   ],
736                   "type": "string",
737                   "unit": "bytes"
738                 },
739                 {
740                   "alias": "Avail",
741                   "colorMode": "value",
742                   "colors": [
743                     "rgba(245, 54, 54, 0.9)",
744                     "rgba(237, 129, 40, 0.89)",
745                     "rgba(50, 172, 45, 0.97)"
746                   ],
747                   "dateFormat": "YYYY-MM-DD HH:mm:ss",
748                   "decimals": 2,
749                   "mappingType": 1,
750                   "pattern": "Value #A",
751                   "thresholds": [
752                     "10000000000",
753                     "20000000000"
754                   ],
755                   "type": "number",
756                   "unit": "bytes"
757                 },
758                 {
759                   "alias": "Used",
760                   "colorMode": "cell",
761                   "colors": [
762                     "rgba(50, 172, 45, 0.97)",
763                     "rgba(237, 129, 40, 0.89)",
764                     "rgba(245, 54, 54, 0.9)"
765                   ],
766                   "dateFormat": "YYYY-MM-DD HH:mm:ss",
767                   "decimals": 2,
768                   "mappingType": 1,
769                   "pattern": "Value #B",
770                   "thresholds": [
771                     "0.6",
772                     "0.8"
773                   ],
774                   "type": "number",
775                   "unit": "percentunit"
776                 },
777                 {
778                   "alias": "Size",
779                   "colorMode": null,
780                   "colors": [
781                     "rgba(245, 54, 54, 0.9)",
782                     "rgba(237, 129, 40, 0.89)",
783                     "rgba(50, 172, 45, 0.97)"
784                   ],
785                   "dateFormat": "YYYY-MM-DD HH:mm:ss",
786                   "decimals": 1,
787                   "link": false,
788                   "mappingType": 1,
789                   "pattern": "Value #C",
790                   "thresholds": [],
791                   "type": "number",
792                   "unit": "bytes"
793                 },
794                 {
795                   "alias": "Filesystem",
796                   "colorMode": null,
797                   "colors": [
798                     "rgba(245, 54, 54, 0.9)",
799                     "rgba(237, 129, 40, 0.89)",
800                     "rgba(50, 172, 45, 0.97)"
801                   ],
802                   "dateFormat": "YYYY-MM-DD HH:mm:ss",
803                   "decimals": 2,
804                   "link": false,
805                   "mappingType": 1,
806                   "pattern": "fstype",
807                   "thresholds": [],
808                   "type": "string",
809                   "unit": "short"
810                 },
811                 {
812                   "alias": "",
813                   "colorMode": null,
814                   "colors": [
815                     "rgba(245, 54, 54, 0.9)",
816                     "rgba(237, 129, 40, 0.89)",
817                     "rgba(50, 172, 45, 0.97)"
818                   ],
819                   "decimals": 2,
820                   "pattern": "/.*/",
821                   "preserveFormat": true,
822                   "sanitize": false,
823                   "thresholds": [],
824                   "type": "hidden",
825                   "unit": "short"
826                 }
827               ],
828               "targets": [
829                 {
830                   "expr": "node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext4|xfs\"}-0",
831                   "format": "table",
832                   "hide": false,
833                   "instant": true,
834                   "interval": "10s",
835                   "intervalFactor": 1,
836                   "legendFormat": "",
837                   "refId": "A"
838                 },
839                 {
840                   "expr": "1-(node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext4|xfs\"} / node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext4|xfs\"})",
841                   "format": "table",
842                   "hide": false,
843                   "instant": true,
844                   "intervalFactor": 1,
845                   "legendFormat": "",
846                   "refId": "B"
847                 },
848                 {
849                   "expr": "node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext4|xfs\"}-0",
850                   "format": "table",
851                   "hide": false,
852                   "instant": true,
853                   "intervalFactor": 1,
854                   "legendFormat": "",
855                   "refId": "C"
856                 }
857               ],
858               "title": "Disk Space Used  (EXT4/XFS)",
859               "transform": "table",
860               "type": "table"
861             },
862             {
863               "aliasColors": {
864                 "vda_write": "#6ED0E0"
865               },
866               "bars": false,
867               "dashLength": 10,
868               "dashes": false,
869               "datasource": "Prometheus",
870               "description": "Per second read / write bytes ",
871               "fill": 1,
872               "fillGradient": 1,
873               "gridPos": {
874                 "h": 8,
875                 "w": 8,
876                 "x": 8,
877                 "y": 3
878               },
879               "height": "300",
880               "id": 168,
881               "legend": {
882                 "alignAsTable": true,
883                 "avg": true,
884                 "current": true,
885                 "hideEmpty": true,
886                 "hideZero": true,
887                 "max": true,
888                 "min": false,
889                 "show": true,
890                 "sort": "current",
891                 "sortDesc": true,
892                 "total": false,
893                 "values": true
894               },
895               "lines": true,
896               "linewidth": 2,
897               "links": [],
898               "nullPointMode": "null",
899               "options": {
900                 "dataLinks": []
901               },
902               "percentage": false,
903               "pointradius": 5,
904               "points": false,
905               "renderer": "flot",
906               "seriesOverrides": [
907                 {
908                   "alias": "/.*_Read bytes$/",
909                   "transform": "negative-Y"
910                 }
911               ],
912               "spaceLength": 10,
913               "stack": false,
914               "steppedLine": false,
915               "targets": [
916                 {
917                   "expr": "irate(node_disk_read_bytes_total{instance=~\"$node\"}[30m])",
918                   "format": "time_series",
919                   "interval": "",
920                   "intervalFactor": 1,
921                   "legendFormat": "{{instance}}_{{device}}_Read bytes",
922                   "refId": "A",
923                   "step": 10
924                 },
925                 {
926                   "expr": "irate(node_disk_written_bytes_total{instance=~\"$node\"}[30m])",
927                   "format": "time_series",
928                   "hide": false,
929                   "intervalFactor": 1,
930                   "legendFormat": "{{instance}}_{{device}}_Written bytes",
931                   "refId": "B",
932                   "step": 10
933                 }
934               ],
935               "thresholds": [],
936               "timeFrom": null,
937               "timeRegions": [],
938               "timeShift": null,
939               "title": "Disk R/W Data",
940               "tooltip": {
941                 "shared": true,
942                 "sort": 2,
943                 "value_type": "individual"
944               },
945               "type": "graph",
946               "xaxis": {
947                 "buckets": null,
948                 "mode": "time",
949                 "name": null,
950                 "show": true,
951                 "values": []
952               },
953               "yaxes": [
954                 {
955                   "decimals": null,
956                   "format": "Bps",
957                   "label": "Bytes read (-) / write (+)",
958                   "logBase": 1,
959                   "max": null,
960                   "min": null,
961                   "show": true
962                 },
963                 {
964                   "format": "short",
965                   "label": null,
966                   "logBase": 1,
967                   "max": null,
968                   "min": null,
969                   "show": false
970                 }
971               ],
972               "yaxis": {
973                 "align": false,
974                 "alignLevel": null
975               }
976             },
977             {
978               "aliasColors": {
979                 "Idle - Waiting for something to happen": "#052B51",
980                 "guest": "#9AC48A",
981                 "idle": "#052B51",
982                 "iowait": "#EAB839",
983                 "irq": "#BF1B00",
984                 "nice": "#C15C17",
985                 "sdb_每秒I/O操作%": "#d683ce",
986                 "softirq": "#E24D42",
987                 "steal": "#FCE2DE",
988                 "system": "#508642",
989                 "user": "#5195CE",
990                 "磁盘花费在I/O操作占比": "#ba43a9"
991               },
992               "bars": false,
993               "dashLength": 10,
994               "dashes": false,
995               "datasource": "Prometheus",
996               "decimals": null,
997               "description": "The time spent on I/O in the natural time of each second.(wall-clock time)",
998               "fill": 1,
999               "fillGradient": 5,
1000               "gridPos": {
1001                 "h": 8,
1002                 "w": 8,
1003                 "x": 16,
1004                 "y": 3
1005               },
1006               "id": 175,
1007               "legend": {
1008                 "alignAsTable": true,
1009                 "avg": true,
1010                 "current": true,
1011                 "hideEmpty": true,
1012                 "hideZero": true,
1013                 "max": true,
1014                 "min": false,
1015                 "rightSide": false,
1016                 "show": true,
1017                 "sideWidth": null,
1018                 "sort": null,
1019                 "sortDesc": null,
1020                 "total": false,
1021                 "values": true
1022               },
1023               "lines": true,
1024               "linewidth": 2,
1025               "links": [],
1026               "maxPerRow": 6,
1027               "nullPointMode": "null",
1028               "options": {
1029                 "dataLinks": []
1030               },
1031               "percentage": false,
1032               "pointradius": 5,
1033               "points": false,
1034               "renderer": "flot",
1035               "seriesOverrides": [],
1036               "spaceLength": 10,
1037               "stack": false,
1038               "steppedLine": false,
1039               "targets": [
1040                 {
1041                   "expr": "irate(node_disk_io_time_seconds_total{instance=~\"$node\"}[30m])",
1042                   "format": "time_series",
1043                   "intervalFactor": 1,
1044                   "legendFormat": "{{instance}}_{{device}}_ IO time",
1045                   "refId": "C"
1046                 }
1047               ],
1048               "thresholds": [],
1049               "timeFrom": null,
1050               "timeRegions": [],
1051               "timeShift": null,
1052               "title": "Time Spent Doing I/Os",
1053               "tooltip": {
1054                 "shared": true,
1055                 "sort": 2,
1056                 "value_type": "individual"
1057               },
1058               "type": "graph",
1059               "xaxis": {
1060                 "buckets": null,
1061                 "mode": "time",
1062                 "name": null,
1063                 "show": true,
1064                 "values": []
1065               },
1066               "yaxes": [
1067                 {
1068                   "decimals": null,
1069                   "format": "s",
1070                   "label": "",
1071                   "logBase": 1,
1072                   "max": null,
1073                   "min": null,
1074                   "show": true
1075                 },
1076                 {
1077                   "format": "short",
1078                   "label": null,
1079                   "logBase": 1,
1080                   "max": null,
1081                   "min": null,
1082                   "show": false
1083                 }
1084               ],
1085               "yaxis": {
1086                 "align": false,
1087                 "alignLevel": null
1088               }
1089             }
1090           ],
1091           "title": "Disk",
1092           "type": "row"
1093         },
1094         {
1095           "collapsed": true,
1096           "gridPos": {
1097             "h": 1,
1098             "w": 24,
1099             "x": 0,
1100             "y": 3
1101           },
1102           "id": 185,
1103           "panels": [
1104             {
1105               "bars": false,
1106               "dashLength": 10,
1107               "dashes": false,
1108               "datasource": "Prometheus",
1109               "decimals": 2,
1110               "fill": 1,
1111               "fillGradient": 0,
1112               "gridPos": {
1113                 "h": 8,
1114                 "w": 24,
1115                 "x": 0,
1116                 "y": 28
1117               },
1118               "height": "300",
1119               "id": 156,
1120               "legend": {
1121                 "alignAsTable": true,
1122                 "avg": false,
1123                 "current": true,
1124                 "max": false,
1125                 "min": false,
1126                 "rightSide": false,
1127                 "show": true,
1128                 "sort": "current",
1129                 "sortDesc": true,
1130                 "total": false,
1131                 "values": true
1132               },
1133               "lines": true,
1134               "linewidth": 2,
1135               "links": [],
1136               "nullPointMode": "null",
1137               "options": {
1138                 "dataLinks": []
1139               },
1140               "percentage": false,
1141               "pointradius": 5,
1142               "points": false,
1143               "renderer": "flot",
1144               "seriesOverrides": [
1145                 {
1146                   "alias": "/.*_Total/",
1147                   "color": "#C4162A",
1148                   "fill": 0
1149                 }
1150               ],
1151               "spaceLength": 10,
1152               "stack": false,
1153               "steppedLine": false,
1154               "targets": [
1155                 {
1156                   "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"}",
1157                   "format": "time_series",
1158                   "hide": false,
1159                   "instant": false,
1160                   "intervalFactor": 1,
1161                   "legendFormat": "{{instance}}_Total",
1162                   "refId": "A",
1163                   "step": 4
1164                 },
1165                 {
1166                   "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"} - node_memory_MemAvailable_bytes{instance=~\"$node\"}",
1167                   "format": "time_series",
1168                   "hide": false,
1169                   "intervalFactor": 1,
1170                   "legendFormat": "{{instance}}_Used",
1171                   "refId": "B",
1172                   "step": 4
1173                 },
1174                 {
1175                   "expr": "node_memory_MemAvailable_bytes{instance=~\"$node\"}",
1176                   "format": "time_series",
1177                   "hide": false,
1178                   "interval": "",
1179                   "intervalFactor": 1,
1180                   "legendFormat": "{{instance}}_Avaliable",
1181                   "refId": "F",
1182                   "step": 4
1183                 }
1184               ],
1185               "thresholds": [],
1186               "timeFrom": null,
1187               "timeRegions": [],
1188               "timeShift": null,
1189               "title": "Memory",
1190               "tooltip": {
1191                 "shared": true,
1192                 "sort": 2,
1193                 "value_type": "individual"
1194               },
1195               "type": "graph",
1196               "xaxis": {
1197                 "buckets": null,
1198                 "mode": "time",
1199                 "name": null,
1200                 "show": true,
1201                 "values": []
1202               },
1203               "yaxes": [
1204                 {
1205                   "format": "bytes",
1206                   "label": null,
1207                   "logBase": 1,
1208                   "max": null,
1209                   "min": "0",
1210                   "show": true
1211                 },
1212                 {
1213                   "format": "short",
1214                   "label": null,
1215                   "logBase": 1,
1216                   "max": null,
1217                   "min": null,
1218                   "show": true
1219                 }
1220               ],
1221               "yaxis": {
1222                 "align": false,
1223                 "alignLevel": null
1224               }
1225             }
1226           ],
1227           "title": "Memory",
1228           "type": "row"
1229         },
1230         {
1231           "collapsed": true,
1232           "gridPos": {
1233             "h": 1,
1234             "w": 24,
1235             "x": 0,
1236             "y": 4
1237           },
1238           "id": 187,
1239           "panels": [
1240             {
1241               "bars": false,
1242               "dashLength": 10,
1243               "dashes": false,
1244               "datasource": "Prometheus",
1245               "fill": 1,
1246               "fillGradient": 3,
1247               "gridPos": {
1248                 "h": 12,
1249                 "w": 12,
1250                 "x": 0,
1251                 "y": 29
1252               },
1253               "height": "300",
1254               "id": 157,
1255               "legend": {
1256                 "alignAsTable": true,
1257                 "avg": false,
1258                 "current": true,
1259                 "hideEmpty": true,
1260                 "hideZero": true,
1261                 "max": true,
1262                 "min": false,
1263                 "rightSide": false,
1264                 "show": true,
1265                 "sort": "current",
1266                 "sortDesc": true,
1267                 "total": false,
1268                 "values": true
1269               },
1270               "lines": true,
1271               "linewidth": 2,
1272               "links": [],
1273               "nullPointMode": "null",
1274               "options": {
1275                 "dataLinks": []
1276               },
1277               "percentage": false,
1278               "pointradius": 2,
1279               "points": false,
1280               "renderer": "flot",
1281               "seriesOverrides": [
1282                 {
1283                   "alias": "/.*_transmit$/",
1284                   "transform": "negative-Y"
1285                 }
1286               ],
1287               "spaceLength": 10,
1288               "stack": false,
1289               "steppedLine": false,
1290               "targets": [
1291                 {
1292                   "expr": "irate(node_network_receive_bytes_total{instance=~'$node',device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8",
1293                   "format": "time_series",
1294                   "intervalFactor": 1,
1295                   "legendFormat": "{{instance}}_{{device}}_receive",
1296                   "refId": "A",
1297                   "step": 4
1298                 },
1299                 {
1300                   "expr": "irate(node_network_transmit_bytes_total{instance=~'$node',device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8",
1301                   "format": "time_series",
1302                   "intervalFactor": 1,
1303                   "legendFormat": "{{instance}}_{{device}}_transmit",
1304                   "refId": "B",
1305                   "step": 4
1306                 }
1307               ],
1308               "thresholds": [],
1309               "timeFrom": null,
1310               "timeRegions": [],
1311               "timeShift": null,
1312               "title": "Network Traffic",
1313               "tooltip": {
1314                 "shared": true,
1315                 "sort": 2,
1316                 "value_type": "individual"
1317               },
1318               "type": "graph",
1319               "xaxis": {
1320                 "buckets": null,
1321                 "mode": "time",
1322                 "name": null,
1323                 "show": true,
1324                 "values": []
1325               },
1326               "yaxes": [
1327                 {
1328                   "format": "bps",
1329                   "label": "transmit(-)/receive(+)",
1330                   "logBase": 1,
1331                   "max": null,
1332                   "min": null,
1333                   "show": true
1334                 },
1335                 {
1336                   "format": "short",
1337                   "label": null,
1338                   "logBase": 1,
1339                   "max": null,
1340                   "min": null,
1341                   "show": false
1342                 }
1343               ],
1344               "yaxis": {
1345                 "align": false,
1346                 "alignLevel": null
1347               }
1348             },
1349             {
1350               "aliasColors": {
1351                 "TCP": "#6ED0E0"
1352               },
1353               "bars": false,
1354               "dashLength": 10,
1355               "dashes": false,
1356               "datasource": "Prometheus",
1357               "description": "TCP_alloc - Allocated sockets\n\nCurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT\n\nTCP_tw - Sockets wating close\n\nUDP_inuse - Udp sockets currently in use\n\nSockets_used - Sockets currently in use",
1358               "fill": 1,
1359               "fillGradient": 0,
1360               "gridPos": {
1361                 "h": 12,
1362                 "w": 12,
1363                 "x": 12,
1364                 "y": 29
1365               },
1366               "height": "300",
1367               "id": 158,
1368               "interval": "",
1369               "legend": {
1370                 "alignAsTable": true,
1371                 "avg": true,
1372                 "current": true,
1373                 "hideEmpty": true,
1374                 "hideZero": true,
1375                 "max": true,
1376                 "min": false,
1377                 "rightSide": false,
1378                 "show": true,
1379                 "sort": "current",
1380                 "sortDesc": true,
1381                 "total": false,
1382                 "values": true
1383               },
1384               "lines": true,
1385               "linewidth": 2,
1386               "links": [],
1387               "nullPointMode": "null",
1388               "options": {
1389                 "dataLinks": []
1390               },
1391               "percentage": false,
1392               "pointradius": 5,
1393               "points": false,
1394               "renderer": "flot",
1395               "seriesOverrides": [
1396                 {
1397                   "alias": "/.*_Sockets_used/",
1398                   "color": "#C4162A",
1399                   "fill": 0
1400                 }
1401               ],
1402               "spaceLength": 10,
1403               "stack": false,
1404               "steppedLine": false,
1405               "targets": [
1406                 {
1407                   "expr": "node_netstat_Tcp_CurrEstab{instance=~'$node'}",
1408                   "format": "time_series",
1409                   "hide": false,
1410                   "instant": false,
1411                   "interval": "",
1412                   "intervalFactor": 1,
1413                   "legendFormat": "{{instance}}_CurrEstab",
1414                   "refId": "A",
1415                   "step": 20
1416                 },
1417                 {
1418                   "expr": "node_sockstat_TCP_tw{instance=~'$node'}",
1419                   "format": "time_series",
1420                   "intervalFactor": 1,
1421                   "legendFormat": "{{instance}}_TCP_tw",
1422                   "refId": "D"
1423                 },
1424                 {
1425                   "expr": "node_sockstat_sockets_used{instance=~'$node'}",
1426                   "legendFormat": "{{instance}}_Sockets_used",
1427                   "refId": "B"
1428                 },
1429                 {
1430                   "expr": "node_sockstat_UDP_inuse{instance=~'$node'}",
1431                   "legendFormat": "{{instance}}_UDP_inuse",
1432                   "refId": "C"
1433                 },
1434                 {
1435                   "expr": "node_sockstat_TCP_alloc{instance=~'$node'}",
1436                   "legendFormat": "{{instance}}_TCP_alloc",
1437                   "refId": "E"
1438                 }
1439               ],
1440               "thresholds": [],
1441               "timeFrom": null,
1442               "timeRegions": [],
1443               "timeShift": null,
1444               "title": "Network Sockstat",
1445               "tooltip": {
1446                 "shared": true,
1447                 "sort": 2,
1448                 "value_type": "individual"
1449               },
1450               "type": "graph",
1451               "xaxis": {
1452                 "buckets": null,
1453                 "mode": "time",
1454                 "name": null,
1455                 "show": true,
1456                 "values": []
1457               },
1458               "yaxes": [
1459                 {
1460                   "format": "short",
1461                   "label": null,
1462                   "logBase": 1,
1463                   "max": null,
1464                   "min": null,
1465                   "show": true
1466                 },
1467                 {
1468                   "format": "short",
1469                   "label": null,
1470                   "logBase": 1,
1471                   "max": null,
1472                   "min": null,
1473                   "show": true
1474                 }
1475               ],
1476               "yaxis": {
1477                 "align": false,
1478                 "alignLevel": null
1479               }
1480             }
1481           ],
1482           "title": "Network",
1483           "type": "row"
1484         }
1485       ],
1486       "refresh": false,
1487       "schemaVersion": 19,
1488       "style": "dark",
1489       "tags": [],
1490       "templating": {
1491         "list": [
1492           {
1493             "allValue": null,
1494             "current": {
1495               "text": "node-exporter",
1496               "value": "node-exporter"
1497             },
1498             "datasource": "Prometheus",
1499             "definition": "label_values(node_uname_info, job)",
1500             "hide": 0,
1501             "includeAll": false,
1502             "label": "JOB",
1503             "multi": false,
1504             "name": "job",
1505             "options": [],
1506             "query": "label_values(node_uname_info, job)",
1507             "refresh": 1,
1508             "regex": "",
1509             "skipUrlSync": false,
1510             "sort": 1,
1511             "tagValuesQuery": "",
1512             "tags": [],
1513             "tagsQuery": "",
1514             "type": "query",
1515             "useTags": false
1516           },
1517           {
1518             "allValue": null,
1519             "current": {
1520               "text": "All",
1521               "value": "$__all"
1522             },
1523             "datasource": "Prometheus",
1524             "definition": "label_values(node_uname_info{job=~\"$job\"}, nodename)",
1525             "hide": 0,
1526             "includeAll": true,
1527             "label": "Host",
1528             "multi": true,
1529             "name": "hostname",
1530             "options": [],
1531             "query": "label_values(node_uname_info{job=~\"$job\"}, nodename)",
1532             "refresh": 1,
1533             "regex": "",
1534             "skipUrlSync": false,
1535             "sort": 0,
1536             "tagValuesQuery": "",
1537             "tags": [],
1538             "tagsQuery": "",
1539             "type": "query",
1540             "useTags": false
1541           },
1542           {
1543             "allFormat": "glob",
1544             "allValue": null,
1545             "current": {
1546               "tags": [],
1547               "text": "All",
1548               "value": "$__all"
1549             },
1550             "datasource": "Prometheus",
1551             "definition": "label_values(node_uname_info{nodename=~\"$hostname\"},instance)",
1552             "hide": 0,
1553             "includeAll": true,
1554             "label": "IP",
1555             "multi": false,
1556             "multiFormat": "regex values",
1557             "name": "node",
1558             "options": [],
1559             "query": "label_values(node_uname_info{nodename=~\"$hostname\"},instance)",
1560             "refresh": 2,
1561             "regex": "",
1562             "skipUrlSync": false,
1563             "sort": 1,
1564             "tagValuesQuery": "",
1565             "tags": [],
1566             "tagsQuery": "",
1567             "type": "query",
1568             "useTags": false
1569           },
1570           {
1571             "allValue": null,
1572             "current": {
1573               "text": "/",
1574               "value": "/"
1575             },
1576             "datasource": "Prometheus",
1577             "definition": "",
1578             "hide": 2,
1579             "includeAll": false,
1580             "label": "",
1581             "multi": false,
1582             "name": "maxmount",
1583             "options": [],
1584             "query": "query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext4|xfs\"}) by (mountpoint))))",
1585             "refresh": 2,
1586             "regex": "/.*\\\"(.*)\\\".*/",
1587             "skipUrlSync": false,
1588             "sort": 0,
1589             "tagValuesQuery": "",
1590             "tags": [],
1591             "tagsQuery": "",
1592             "type": "query",
1593             "useTags": false
1594           },
1595           {
1596             "allFormat": "glob",
1597             "allValue": null,
1598             "current": {
1599               "isNone": true,
1600               "text": "None",
1601               "value": ""
1602             },
1603             "datasource": "Prometheus",
1604             "definition": "",
1605             "hide": 2,
1606             "includeAll": false,
1607             "multi": false,
1608             "multiFormat": "regex values",
1609             "name": "env",
1610             "options": [],
1611             "query": "label_values(node_exporter_build_info,env)",
1612             "refresh": 2,
1613             "regex": "",
1614             "skipUrlSync": false,
1615             "sort": 1,
1616             "tagValuesQuery": "",
1617             "tags": [],
1618             "tagsQuery": "",
1619             "type": "query",
1620             "useTags": false
1621           },
1622           {
1623             "allFormat": "glob",
1624             "allValue": "",
1625             "current": {
1626               "isNone": true,
1627               "text": "None",
1628               "value": ""
1629             },
1630             "datasource": "Prometheus",
1631             "definition": "label_values(node_exporter_build_info{env=~'$env'},name)",
1632             "hide": 2,
1633             "includeAll": false,
1634             "label": "名称",
1635             "multi": true,
1636             "multiFormat": "regex values",
1637             "name": "name",
1638             "options": [],
1639             "query": "label_values(node_exporter_build_info{env=~'$env'},name)",
1640             "refresh": 2,
1641             "regex": "",
1642             "skipUrlSync": false,
1643             "sort": 1,
1644             "tagValuesQuery": "/.*/",
1645             "tags": [],
1646             "tagsQuery": "",
1647             "type": "query",
1648             "useTags": false
1649           }
1650         ]
1651       },
1652       "time": {
1653         "from": "now-2d",
1654         "to": "now"
1655       },
1656       "timepicker": {
1657         "now": true,
1658         "refresh_intervals": [
1659           "5s",
1660           "10s",
1661           "30s",
1662           "1m",
1663           "5m",
1664           "15m",
1665           "30m",
1666           "1h",
1667           "2h",
1668           "1d"
1669         ],
1670         "time_options": [
1671           "5m",
1672           "15m",
1673           "1h",
1674           "6h",
1675           "12h",
1676           "24h",
1677           "2d",
1678           "7d",
1679           "30d"
1680         ]
1681       },
1682       "timezone": "browser",
1683       "title": "Hosts",
1684       "uid": "ha7fSE0Zz",
1685       "version": 1
1686     }