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/proxy.json
2501 views
1
{
2
"annotations": {
3
"list": [
4
{
5
"builtIn": 1,
6
"datasource": {
7
"type": "datasource",
8
"uid": "grafana"
9
},
10
"enable": true,
11
"hide": true,
12
"iconColor": "rgba(0, 211, 255, 1)",
13
"name": "Annotations & Alerts",
14
"target": {
15
"limit": 100,
16
"matchAny": false,
17
"tags": [],
18
"type": "dashboard"
19
},
20
"type": "dashboard"
21
}
22
]
23
},
24
"editable": true,
25
"fiscalYearStartMonth": 0,
26
"graphTooltip": 1,
27
"id": 89,
28
"links": [],
29
"panels": [
30
{
31
"gridPos": {
32
"h": 1,
33
"w": 24,
34
"x": 0,
35
"y": 0
36
},
37
"id": 35,
38
"title": "caddy metrics",
39
"type": "row"
40
},
41
{
42
"datasource": {
43
"type": "prometheus",
44
"uid": "P4169E866C3094E38"
45
},
46
"fieldConfig": {
47
"defaults": {
48
"custom": {
49
"hideFrom": {
50
"legend": false,
51
"tooltip": false,
52
"viz": false
53
},
54
"scaleDistribution": {
55
"type": "linear"
56
}
57
}
58
},
59
"overrides": []
60
},
61
"gridPos": {
62
"h": 8,
63
"w": 24,
64
"x": 0,
65
"y": 1
66
},
67
"id": 36,
68
"options": {
69
"calculate": false,
70
"cellGap": 1,
71
"cellValues": {},
72
"color": {
73
"exponent": 0.6,
74
"fill": "dark-orange",
75
"mode": "scheme",
76
"reverse": false,
77
"scale": "exponential",
78
"scheme": "Spectral",
79
"steps": 64
80
},
81
"exemplars": {
82
"color": "rgba(255,0,255,0.7)"
83
},
84
"filterValues": {
85
"le": 1e-9
86
},
87
"legend": {
88
"show": true
89
},
90
"rowsFrame": {
91
"layout": "auto"
92
},
93
"tooltip": {
94
"mode": "single",
95
"showColorScale": false,
96
"yHistogram": false
97
},
98
"yAxis": {
99
"axisPlacement": "left",
100
"reverse": false,
101
"unit": "s"
102
}
103
},
104
"pluginVersion": "10.4.1",
105
"targets": [
106
{
107
"datasource": {
108
"type": "prometheus",
109
"uid": "P4169E866C3094E38"
110
},
111
"editorMode": "code",
112
"exemplar": false,
113
"expr": " sum(rate(caddy_http_request_duration_seconds_bucket{cluster=~\"$cluster\"}[$__rate_interval])) by (le)",
114
"format": "heatmap",
115
"instant": false,
116
"legendFormat": "__auto",
117
"range": true,
118
"refId": "A"
119
}
120
],
121
"title": "Request Duration",
122
"type": "heatmap"
123
},
124
{
125
"datasource": {
126
"type": "prometheus",
127
"uid": "P4169E866C3094E38"
128
},
129
"fieldConfig": {
130
"defaults": {
131
"custom": {
132
"hideFrom": {
133
"legend": false,
134
"tooltip": false,
135
"viz": false
136
},
137
"scaleDistribution": {
138
"type": "linear"
139
}
140
}
141
},
142
"overrides": []
143
},
144
"gridPos": {
145
"h": 8,
146
"w": 24,
147
"x": 0,
148
"y": 9
149
},
150
"id": 40,
151
"options": {
152
"calculate": false,
153
"cellGap": 1,
154
"cellValues": {},
155
"color": {
156
"exponent": 0.6,
157
"fill": "dark-orange",
158
"mode": "scheme",
159
"reverse": false,
160
"scale": "exponential",
161
"scheme": "Spectral",
162
"steps": 64
163
},
164
"exemplars": {
165
"color": "rgba(255,0,255,0.7)"
166
},
167
"filterValues": {
168
"le": 1e-9
169
},
170
"legend": {
171
"show": true
172
},
173
"rowsFrame": {
174
"layout": "auto"
175
},
176
"tooltip": {
177
"mode": "single",
178
"showColorScale": false,
179
"yHistogram": false
180
},
181
"yAxis": {
182
"axisPlacement": "left",
183
"reverse": false,
184
"unit": "s"
185
}
186
},
187
"pluginVersion": "10.4.1",
188
"targets": [
189
{
190
"datasource": {
191
"type": "prometheus",
192
"uid": "P4169E866C3094E38"
193
},
194
"editorMode": "code",
195
"exemplar": false,
196
"expr": " sum(rate(caddy_http_response_duration_seconds_bucket{cluster=~\"$cluster\"}[$__rate_interval])) by (le)",
197
"format": "heatmap",
198
"instant": false,
199
"legendFormat": "__auto",
200
"range": true,
201
"refId": "A"
202
}
203
],
204
"title": "Response Duration",
205
"type": "heatmap"
206
},
207
{
208
"datasource": {
209
"type": "prometheus",
210
"uid": "P4169E866C3094E38"
211
},
212
"fieldConfig": {
213
"defaults": {
214
"color": {
215
"mode": "palette-classic"
216
},
217
"custom": {
218
"axisBorderShow": false,
219
"axisCenteredZero": false,
220
"axisColorMode": "text",
221
"axisLabel": "",
222
"axisPlacement": "auto",
223
"barAlignment": 0,
224
"drawStyle": "line",
225
"fillOpacity": 0,
226
"gradientMode": "none",
227
"hideFrom": {
228
"legend": false,
229
"tooltip": false,
230
"viz": false
231
},
232
"insertNulls": false,
233
"lineInterpolation": "linear",
234
"lineWidth": 1,
235
"pointSize": 5,
236
"scaleDistribution": {
237
"type": "linear"
238
},
239
"showPoints": "auto",
240
"spanNulls": false,
241
"stacking": {
242
"group": "A",
243
"mode": "none"
244
},
245
"thresholdsStyle": {
246
"mode": "off"
247
}
248
},
249
"mappings": [],
250
"thresholds": {
251
"mode": "absolute",
252
"steps": [
253
{
254
"color": "green",
255
"value": null
256
},
257
{
258
"color": "red",
259
"value": 80
260
}
261
]
262
}
263
},
264
"overrides": []
265
},
266
"gridPos": {
267
"h": 8,
268
"w": 24,
269
"x": 0,
270
"y": 17
271
},
272
"id": 39,
273
"options": {
274
"legend": {
275
"calcs": [],
276
"displayMode": "list",
277
"placement": "bottom",
278
"showLegend": true
279
},
280
"tooltip": {
281
"mode": "single",
282
"sort": "none"
283
}
284
},
285
"targets": [
286
{
287
"datasource": {
288
"type": "prometheus",
289
"uid": "P4169E866C3094E38"
290
},
291
"editorMode": "code",
292
"expr": " sum(rate(caddy_http_response_duration_seconds_count{cluster=~\"$cluster\", code=~\"2..|3..\"}[$__rate_interval])) by (code, cluster)",
293
"instant": false,
294
"legendFormat": "{{code}}",
295
"range": true,
296
"refId": "A"
297
}
298
],
299
"title": "Success Response Rate",
300
"type": "timeseries"
301
},
302
{
303
"datasource": {
304
"type": "prometheus",
305
"uid": "P4169E866C3094E38"
306
},
307
"fieldConfig": {
308
"defaults": {
309
"color": {
310
"mode": "palette-classic"
311
},
312
"custom": {
313
"axisBorderShow": false,
314
"axisCenteredZero": false,
315
"axisColorMode": "text",
316
"axisLabel": "",
317
"axisPlacement": "auto",
318
"barAlignment": 0,
319
"drawStyle": "line",
320
"fillOpacity": 0,
321
"gradientMode": "none",
322
"hideFrom": {
323
"legend": false,
324
"tooltip": false,
325
"viz": false
326
},
327
"insertNulls": false,
328
"lineInterpolation": "linear",
329
"lineWidth": 1,
330
"pointSize": 5,
331
"scaleDistribution": {
332
"type": "linear"
333
},
334
"showPoints": "auto",
335
"spanNulls": false,
336
"stacking": {
337
"group": "A",
338
"mode": "none"
339
},
340
"thresholdsStyle": {
341
"mode": "off"
342
}
343
},
344
"mappings": [],
345
"thresholds": {
346
"mode": "absolute",
347
"steps": [
348
{
349
"color": "green",
350
"value": null
351
},
352
{
353
"color": "red",
354
"value": 80
355
}
356
]
357
}
358
},
359
"overrides": []
360
},
361
"gridPos": {
362
"h": 8,
363
"w": 12,
364
"x": 0,
365
"y": 25
366
},
367
"id": 37,
368
"options": {
369
"legend": {
370
"calcs": [],
371
"displayMode": "list",
372
"placement": "bottom",
373
"showLegend": true
374
},
375
"tooltip": {
376
"mode": "single",
377
"sort": "none"
378
}
379
},
380
"targets": [
381
{
382
"datasource": {
383
"type": "prometheus",
384
"uid": "P4169E866C3094E38"
385
},
386
"editorMode": "code",
387
"expr": " sum(rate(caddy_http_response_duration_seconds_count{cluster=~\"$cluster\", code=~\"4..\"}[$__rate_interval])) by (code, cluster)",
388
"instant": false,
389
"legendFormat": "{{code}}",
390
"range": true,
391
"refId": "A"
392
}
393
],
394
"title": "4xx Error Code Response Rate",
395
"type": "timeseries"
396
},
397
{
398
"datasource": {
399
"type": "prometheus",
400
"uid": "P4169E866C3094E38"
401
},
402
"fieldConfig": {
403
"defaults": {
404
"color": {
405
"mode": "palette-classic"
406
},
407
"custom": {
408
"axisBorderShow": false,
409
"axisCenteredZero": false,
410
"axisColorMode": "text",
411
"axisLabel": "",
412
"axisPlacement": "auto",
413
"barAlignment": 0,
414
"drawStyle": "line",
415
"fillOpacity": 0,
416
"gradientMode": "none",
417
"hideFrom": {
418
"legend": false,
419
"tooltip": false,
420
"viz": false
421
},
422
"insertNulls": false,
423
"lineInterpolation": "linear",
424
"lineWidth": 1,
425
"pointSize": 5,
426
"scaleDistribution": {
427
"type": "linear"
428
},
429
"showPoints": "auto",
430
"spanNulls": false,
431
"stacking": {
432
"group": "A",
433
"mode": "none"
434
},
435
"thresholdsStyle": {
436
"mode": "off"
437
}
438
},
439
"mappings": [],
440
"thresholds": {
441
"mode": "absolute",
442
"steps": [
443
{
444
"color": "green",
445
"value": null
446
},
447
{
448
"color": "red",
449
"value": 80
450
}
451
]
452
}
453
},
454
"overrides": []
455
},
456
"gridPos": {
457
"h": 8,
458
"w": 12,
459
"x": 12,
460
"y": 25
461
},
462
"id": 38,
463
"options": {
464
"legend": {
465
"calcs": [],
466
"displayMode": "list",
467
"placement": "bottom",
468
"showLegend": true
469
},
470
"tooltip": {
471
"mode": "single",
472
"sort": "none"
473
}
474
},
475
"targets": [
476
{
477
"datasource": {
478
"type": "prometheus",
479
"uid": "P4169E866C3094E38"
480
},
481
"editorMode": "code",
482
"expr": " sum(rate(caddy_http_response_duration_seconds_count{cluster=~\"$cluster\", code=~\"5..\"}[$__rate_interval])) by (code, cluster)",
483
"instant": false,
484
"legendFormat": "{{code}}",
485
"range": true,
486
"refId": "A"
487
}
488
],
489
"title": "5xx Error Code Response Rate",
490
"type": "timeseries"
491
},
492
{
493
"collapsed": false,
494
"datasource": {
495
"type": "prometheus",
496
"uid": "P4169E866C3094E38"
497
},
498
"gridPos": {
499
"h": 1,
500
"w": 24,
501
"x": 0,
502
"y": 33
503
},
504
"id": 16,
505
"panels": [],
506
"targets": [
507
{
508
"datasource": {
509
"type": "prometheus",
510
"uid": "P4169E866C3094E38"
511
},
512
"refId": "A"
513
}
514
],
515
"title": "Pod Metrics",
516
"type": "row"
517
},
518
{
519
"datasource": {
520
"uid": "$datasource"
521
},
522
"fieldConfig": {
523
"defaults": {
524
"color": {
525
"mode": "palette-classic"
526
},
527
"custom": {
528
"axisBorderShow": false,
529
"axisCenteredZero": false,
530
"axisColorMode": "text",
531
"axisLabel": "",
532
"axisPlacement": "auto",
533
"barAlignment": 0,
534
"drawStyle": "line",
535
"fillOpacity": 0,
536
"gradientMode": "none",
537
"hideFrom": {
538
"legend": false,
539
"tooltip": false,
540
"viz": false
541
},
542
"insertNulls": false,
543
"lineInterpolation": "linear",
544
"lineWidth": 1,
545
"pointSize": 5,
546
"scaleDistribution": {
547
"type": "linear"
548
},
549
"showPoints": "auto",
550
"spanNulls": false,
551
"stacking": {
552
"group": "A",
553
"mode": "none"
554
},
555
"thresholdsStyle": {
556
"mode": "off"
557
}
558
},
559
"mappings": [],
560
"thresholds": {
561
"mode": "absolute",
562
"steps": [
563
{
564
"color": "green",
565
"value": null
566
},
567
{
568
"color": "red",
569
"value": 80
570
}
571
]
572
}
573
},
574
"overrides": []
575
},
576
"gridPos": {
577
"h": 7,
578
"w": 10,
579
"x": 0,
580
"y": 34
581
},
582
"id": 34,
583
"options": {
584
"legend": {
585
"calcs": [],
586
"displayMode": "table",
587
"placement": "right",
588
"showLegend": true
589
},
590
"tooltip": {
591
"mode": "single",
592
"sort": "none"
593
}
594
},
595
"targets": [
596
{
597
"datasource": {
598
"uid": "$datasource"
599
},
600
"exemplar": true,
601
"expr": "kube_pod_container_info{cluster=~\"$cluster\", pod=~\"$pod\", image=~\".+\", container=\"proxy\"}",
602
"interval": "",
603
"legendFormat": "{{cluster}} - {{image}}",
604
"queryType": "randomWalk",
605
"refId": "A"
606
}
607
],
608
"title": "Container image version",
609
"type": "timeseries"
610
},
611
{
612
"aliasColors": {},
613
"bars": false,
614
"dashLength": 10,
615
"dashes": false,
616
"datasource": {
617
"uid": "$datasource"
618
},
619
"decimals": 2,
620
"fill": 1,
621
"fillGradient": 0,
622
"gridPos": {
623
"h": 7,
624
"w": 7,
625
"x": 10,
626
"y": 34
627
},
628
"hiddenSeries": false,
629
"id": 2,
630
"legend": {
631
"alignAsTable": true,
632
"avg": true,
633
"current": true,
634
"max": true,
635
"min": false,
636
"show": true,
637
"sort": "current",
638
"sortDesc": true,
639
"total": false,
640
"values": true
641
},
642
"lines": true,
643
"linewidth": 1,
644
"nullPointMode": "null",
645
"options": {
646
"alertThreshold": true
647
},
648
"percentage": false,
649
"pluginVersion": "10.4.1",
650
"pointradius": 2,
651
"points": false,
652
"renderer": "flot",
653
"seriesOverrides": [],
654
"spaceLength": 10,
655
"stack": false,
656
"steppedLine": false,
657
"targets": [
658
{
659
"datasource": {
660
"uid": "$datasource"
661
},
662
"expr": "sum(\n rate(container_cpu_usage_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
663
"interval": "",
664
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Cores being used",
665
"queryType": "randomWalk",
666
"refId": "A"
667
}
668
],
669
"thresholds": [],
670
"timeRegions": [],
671
"title": "CPU Utilization",
672
"tooltip": {
673
"shared": true,
674
"sort": 2,
675
"value_type": "individual"
676
},
677
"type": "graph",
678
"xaxis": {
679
"mode": "time",
680
"show": true,
681
"values": []
682
},
683
"yaxes": [
684
{
685
"decimals": 2,
686
"format": "short",
687
"logBase": 1,
688
"min": "0",
689
"show": true
690
},
691
{
692
"format": "short",
693
"logBase": 1,
694
"show": true
695
}
696
],
697
"yaxis": {
698
"align": false
699
}
700
},
701
{
702
"aliasColors": {},
703
"bars": false,
704
"dashLength": 10,
705
"dashes": false,
706
"datasource": {
707
"uid": "$datasource"
708
},
709
"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.",
710
"fill": 1,
711
"fillGradient": 0,
712
"gridPos": {
713
"h": 7,
714
"w": 7,
715
"x": 17,
716
"y": 34
717
},
718
"hiddenSeries": false,
719
"id": 4,
720
"legend": {
721
"avg": false,
722
"current": false,
723
"max": false,
724
"min": false,
725
"show": true,
726
"total": false,
727
"values": false
728
},
729
"lines": true,
730
"linewidth": 1,
731
"nullPointMode": "null",
732
"options": {
733
"alertThreshold": true
734
},
735
"percentage": false,
736
"pluginVersion": "10.4.1",
737
"pointradius": 2,
738
"points": false,
739
"renderer": "flot",
740
"seriesOverrides": [
741
{
742
"alias": "/.*CPU Throttles/",
743
"yaxis": 2
744
}
745
],
746
"spaceLength": 10,
747
"stack": false,
748
"steppedLine": false,
749
"targets": [
750
{
751
"datasource": {
752
"uid": "$datasource"
753
},
754
"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",
755
"interval": "",
756
"legendFormat": "{{cluster}} - {{node} - {{pod}} - CPU Saturation",
757
"queryType": "randomWalk",
758
"refId": "A"
759
},
760
{
761
"datasource": {
762
"uid": "$datasource"
763
},
764
"expr": "sum(\nrate(container_cpu_cfs_throttled_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod)",
765
"interval": "",
766
"legendFormat": "{{pod}} - CPU Throttles",
767
"queryType": "randomWalk",
768
"refId": "B"
769
}
770
],
771
"thresholds": [],
772
"timeRegions": [],
773
"title": "CPU Saturation",
774
"tooltip": {
775
"shared": true,
776
"sort": 2,
777
"value_type": "individual"
778
},
779
"type": "graph",
780
"xaxis": {
781
"mode": "time",
782
"show": true,
783
"values": []
784
},
785
"yaxes": [
786
{
787
"decimals": 2,
788
"format": "percentunit",
789
"logBase": 1,
790
"min": "0",
791
"show": true
792
},
793
{
794
"format": "s",
795
"logBase": 1,
796
"show": true
797
}
798
],
799
"yaxis": {
800
"align": false
801
}
802
},
803
{
804
"aliasColors": {},
805
"bars": false,
806
"dashLength": 10,
807
"dashes": false,
808
"datasource": {
809
"uid": "$datasource"
810
},
811
"fill": 1,
812
"fillGradient": 0,
813
"gridPos": {
814
"h": 7,
815
"w": 12,
816
"x": 0,
817
"y": 41
818
},
819
"hiddenSeries": false,
820
"id": 6,
821
"legend": {
822
"alignAsTable": true,
823
"avg": true,
824
"current": true,
825
"max": true,
826
"min": false,
827
"show": true,
828
"total": false,
829
"values": true
830
},
831
"lines": true,
832
"linewidth": 1,
833
"nullPointMode": "null",
834
"options": {
835
"alertThreshold": true
836
},
837
"percentage": false,
838
"pluginVersion": "10.4.1",
839
"pointradius": 2,
840
"points": false,
841
"renderer": "flot",
842
"seriesOverrides": [],
843
"spaceLength": 10,
844
"stack": false,
845
"steppedLine": false,
846
"targets": [
847
{
848
"datasource": {
849
"uid": "$datasource"
850
},
851
"expr": "sum(container_memory_working_set_bytes{container!=\"POD\", container!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}) by (pod, cluster, node)",
852
"interval": "",
853
"legendFormat": "{{cluster}} - {{node}} - {{pod}}",
854
"queryType": "randomWalk",
855
"refId": "A"
856
}
857
],
858
"thresholds": [],
859
"timeRegions": [],
860
"title": "Memory Utilization",
861
"tooltip": {
862
"shared": true,
863
"sort": 2,
864
"value_type": "individual"
865
},
866
"type": "graph",
867
"xaxis": {
868
"mode": "time",
869
"show": true,
870
"values": []
871
},
872
"yaxes": [
873
{
874
"format": "bytes",
875
"logBase": 1,
876
"min": "0",
877
"show": true
878
},
879
{
880
"format": "short",
881
"logBase": 1,
882
"show": true
883
}
884
],
885
"yaxis": {
886
"align": false
887
}
888
},
889
{
890
"aliasColors": {},
891
"bars": false,
892
"dashLength": 10,
893
"dashes": false,
894
"datasource": {
895
"uid": "$datasource"
896
},
897
"decimals": 4,
898
"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.",
899
"fill": 1,
900
"fillGradient": 0,
901
"gridPos": {
902
"h": 7,
903
"w": 12,
904
"x": 12,
905
"y": 41
906
},
907
"hiddenSeries": false,
908
"id": 8,
909
"legend": {
910
"alignAsTable": true,
911
"avg": true,
912
"current": true,
913
"max": true,
914
"min": false,
915
"show": true,
916
"total": false,
917
"values": true
918
},
919
"lines": true,
920
"linewidth": 1,
921
"nullPointMode": "null",
922
"options": {
923
"alertThreshold": true
924
},
925
"percentage": false,
926
"pluginVersion": "10.4.1",
927
"pointradius": 2,
928
"points": false,
929
"renderer": "flot",
930
"seriesOverrides": [],
931
"spaceLength": 10,
932
"stack": false,
933
"steppedLine": false,
934
"targets": [
935
{
936
"datasource": {
937
"uid": "$datasource"
938
},
939
"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",
940
"interval": "",
941
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Memory Saturation",
942
"queryType": "randomWalk",
943
"refId": "A"
944
}
945
],
946
"thresholds": [],
947
"timeRegions": [],
948
"title": "Memory Saturation",
949
"tooltip": {
950
"shared": true,
951
"sort": 2,
952
"value_type": "individual"
953
},
954
"type": "graph",
955
"xaxis": {
956
"mode": "time",
957
"show": true,
958
"values": []
959
},
960
"yaxes": [
961
{
962
"decimals": 2,
963
"format": "percentunit",
964
"logBase": 1,
965
"min": "0",
966
"show": true
967
},
968
{
969
"format": "short",
970
"logBase": 1,
971
"show": true
972
}
973
],
974
"yaxis": {
975
"align": false
976
}
977
},
978
{
979
"aliasColors": {},
980
"bars": false,
981
"dashLength": 10,
982
"dashes": false,
983
"datasource": {
984
"uid": "$datasource"
985
},
986
"fill": 1,
987
"fillGradient": 0,
988
"gridPos": {
989
"h": 7,
990
"w": 8,
991
"x": 0,
992
"y": 48
993
},
994
"hiddenSeries": false,
995
"id": 10,
996
"legend": {
997
"alignAsTable": true,
998
"avg": false,
999
"current": true,
1000
"max": false,
1001
"min": false,
1002
"show": true,
1003
"total": false,
1004
"values": true
1005
},
1006
"lines": true,
1007
"linewidth": 1,
1008
"nullPointMode": "null",
1009
"options": {
1010
"alertThreshold": true
1011
},
1012
"percentage": false,
1013
"pluginVersion": "10.4.1",
1014
"pointradius": 2,
1015
"points": false,
1016
"renderer": "flot",
1017
"seriesOverrides": [],
1018
"spaceLength": 10,
1019
"stack": false,
1020
"steppedLine": false,
1021
"targets": [
1022
{
1023
"datasource": {
1024
"uid": "$datasource"
1025
},
1026
"expr": "sum (\n rate(container_network_receive_bytes_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1027
"interval": "",
1028
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
1029
"queryType": "randomWalk",
1030
"refId": "A"
1031
},
1032
{
1033
"datasource": {
1034
"uid": "$datasource"
1035
},
1036
"expr": "sum (\n rate(container_network_transmit_bytes_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1037
"interval": "",
1038
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
1039
"queryType": "randomWalk",
1040
"refId": "B"
1041
}
1042
],
1043
"thresholds": [],
1044
"timeRegions": [],
1045
"title": "Network Utilization",
1046
"tooltip": {
1047
"shared": true,
1048
"sort": 2,
1049
"value_type": "individual"
1050
},
1051
"type": "graph",
1052
"xaxis": {
1053
"mode": "time",
1054
"show": true,
1055
"values": []
1056
},
1057
"yaxes": [
1058
{
1059
"format": "binBps",
1060
"logBase": 1,
1061
"min": "0",
1062
"show": true
1063
},
1064
{
1065
"format": "short",
1066
"logBase": 1,
1067
"show": true
1068
}
1069
],
1070
"yaxis": {
1071
"align": false
1072
}
1073
},
1074
{
1075
"aliasColors": {},
1076
"bars": false,
1077
"dashLength": 10,
1078
"dashes": false,
1079
"datasource": {
1080
"uid": "$datasource"
1081
},
1082
"fill": 1,
1083
"fillGradient": 0,
1084
"gridPos": {
1085
"h": 7,
1086
"w": 8,
1087
"x": 8,
1088
"y": 48
1089
},
1090
"hiddenSeries": false,
1091
"id": 30,
1092
"legend": {
1093
"alignAsTable": true,
1094
"avg": false,
1095
"current": true,
1096
"max": false,
1097
"min": false,
1098
"rightSide": false,
1099
"show": true,
1100
"total": false,
1101
"values": true
1102
},
1103
"lines": true,
1104
"linewidth": 1,
1105
"nullPointMode": "null",
1106
"options": {
1107
"alertThreshold": true
1108
},
1109
"percentage": false,
1110
"pluginVersion": "10.4.1",
1111
"pointradius": 2,
1112
"points": false,
1113
"renderer": "flot",
1114
"seriesOverrides": [],
1115
"spaceLength": 10,
1116
"stack": false,
1117
"steppedLine": false,
1118
"targets": [
1119
{
1120
"datasource": {
1121
"uid": "$datasource"
1122
},
1123
"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)",
1124
"interval": "",
1125
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Receive",
1126
"queryType": "randomWalk",
1127
"refId": "A"
1128
},
1129
{
1130
"datasource": {
1131
"uid": "$datasource"
1132
},
1133
"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)",
1134
"interval": "",
1135
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmit",
1136
"queryType": "randomWalk",
1137
"refId": "B"
1138
}
1139
],
1140
"thresholds": [],
1141
"timeRegions": [],
1142
"title": "Network Saturation (Packets Dropped)",
1143
"tooltip": {
1144
"shared": true,
1145
"sort": 2,
1146
"value_type": "individual"
1147
},
1148
"type": "graph",
1149
"xaxis": {
1150
"mode": "time",
1151
"show": true,
1152
"values": []
1153
},
1154
"yaxes": [
1155
{
1156
"decimals": 2,
1157
"format": "pps",
1158
"logBase": 1,
1159
"min": "0",
1160
"show": true
1161
},
1162
{
1163
"format": "short",
1164
"logBase": 1,
1165
"show": true
1166
}
1167
],
1168
"yaxis": {
1169
"align": false
1170
}
1171
},
1172
{
1173
"aliasColors": {},
1174
"bars": false,
1175
"dashLength": 10,
1176
"dashes": false,
1177
"datasource": {
1178
"uid": "$datasource"
1179
},
1180
"fill": 1,
1181
"fillGradient": 0,
1182
"gridPos": {
1183
"h": 7,
1184
"w": 8,
1185
"x": 16,
1186
"y": 48
1187
},
1188
"hiddenSeries": false,
1189
"id": 32,
1190
"legend": {
1191
"alignAsTable": true,
1192
"avg": false,
1193
"current": true,
1194
"max": false,
1195
"min": false,
1196
"show": true,
1197
"total": false,
1198
"values": true
1199
},
1200
"lines": true,
1201
"linewidth": 1,
1202
"nullPointMode": "null",
1203
"options": {
1204
"alertThreshold": true
1205
},
1206
"percentage": false,
1207
"pluginVersion": "10.4.1",
1208
"pointradius": 2,
1209
"points": false,
1210
"renderer": "flot",
1211
"seriesOverrides": [],
1212
"spaceLength": 10,
1213
"stack": false,
1214
"steppedLine": false,
1215
"targets": [
1216
{
1217
"datasource": {
1218
"uid": "$datasource"
1219
},
1220
"expr": "sum (\n rate(container_network_receive_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1221
"interval": "",
1222
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
1223
"queryType": "randomWalk",
1224
"refId": "A"
1225
},
1226
{
1227
"datasource": {
1228
"uid": "$datasource"
1229
},
1230
"expr": "sum (\n rate(container_network_transmit_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1231
"interval": "",
1232
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
1233
"queryType": "randomWalk",
1234
"refId": "B"
1235
}
1236
],
1237
"thresholds": [],
1238
"timeRegions": [],
1239
"title": "Network Errors",
1240
"tooltip": {
1241
"shared": true,
1242
"sort": 2,
1243
"value_type": "individual"
1244
},
1245
"type": "graph",
1246
"xaxis": {
1247
"mode": "time",
1248
"show": true,
1249
"values": []
1250
},
1251
"yaxes": [
1252
{
1253
"decimals": 2,
1254
"format": "Errors/s",
1255
"logBase": 1,
1256
"min": "0",
1257
"show": true
1258
},
1259
{
1260
"format": "short",
1261
"logBase": 1,
1262
"show": true
1263
}
1264
],
1265
"yaxis": {
1266
"align": false
1267
}
1268
},
1269
{
1270
"aliasColors": {},
1271
"bars": false,
1272
"dashLength": 10,
1273
"dashes": false,
1274
"datasource": {
1275
"uid": "$datasource"
1276
},
1277
"decimals": 4,
1278
"description": "",
1279
"fill": 1,
1280
"fillGradient": 0,
1281
"gridPos": {
1282
"h": 9,
1283
"w": 8,
1284
"x": 0,
1285
"y": 55
1286
},
1287
"hiddenSeries": false,
1288
"id": 22,
1289
"legend": {
1290
"alignAsTable": true,
1291
"avg": true,
1292
"current": true,
1293
"max": true,
1294
"min": false,
1295
"show": true,
1296
"total": false,
1297
"values": true
1298
},
1299
"lines": true,
1300
"linewidth": 1,
1301
"nullPointMode": "null",
1302
"options": {
1303
"alertThreshold": true
1304
},
1305
"percentage": false,
1306
"pluginVersion": "10.4.1",
1307
"pointradius": 2,
1308
"points": false,
1309
"renderer": "flot",
1310
"seriesOverrides": [],
1311
"spaceLength": 10,
1312
"stack": false,
1313
"steppedLine": false,
1314
"targets": [
1315
{
1316
"datasource": {
1317
"uid": "$datasource"
1318
},
1319
"expr": "rate(kube_pod_container_status_restarts_total{cluster=~\"$cluster\", pod=~\"$pod\"}[1m])",
1320
"interval": "",
1321
"legendFormat": "{{cluster}} - {{kubernetes_pod_node_name}} - {{pod}} ",
1322
"queryType": "randomWalk",
1323
"refId": "A"
1324
}
1325
],
1326
"thresholds": [],
1327
"timeRegions": [],
1328
"title": "Pod Restarts",
1329
"tooltip": {
1330
"shared": true,
1331
"sort": 2,
1332
"value_type": "individual"
1333
},
1334
"type": "graph",
1335
"xaxis": {
1336
"mode": "time",
1337
"show": true,
1338
"values": []
1339
},
1340
"yaxes": [
1341
{
1342
"decimals": 2,
1343
"format": "short",
1344
"logBase": 1,
1345
"min": "0",
1346
"show": true
1347
},
1348
{
1349
"format": "short",
1350
"logBase": 1,
1351
"show": true
1352
}
1353
],
1354
"yaxis": {
1355
"align": false
1356
}
1357
},
1358
{
1359
"aliasColors": {},
1360
"bars": false,
1361
"dashLength": 10,
1362
"dashes": false,
1363
"datasource": {
1364
"uid": "$datasource"
1365
},
1366
"decimals": 0,
1367
"description": "",
1368
"fill": 1,
1369
"fillGradient": 0,
1370
"gridPos": {
1371
"h": 9,
1372
"w": 8,
1373
"x": 8,
1374
"y": 55
1375
},
1376
"hiddenSeries": false,
1377
"id": 28,
1378
"legend": {
1379
"alignAsTable": true,
1380
"avg": false,
1381
"current": true,
1382
"max": false,
1383
"min": false,
1384
"show": true,
1385
"total": false,
1386
"values": true
1387
},
1388
"lines": true,
1389
"linewidth": 1,
1390
"nullPointMode": "null",
1391
"options": {
1392
"alertThreshold": true
1393
},
1394
"percentage": false,
1395
"pluginVersion": "10.4.1",
1396
"pointradius": 2,
1397
"points": false,
1398
"renderer": "flot",
1399
"seriesOverrides": [],
1400
"spaceLength": 10,
1401
"stack": false,
1402
"steppedLine": false,
1403
"targets": [
1404
{
1405
"datasource": {
1406
"uid": "$datasource"
1407
},
1408
"expr": "kube_pod_container_status_running{cluster=~\"$cluster\", pod=~\"$pod\"} == 1 ",
1409
"interval": "",
1410
"legendFormat": "{{pod}} - RUNNING",
1411
"queryType": "randomWalk",
1412
"refId": "A"
1413
},
1414
{
1415
"datasource": {
1416
"uid": "$datasource"
1417
},
1418
"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)",
1419
"interval": "",
1420
"legendFormat": "{{pod}} - TERMINATED -> {{reason}}",
1421
"queryType": "randomWalk",
1422
"refId": "B"
1423
},
1424
{
1425
"datasource": {
1426
"uid": "$datasource"
1427
},
1428
"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)",
1429
"interval": "",
1430
"legendFormat": "{{pod}} - WAITING -> {{reason}}",
1431
"queryType": "randomWalk",
1432
"refId": "C"
1433
}
1434
],
1435
"thresholds": [],
1436
"timeRegions": [],
1437
"title": "Pod Status",
1438
"tooltip": {
1439
"shared": true,
1440
"sort": 2,
1441
"value_type": "individual"
1442
},
1443
"type": "graph",
1444
"xaxis": {
1445
"mode": "time",
1446
"show": true,
1447
"values": []
1448
},
1449
"yaxes": [
1450
{
1451
"decimals": 0,
1452
"format": "short",
1453
"logBase": 1,
1454
"show": true
1455
},
1456
{
1457
"format": "short",
1458
"logBase": 1,
1459
"show": true
1460
}
1461
],
1462
"yaxis": {
1463
"align": false
1464
}
1465
},
1466
{
1467
"aliasColors": {},
1468
"bars": false,
1469
"dashLength": 10,
1470
"dashes": false,
1471
"datasource": {
1472
"uid": "$datasource"
1473
},
1474
"decimals": 0,
1475
"fill": 1,
1476
"fillGradient": 0,
1477
"gridPos": {
1478
"h": 9,
1479
"w": 8,
1480
"x": 16,
1481
"y": 55
1482
},
1483
"hiddenSeries": false,
1484
"id": 26,
1485
"legend": {
1486
"alignAsTable": true,
1487
"avg": false,
1488
"current": true,
1489
"max": false,
1490
"min": false,
1491
"show": true,
1492
"total": false,
1493
"values": true
1494
},
1495
"lines": true,
1496
"linewidth": 1,
1497
"nullPointMode": "null",
1498
"options": {
1499
"alertThreshold": true
1500
},
1501
"percentage": false,
1502
"pluginVersion": "10.4.1",
1503
"pointradius": 2,
1504
"points": false,
1505
"renderer": "flot",
1506
"seriesOverrides": [],
1507
"spaceLength": 10,
1508
"stack": false,
1509
"steppedLine": false,
1510
"targets": [
1511
{
1512
"datasource": {
1513
"uid": "$datasource"
1514
},
1515
"expr": "kube_deployment_spec_replicas{cluster=~\"$cluster\", deployment=\"proxy\"}",
1516
"interval": "",
1517
"legendFormat": "{{cluster}} - {{deployment}} - Desired",
1518
"queryType": "randomWalk",
1519
"refId": "C"
1520
},
1521
{
1522
"datasource": {
1523
"uid": "$datasource"
1524
},
1525
"expr": "kube_deployment_status_replicas_available{cluster=~\"$cluster\", deployment=\"proxy\"}",
1526
"interval": "",
1527
"legendFormat": "{{cluster}} - {{deployment}} - Available replicas",
1528
"queryType": "randomWalk",
1529
"refId": "A"
1530
},
1531
{
1532
"datasource": {
1533
"uid": "$datasource"
1534
},
1535
"expr": "kube_deployment_status_replicas_unavailable{cluster=~\"$cluster\", deployment=\"proxy\"}",
1536
"interval": "",
1537
"legendFormat": "{{cluster}} - {{deployment}} - Unvailable replicas",
1538
"queryType": "randomWalk",
1539
"refId": "B"
1540
}
1541
],
1542
"thresholds": [],
1543
"timeRegions": [],
1544
"title": "Replicas availability",
1545
"tooltip": {
1546
"shared": true,
1547
"sort": 2,
1548
"value_type": "individual"
1549
},
1550
"type": "graph",
1551
"xaxis": {
1552
"mode": "time",
1553
"show": true,
1554
"values": []
1555
},
1556
"yaxes": [
1557
{
1558
"decimals": 0,
1559
"format": "short",
1560
"logBase": 1,
1561
"show": true
1562
},
1563
{
1564
"format": "short",
1565
"logBase": 1,
1566
"show": true
1567
}
1568
],
1569
"yaxis": {
1570
"align": false
1571
}
1572
}
1573
],
1574
"refresh": "5m",
1575
"schemaVersion": 39,
1576
"tags": [
1577
"gitpod-mixin"
1578
],
1579
"templating": {
1580
"list": [
1581
{
1582
"current": {
1583
"selected": true,
1584
"text": [
1585
"prod-meta-us02"
1586
],
1587
"value": [
1588
"prod-meta-us02"
1589
]
1590
},
1591
"datasource": {
1592
"type": "prometheus",
1593
"uid": "$datasource"
1594
},
1595
"definition": "label_values(container_cpu_usage_seconds_total, cluster)",
1596
"hide": 0,
1597
"includeAll": true,
1598
"label": "Cluster",
1599
"multi": true,
1600
"name": "cluster",
1601
"options": [],
1602
"query": {
1603
"query": "label_values(container_cpu_usage_seconds_total, cluster)",
1604
"refId": "StandardVariableQuery"
1605
},
1606
"refresh": 1,
1607
"regex": "",
1608
"skipUrlSync": false,
1609
"sort": 0,
1610
"tagValuesQuery": "",
1611
"tagsQuery": "",
1612
"type": "query",
1613
"useTags": false
1614
},
1615
{
1616
"current": {
1617
"selected": false,
1618
"text": "All",
1619
"value": "$__all"
1620
},
1621
"datasource": {
1622
"type": "prometheus",
1623
"uid": "$datasource"
1624
},
1625
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"proxy.*\"}, node)",
1626
"hide": 0,
1627
"includeAll": true,
1628
"label": "Node",
1629
"multi": true,
1630
"name": "node",
1631
"options": [],
1632
"query": {
1633
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"proxy.*\"}, node)",
1634
"refId": "StandardVariableQuery"
1635
},
1636
"refresh": 1,
1637
"regex": "",
1638
"skipUrlSync": false,
1639
"sort": 0,
1640
"tagValuesQuery": "",
1641
"tagsQuery": "",
1642
"type": "query",
1643
"useTags": false
1644
},
1645
{
1646
"current": {
1647
"selected": false,
1648
"text": "All",
1649
"value": "$__all"
1650
},
1651
"datasource": {
1652
"type": "prometheus",
1653
"uid": "$datasource"
1654
},
1655
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"proxy.*\"}, pod)",
1656
"hide": 0,
1657
"includeAll": true,
1658
"label": "Pod",
1659
"multi": true,
1660
"name": "pod",
1661
"options": [],
1662
"query": {
1663
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"proxy.*\"}, pod)",
1664
"refId": "StandardVariableQuery"
1665
},
1666
"refresh": 1,
1667
"regex": "",
1668
"skipUrlSync": false,
1669
"sort": 0,
1670
"tagValuesQuery": "",
1671
"tagsQuery": "",
1672
"type": "query",
1673
"useTags": false
1674
},
1675
{
1676
"current": {
1677
"selected": false,
1678
"text": "VictoriaMetrics",
1679
"value": "P4169E866C3094E38"
1680
},
1681
"hide": 2,
1682
"includeAll": false,
1683
"multi": false,
1684
"name": "datasource",
1685
"options": [],
1686
"query": "prometheus",
1687
"refresh": 1,
1688
"regex": "",
1689
"skipUrlSync": false,
1690
"type": "datasource"
1691
}
1692
]
1693
},
1694
"time": {
1695
"from": "now-1h",
1696
"to": "now"
1697
},
1698
"timepicker": {},
1699
"timezone": "utc",
1700
"title": "Gitpod / Component / proxy",
1701
"uid": "proxy",
1702
"version": 5,
1703
"weekStart": ""
1704
}
1705
1706