Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/operations/observability/mixins/meta/dashboards/components/dashboard.json
2501 views
1
{
2
"__inputs": [],
3
"__requires": [
4
{
5
"type": "grafana",
6
"id": "grafana",
7
"name": "Grafana",
8
"version": "8.1.2"
9
},
10
{
11
"type": "panel",
12
"id": "graph",
13
"name": "Graph (old)",
14
"version": ""
15
},
16
{
17
"type": "datasource",
18
"id": "prometheus",
19
"name": "Prometheus",
20
"version": "1.0.0"
21
},
22
{
23
"type": "panel",
24
"id": "timeseries",
25
"name": "Time series",
26
"version": ""
27
}
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
"target": {
39
"limit": 100,
40
"matchAny": false,
41
"tags": [],
42
"type": "dashboard"
43
},
44
"type": "dashboard"
45
}
46
]
47
},
48
"editable": true,
49
"gnetId": null,
50
"graphTooltip": 1,
51
"id": null,
52
"iteration": 1630954714935,
53
"links": [],
54
"panels": [
55
{
56
"collapsed": false,
57
"datasource": null,
58
"fieldConfig": {
59
"defaults": {},
60
"overrides": []
61
},
62
"gridPos": {
63
"h": 1,
64
"w": 24,
65
"x": 0,
66
"y": 0
67
},
68
"id": 16,
69
"panels": [],
70
"title": "Pod Metrics",
71
"type": "row"
72
},
73
{
74
"datasource": "$datasource",
75
"fieldConfig": {
76
"defaults": {
77
"color": {
78
"mode": "palette-classic"
79
},
80
"custom": {
81
"axisLabel": "",
82
"axisPlacement": "auto",
83
"barAlignment": 0,
84
"drawStyle": "line",
85
"fillOpacity": 0,
86
"gradientMode": "none",
87
"hideFrom": {
88
"legend": false,
89
"tooltip": false,
90
"viz": false
91
},
92
"lineInterpolation": "linear",
93
"lineWidth": 1,
94
"pointSize": 5,
95
"scaleDistribution": {
96
"type": "linear"
97
},
98
"showPoints": "auto",
99
"spanNulls": false,
100
"stacking": {
101
"group": "A",
102
"mode": "none"
103
},
104
"thresholdsStyle": {
105
"mode": "off"
106
}
107
},
108
"mappings": [],
109
"thresholds": {
110
"mode": "absolute",
111
"steps": [
112
{
113
"color": "green",
114
"value": null
115
},
116
{
117
"color": "red",
118
"value": 80
119
}
120
]
121
}
122
},
123
"overrides": []
124
},
125
"gridPos": {
126
"h": 7,
127
"w": 10,
128
"x": 0,
129
"y": 1
130
},
131
"id": 34,
132
"options": {
133
"legend": {
134
"calcs": [],
135
"displayMode": "table",
136
"placement": "right"
137
},
138
"tooltip": {
139
"mode": "single"
140
}
141
},
142
"targets": [
143
{
144
"exemplar": true,
145
"expr": "kube_pod_container_info{cluster=~\"$cluster\", pod=~\"$pod\", image=~\".+\", container=\"dashboard\"}",
146
"interval": "",
147
"legendFormat": "{{cluster}} - {{image}}",
148
"queryType": "randomWalk",
149
"refId": "A"
150
}
151
],
152
"title": "Container image version",
153
"type": "timeseries"
154
},
155
{
156
"aliasColors": {},
157
"bars": false,
158
"dashLength": 10,
159
"dashes": false,
160
"datasource": "$datasource",
161
"decimals": 2,
162
"fill": 1,
163
"fillGradient": 0,
164
"gridPos": {
165
"h": 7,
166
"w": 7,
167
"x": 10,
168
"y": 1
169
},
170
"hiddenSeries": false,
171
"id": 2,
172
"legend": {
173
"alignAsTable": true,
174
"avg": true,
175
"current": true,
176
"max": true,
177
"min": false,
178
"show": true,
179
"sort": "current",
180
"sortDesc": true,
181
"total": false,
182
"values": true
183
},
184
"lines": true,
185
"linewidth": 1,
186
"nullPointMode": "null",
187
"options": {
188
"alertThreshold": true
189
},
190
"percentage": false,
191
"pluginVersion": "8.1.2",
192
"pointradius": 2,
193
"points": false,
194
"renderer": "flot",
195
"seriesOverrides": [],
196
"spaceLength": 10,
197
"stack": false,
198
"steppedLine": false,
199
"targets": [
200
{
201
"expr": "sum(\n rate(container_cpu_usage_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
202
"interval": "",
203
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Cores being used",
204
"queryType": "randomWalk",
205
"refId": "A"
206
}
207
],
208
"thresholds": [],
209
"timeFrom": null,
210
"timeRegions": [],
211
"timeShift": null,
212
"title": "CPU Utilization",
213
"tooltip": {
214
"shared": true,
215
"sort": 2,
216
"value_type": "individual"
217
},
218
"type": "graph",
219
"xaxis": {
220
"buckets": null,
221
"mode": "time",
222
"name": null,
223
"show": true,
224
"values": []
225
},
226
"yaxes": [
227
{
228
"decimals": 2,
229
"format": "short",
230
"label": null,
231
"logBase": 1,
232
"max": null,
233
"min": "0",
234
"show": true
235
},
236
{
237
"format": "short",
238
"label": null,
239
"logBase": 1,
240
"max": null,
241
"min": null,
242
"show": true
243
}
244
],
245
"yaxis": {
246
"align": false,
247
"alignLevel": null
248
}
249
},
250
{
251
"aliasColors": {},
252
"bars": false,
253
"dashLength": 10,
254
"dashes": false,
255
"datasource": "$datasource",
256
"description": "Saturation > 100% means that the container is requesting more than its limits.\n\nKubernetes will start to throttle CPU when that happens. That's a sign of degraded performance.\n\n'No Data' indicates that the pod has no CPU limits.",
257
"fill": 1,
258
"fillGradient": 0,
259
"gridPos": {
260
"h": 7,
261
"w": 7,
262
"x": 17,
263
"y": 1
264
},
265
"hiddenSeries": false,
266
"id": 4,
267
"legend": {
268
"avg": false,
269
"current": false,
270
"max": false,
271
"min": false,
272
"show": true,
273
"total": false,
274
"values": false
275
},
276
"lines": true,
277
"linewidth": 1,
278
"nullPointMode": "null",
279
"options": {
280
"alertThreshold": true
281
},
282
"percentage": false,
283
"pluginVersion": "8.1.2",
284
"pointradius": 2,
285
"points": false,
286
"renderer": "flot",
287
"seriesOverrides": [
288
{
289
"alias": "/.*CPU Throttles/",
290
"yaxis": 2
291
}
292
],
293
"spaceLength": 10,
294
"stack": false,
295
"steppedLine": false,
296
"targets": [
297
{
298
"expr": "sum(\n rate(container_cpu_usage_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)\n/\nsum(\n kube_pod_container_resource_limits_cpu_cores{container!=\"POD\", cluster=\"$cluster\", pod=~\"$pod\"}\n) by (pod, cluster, node)\n",
299
"interval": "",
300
"legendFormat": "{{cluster}} - {{node} - {{pod}} - CPU Saturation",
301
"queryType": "randomWalk",
302
"refId": "A"
303
},
304
{
305
"expr": "sum(\nrate(container_cpu_cfs_throttled_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod)",
306
"interval": "",
307
"legendFormat": "{{pod}} - CPU Throttles",
308
"queryType": "randomWalk",
309
"refId": "B"
310
}
311
],
312
"thresholds": [],
313
"timeFrom": null,
314
"timeRegions": [],
315
"timeShift": null,
316
"title": "CPU Saturation",
317
"tooltip": {
318
"shared": true,
319
"sort": 2,
320
"value_type": "individual"
321
},
322
"type": "graph",
323
"xaxis": {
324
"buckets": null,
325
"mode": "time",
326
"name": null,
327
"show": true,
328
"values": []
329
},
330
"yaxes": [
331
{
332
"decimals": 2,
333
"format": "percentunit",
334
"label": null,
335
"logBase": 1,
336
"max": null,
337
"min": "0",
338
"show": true
339
},
340
{
341
"format": "s",
342
"label": null,
343
"logBase": 1,
344
"max": null,
345
"min": null,
346
"show": true
347
}
348
],
349
"yaxis": {
350
"align": false,
351
"alignLevel": null
352
}
353
},
354
{
355
"aliasColors": {},
356
"bars": false,
357
"dashLength": 10,
358
"dashes": false,
359
"datasource": "$datasource",
360
"fill": 1,
361
"fillGradient": 0,
362
"gridPos": {
363
"h": 7,
364
"w": 12,
365
"x": 0,
366
"y": 8
367
},
368
"hiddenSeries": false,
369
"id": 6,
370
"legend": {
371
"alignAsTable": true,
372
"avg": true,
373
"current": true,
374
"max": true,
375
"min": false,
376
"show": true,
377
"total": false,
378
"values": true
379
},
380
"lines": true,
381
"linewidth": 1,
382
"nullPointMode": "null",
383
"options": {
384
"alertThreshold": true
385
},
386
"percentage": false,
387
"pluginVersion": "8.1.2",
388
"pointradius": 2,
389
"points": false,
390
"renderer": "flot",
391
"seriesOverrides": [],
392
"spaceLength": 10,
393
"stack": false,
394
"steppedLine": false,
395
"targets": [
396
{
397
"expr": "sum(container_memory_working_set_bytes{container!=\"POD\", container!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}) by (pod, cluster, node)",
398
"interval": "",
399
"legendFormat": "{{cluster}} - {{node}} - {{pod}}",
400
"queryType": "randomWalk",
401
"refId": "A"
402
}
403
],
404
"thresholds": [],
405
"timeFrom": null,
406
"timeRegions": [],
407
"timeShift": null,
408
"title": "Memory Utilization",
409
"tooltip": {
410
"shared": true,
411
"sort": 2,
412
"value_type": "individual"
413
},
414
"type": "graph",
415
"xaxis": {
416
"buckets": null,
417
"mode": "time",
418
"name": null,
419
"show": true,
420
"values": []
421
},
422
"yaxes": [
423
{
424
"format": "bytes",
425
"label": null,
426
"logBase": 1,
427
"max": null,
428
"min": "0",
429
"show": true
430
},
431
{
432
"format": "short",
433
"label": null,
434
"logBase": 1,
435
"max": null,
436
"min": null,
437
"show": true
438
}
439
],
440
"yaxis": {
441
"align": false,
442
"alignLevel": null
443
}
444
},
445
{
446
"aliasColors": {},
447
"bars": false,
448
"dashLength": 10,
449
"dashes": false,
450
"datasource": "$datasource",
451
"decimals": 4,
452
"description": "Memory can't be throttled. When a container reaches 100% of its memory limits, Kubernetes will kill the container and restart it.\n\n'No Data' indicates that the pod doesn't have Memory limits.",
453
"fill": 1,
454
"fillGradient": 0,
455
"gridPos": {
456
"h": 7,
457
"w": 12,
458
"x": 12,
459
"y": 8
460
},
461
"hiddenSeries": false,
462
"id": 8,
463
"legend": {
464
"alignAsTable": true,
465
"avg": true,
466
"current": true,
467
"max": true,
468
"min": false,
469
"show": true,
470
"total": false,
471
"values": true
472
},
473
"lines": true,
474
"linewidth": 1,
475
"nullPointMode": "null",
476
"options": {
477
"alertThreshold": true
478
},
479
"percentage": false,
480
"pluginVersion": "8.1.2",
481
"pointradius": 2,
482
"points": false,
483
"renderer": "flot",
484
"seriesOverrides": [],
485
"spaceLength": 10,
486
"stack": false,
487
"steppedLine": false,
488
"targets": [
489
{
490
"expr": "sum(\nrate(container_memory_working_set_bytes{container!=\"POD\", container!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)\n/\nsum(\n kube_pod_container_resource_limits{container!=\"POD\", cluster=\"$cluster\", pod=~\"$pod\", resource=\"memory\"}\n) by (pod, cluster, node)\n",
491
"interval": "",
492
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Memory Saturation",
493
"queryType": "randomWalk",
494
"refId": "A"
495
}
496
],
497
"thresholds": [],
498
"timeFrom": null,
499
"timeRegions": [],
500
"timeShift": null,
501
"title": "Memory Saturation",
502
"tooltip": {
503
"shared": true,
504
"sort": 2,
505
"value_type": "individual"
506
},
507
"type": "graph",
508
"xaxis": {
509
"buckets": null,
510
"mode": "time",
511
"name": null,
512
"show": true,
513
"values": []
514
},
515
"yaxes": [
516
{
517
"decimals": 2,
518
"format": "percentunit",
519
"label": null,
520
"logBase": 1,
521
"max": null,
522
"min": "0",
523
"show": true
524
},
525
{
526
"format": "short",
527
"label": null,
528
"logBase": 1,
529
"max": null,
530
"min": null,
531
"show": true
532
}
533
],
534
"yaxis": {
535
"align": false,
536
"alignLevel": null
537
}
538
},
539
{
540
"aliasColors": {},
541
"bars": false,
542
"dashLength": 10,
543
"dashes": false,
544
"datasource": "$datasource",
545
"fill": 1,
546
"fillGradient": 0,
547
"gridPos": {
548
"h": 7,
549
"w": 8,
550
"x": 0,
551
"y": 15
552
},
553
"hiddenSeries": false,
554
"id": 10,
555
"legend": {
556
"alignAsTable": true,
557
"avg": false,
558
"current": true,
559
"max": false,
560
"min": false,
561
"show": true,
562
"total": false,
563
"values": true
564
},
565
"lines": true,
566
"linewidth": 1,
567
"nullPointMode": "null",
568
"options": {
569
"alertThreshold": true
570
},
571
"percentage": false,
572
"pluginVersion": "8.1.2",
573
"pointradius": 2,
574
"points": false,
575
"renderer": "flot",
576
"seriesOverrides": [],
577
"spaceLength": 10,
578
"stack": false,
579
"steppedLine": false,
580
"targets": [
581
{
582
"expr": "sum (\n rate(container_network_receive_bytes_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
583
"interval": "",
584
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
585
"queryType": "randomWalk",
586
"refId": "A"
587
},
588
{
589
"expr": "sum (\n rate(container_network_transmit_bytes_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
590
"interval": "",
591
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
592
"queryType": "randomWalk",
593
"refId": "B"
594
}
595
],
596
"thresholds": [],
597
"timeFrom": null,
598
"timeRegions": [],
599
"timeShift": null,
600
"title": "Network Utilization",
601
"tooltip": {
602
"shared": true,
603
"sort": 2,
604
"value_type": "individual"
605
},
606
"type": "graph",
607
"xaxis": {
608
"buckets": null,
609
"mode": "time",
610
"name": null,
611
"show": true,
612
"values": []
613
},
614
"yaxes": [
615
{
616
"format": "binBps",
617
"label": null,
618
"logBase": 1,
619
"max": null,
620
"min": "0",
621
"show": true
622
},
623
{
624
"format": "short",
625
"label": null,
626
"logBase": 1,
627
"max": null,
628
"min": null,
629
"show": true
630
}
631
],
632
"yaxis": {
633
"align": false,
634
"alignLevel": null
635
}
636
},
637
{
638
"aliasColors": {},
639
"bars": false,
640
"dashLength": 10,
641
"dashes": false,
642
"datasource": "$datasource",
643
"fill": 1,
644
"fillGradient": 0,
645
"gridPos": {
646
"h": 7,
647
"w": 8,
648
"x": 8,
649
"y": 15
650
},
651
"hiddenSeries": false,
652
"id": 30,
653
"legend": {
654
"alignAsTable": true,
655
"avg": false,
656
"current": true,
657
"max": false,
658
"min": false,
659
"rightSide": false,
660
"show": true,
661
"total": false,
662
"values": true
663
},
664
"lines": true,
665
"linewidth": 1,
666
"nullPointMode": "null",
667
"options": {
668
"alertThreshold": true
669
},
670
"percentage": false,
671
"pluginVersion": "8.1.2",
672
"pointradius": 2,
673
"points": false,
674
"renderer": "flot",
675
"seriesOverrides": [],
676
"spaceLength": 10,
677
"stack": false,
678
"steppedLine": false,
679
"targets": [
680
{
681
"expr": "sum (\n rate(container_network_receive_packets_dropped_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
682
"interval": "",
683
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Receive",
684
"queryType": "randomWalk",
685
"refId": "A"
686
},
687
{
688
"expr": "sum (\n rate(container_network_transmit_packets_dropped_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
689
"interval": "",
690
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmit",
691
"queryType": "randomWalk",
692
"refId": "B"
693
}
694
],
695
"thresholds": [],
696
"timeFrom": null,
697
"timeRegions": [],
698
"timeShift": null,
699
"title": "Network Saturation (Packets Dropped)",
700
"tooltip": {
701
"shared": true,
702
"sort": 2,
703
"value_type": "individual"
704
},
705
"type": "graph",
706
"xaxis": {
707
"buckets": null,
708
"mode": "time",
709
"name": null,
710
"show": true,
711
"values": []
712
},
713
"yaxes": [
714
{
715
"decimals": 2,
716
"format": "pps",
717
"label": null,
718
"logBase": 1,
719
"max": null,
720
"min": "0",
721
"show": true
722
},
723
{
724
"format": "short",
725
"label": null,
726
"logBase": 1,
727
"max": null,
728
"min": null,
729
"show": true
730
}
731
],
732
"yaxis": {
733
"align": false,
734
"alignLevel": null
735
}
736
},
737
{
738
"aliasColors": {},
739
"bars": false,
740
"dashLength": 10,
741
"dashes": false,
742
"datasource": "$datasource",
743
"fill": 1,
744
"fillGradient": 0,
745
"gridPos": {
746
"h": 7,
747
"w": 8,
748
"x": 16,
749
"y": 15
750
},
751
"hiddenSeries": false,
752
"id": 32,
753
"legend": {
754
"alignAsTable": true,
755
"avg": false,
756
"current": true,
757
"max": false,
758
"min": false,
759
"show": true,
760
"total": false,
761
"values": true
762
},
763
"lines": true,
764
"linewidth": 1,
765
"nullPointMode": "null",
766
"options": {
767
"alertThreshold": true
768
},
769
"percentage": false,
770
"pluginVersion": "8.1.2",
771
"pointradius": 2,
772
"points": false,
773
"renderer": "flot",
774
"seriesOverrides": [],
775
"spaceLength": 10,
776
"stack": false,
777
"steppedLine": false,
778
"targets": [
779
{
780
"expr": "sum (\n rate(container_network_receive_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
781
"interval": "",
782
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
783
"queryType": "randomWalk",
784
"refId": "A"
785
},
786
{
787
"expr": "sum (\n rate(container_network_transmit_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
788
"interval": "",
789
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
790
"queryType": "randomWalk",
791
"refId": "B"
792
}
793
],
794
"thresholds": [],
795
"timeFrom": null,
796
"timeRegions": [],
797
"timeShift": null,
798
"title": "Network Errors",
799
"tooltip": {
800
"shared": true,
801
"sort": 2,
802
"value_type": "individual"
803
},
804
"type": "graph",
805
"xaxis": {
806
"buckets": null,
807
"mode": "time",
808
"name": null,
809
"show": true,
810
"values": []
811
},
812
"yaxes": [
813
{
814
"decimals": 2,
815
"format": "Errors/s",
816
"label": null,
817
"logBase": 1,
818
"max": null,
819
"min": "0",
820
"show": true
821
},
822
{
823
"format": "short",
824
"label": null,
825
"logBase": 1,
826
"max": null,
827
"min": null,
828
"show": true
829
}
830
],
831
"yaxis": {
832
"align": false,
833
"alignLevel": null
834
}
835
},
836
{
837
"aliasColors": {},
838
"bars": false,
839
"dashLength": 10,
840
"dashes": false,
841
"datasource": "$datasource",
842
"decimals": 4,
843
"description": "",
844
"fill": 1,
845
"fillGradient": 0,
846
"gridPos": {
847
"h": 9,
848
"w": 8,
849
"x": 0,
850
"y": 22
851
},
852
"hiddenSeries": false,
853
"id": 22,
854
"legend": {
855
"alignAsTable": true,
856
"avg": true,
857
"current": true,
858
"max": true,
859
"min": false,
860
"show": true,
861
"total": false,
862
"values": true
863
},
864
"lines": true,
865
"linewidth": 1,
866
"nullPointMode": "null",
867
"options": {
868
"alertThreshold": true
869
},
870
"percentage": false,
871
"pluginVersion": "8.1.2",
872
"pointradius": 2,
873
"points": false,
874
"renderer": "flot",
875
"seriesOverrides": [],
876
"spaceLength": 10,
877
"stack": false,
878
"steppedLine": false,
879
"targets": [
880
{
881
"expr": "rate(kube_pod_container_status_restarts_total{cluster=~\"$cluster\", pod=~\"$pod\"}[1m])",
882
"interval": "",
883
"legendFormat": "{{cluster}} - {{kubernetes_pod_node_name}} - {{pod}} ",
884
"queryType": "randomWalk",
885
"refId": "A"
886
}
887
],
888
"thresholds": [],
889
"timeFrom": null,
890
"timeRegions": [],
891
"timeShift": null,
892
"title": "Pod Restarts",
893
"tooltip": {
894
"shared": true,
895
"sort": 2,
896
"value_type": "individual"
897
},
898
"type": "graph",
899
"xaxis": {
900
"buckets": null,
901
"mode": "time",
902
"name": null,
903
"show": true,
904
"values": []
905
},
906
"yaxes": [
907
{
908
"decimals": 2,
909
"format": "short",
910
"label": null,
911
"logBase": 1,
912
"max": null,
913
"min": "0",
914
"show": true
915
},
916
{
917
"format": "short",
918
"label": null,
919
"logBase": 1,
920
"max": null,
921
"min": null,
922
"show": true
923
}
924
],
925
"yaxis": {
926
"align": false,
927
"alignLevel": null
928
}
929
},
930
{
931
"aliasColors": {},
932
"bars": false,
933
"dashLength": 10,
934
"dashes": false,
935
"datasource": "$datasource",
936
"decimals": 0,
937
"description": "",
938
"fill": 1,
939
"fillGradient": 0,
940
"gridPos": {
941
"h": 9,
942
"w": 8,
943
"x": 8,
944
"y": 22
945
},
946
"hiddenSeries": false,
947
"id": 28,
948
"legend": {
949
"alignAsTable": true,
950
"avg": false,
951
"current": true,
952
"max": false,
953
"min": false,
954
"show": true,
955
"total": false,
956
"values": true
957
},
958
"lines": true,
959
"linewidth": 1,
960
"nullPointMode": "null",
961
"options": {
962
"alertThreshold": true
963
},
964
"percentage": false,
965
"pluginVersion": "8.1.2",
966
"pointradius": 2,
967
"points": false,
968
"renderer": "flot",
969
"seriesOverrides": [],
970
"spaceLength": 10,
971
"stack": false,
972
"steppedLine": false,
973
"targets": [
974
{
975
"expr": "kube_pod_container_status_running{cluster=~\"$cluster\", pod=~\"$pod\"} == 1 ",
976
"interval": "",
977
"legendFormat": "{{pod}} - RUNNING",
978
"queryType": "randomWalk",
979
"refId": "A"
980
},
981
{
982
"expr": "(\n sum by (pod) (kube_pod_container_status_terminated{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n) * on(pod) group_left(reason) (\n sum by (pod, reason) (kube_pod_container_status_terminated_reason{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n)",
983
"interval": "",
984
"legendFormat": "{{pod}} - TERMINATED -> {{reason}}",
985
"queryType": "randomWalk",
986
"refId": "B"
987
},
988
{
989
"expr": "(\n sum by (pod) (kube_pod_container_status_waiting{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n) * on(pod) group_left(reason) (\n sum by (pod, reason) (kube_pod_container_status_waiting_reason{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n)",
990
"interval": "",
991
"legendFormat": "{{pod}} - WAITING -> {{reason}}",
992
"queryType": "randomWalk",
993
"refId": "C"
994
}
995
],
996
"thresholds": [],
997
"timeFrom": null,
998
"timeRegions": [],
999
"timeShift": null,
1000
"title": "Pod Status",
1001
"tooltip": {
1002
"shared": true,
1003
"sort": 2,
1004
"value_type": "individual"
1005
},
1006
"type": "graph",
1007
"xaxis": {
1008
"buckets": null,
1009
"mode": "time",
1010
"name": null,
1011
"show": true,
1012
"values": []
1013
},
1014
"yaxes": [
1015
{
1016
"decimals": 0,
1017
"format": "short",
1018
"label": null,
1019
"logBase": 1,
1020
"max": null,
1021
"min": null,
1022
"show": true
1023
},
1024
{
1025
"format": "short",
1026
"label": null,
1027
"logBase": 1,
1028
"max": null,
1029
"min": null,
1030
"show": true
1031
}
1032
],
1033
"yaxis": {
1034
"align": false,
1035
"alignLevel": null
1036
}
1037
},
1038
{
1039
"aliasColors": {},
1040
"bars": false,
1041
"dashLength": 10,
1042
"dashes": false,
1043
"datasource": "$datasource",
1044
"decimals": 0,
1045
"fill": 1,
1046
"fillGradient": 0,
1047
"gridPos": {
1048
"h": 9,
1049
"w": 8,
1050
"x": 16,
1051
"y": 22
1052
},
1053
"hiddenSeries": false,
1054
"id": 26,
1055
"legend": {
1056
"alignAsTable": true,
1057
"avg": false,
1058
"current": true,
1059
"max": false,
1060
"min": false,
1061
"show": true,
1062
"total": false,
1063
"values": true
1064
},
1065
"lines": true,
1066
"linewidth": 1,
1067
"nullPointMode": "null",
1068
"options": {
1069
"alertThreshold": true
1070
},
1071
"percentage": false,
1072
"pluginVersion": "8.1.2",
1073
"pointradius": 2,
1074
"points": false,
1075
"renderer": "flot",
1076
"seriesOverrides": [],
1077
"spaceLength": 10,
1078
"stack": false,
1079
"steppedLine": false,
1080
"targets": [
1081
{
1082
"expr": "kube_deployment_spec_replicas{cluster=~\"$cluster\", deployment=\"dashboard\"}",
1083
"interval": "",
1084
"legendFormat": "{{cluster}} - {{deployment}} - Desired",
1085
"queryType": "randomWalk",
1086
"refId": "C"
1087
},
1088
{
1089
"expr": "kube_deployment_status_replicas_available{cluster=~\"$cluster\", deployment=\"dashboard\"}",
1090
"interval": "",
1091
"legendFormat": "{{cluster}} - {{deployment}} - Available replicas",
1092
"queryType": "randomWalk",
1093
"refId": "A"
1094
},
1095
{
1096
"expr": "kube_deployment_status_replicas_unavailable{cluster=~\"$cluster\", deployment=\"dashboard\"}",
1097
"interval": "",
1098
"legendFormat": "{{cluster}} - {{deployment}} - Unvailable replicas",
1099
"queryType": "randomWalk",
1100
"refId": "B"
1101
}
1102
],
1103
"thresholds": [],
1104
"timeFrom": null,
1105
"timeRegions": [],
1106
"timeShift": null,
1107
"title": "Replicas availability",
1108
"tooltip": {
1109
"shared": true,
1110
"sort": 2,
1111
"value_type": "individual"
1112
},
1113
"type": "graph",
1114
"xaxis": {
1115
"buckets": null,
1116
"mode": "time",
1117
"name": null,
1118
"show": true,
1119
"values": []
1120
},
1121
"yaxes": [
1122
{
1123
"decimals": 0,
1124
"format": "short",
1125
"label": null,
1126
"logBase": 1,
1127
"max": null,
1128
"min": null,
1129
"show": true
1130
},
1131
{
1132
"format": "short",
1133
"label": null,
1134
"logBase": 1,
1135
"max": null,
1136
"min": null,
1137
"show": true
1138
}
1139
],
1140
"yaxis": {
1141
"align": false,
1142
"alignLevel": null
1143
}
1144
}
1145
],
1146
"refresh": "30s",
1147
"schemaVersion": 30,
1148
"style": "dark",
1149
"tags": [
1150
"gitpod-mixin"
1151
],
1152
"templating": {
1153
"list": [
1154
{
1155
"allValue": null,
1156
"current": {},
1157
"datasource": "$datasource",
1158
"definition": "label_values(container_cpu_usage_seconds_total, cluster)",
1159
"description": null,
1160
"error": null,
1161
"hide": 0,
1162
"includeAll": true,
1163
"label": "Cluster",
1164
"multi": true,
1165
"name": "cluster",
1166
"options": [],
1167
"query": {
1168
"query": "label_values(container_cpu_usage_seconds_total, cluster)",
1169
"refId": "StandardVariableQuery"
1170
},
1171
"refresh": 1,
1172
"regex": "",
1173
"skipUrlSync": false,
1174
"sort": 0,
1175
"tagValuesQuery": "",
1176
"tagsQuery": "",
1177
"type": "query",
1178
"useTags": false
1179
},
1180
{
1181
"allValue": null,
1182
"current": {},
1183
"datasource": "$datasource",
1184
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"dashboard.*\"}, node)",
1185
"description": null,
1186
"error": null,
1187
"hide": 0,
1188
"includeAll": true,
1189
"label": "Node",
1190
"multi": true,
1191
"name": "node",
1192
"options": [],
1193
"query": {
1194
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"dashboard.*\"}, node)",
1195
"refId": "StandardVariableQuery"
1196
},
1197
"refresh": 1,
1198
"regex": "",
1199
"skipUrlSync": false,
1200
"sort": 0,
1201
"tagValuesQuery": "",
1202
"tagsQuery": "",
1203
"type": "query",
1204
"useTags": false
1205
},
1206
{
1207
"allValue": null,
1208
"current": {},
1209
"datasource": "$datasource",
1210
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"dashboard.*\"}, pod)",
1211
"description": null,
1212
"error": null,
1213
"hide": 0,
1214
"includeAll": true,
1215
"label": "Pod",
1216
"multi": true,
1217
"name": "pod",
1218
"options": [],
1219
"query": {
1220
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"dashboard.*\"}, pod)",
1221
"refId": "StandardVariableQuery"
1222
},
1223
"refresh": 1,
1224
"regex": "",
1225
"skipUrlSync": false,
1226
"sort": 0,
1227
"tagValuesQuery": "",
1228
"tagsQuery": "",
1229
"type": "query",
1230
"useTags": false
1231
},
1232
{
1233
"current": {
1234
"selected": false,
1235
"text": "VictoriaMetrics",
1236
"value": "VictoriaMetrics"
1237
},
1238
"description": null,
1239
"error": null,
1240
"hide": 2,
1241
"includeAll": false,
1242
"label": null,
1243
"multi": false,
1244
"name": "datasource",
1245
"options": [],
1246
"query": "prometheus",
1247
"refresh": 1,
1248
"regex": "",
1249
"skipUrlSync": false,
1250
"type": "datasource"
1251
}
1252
]
1253
},
1254
"time": {
1255
"from": "now-1h",
1256
"to": "now"
1257
},
1258
"timepicker": {},
1259
"timezone": "utc",
1260
"title": "Gitpod / Component / dashboard",
1261
"uid": "dashboard",
1262
"version": 1
1263
}
1264