Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/operations/observability/mixins/workspace/dashboards/components/agent-smith.json
2506 views
1
{
2
"annotations": {
3
"list": [
4
{
5
"builtIn": 1,
6
"datasource": "-- Grafana --",
7
"enable": true,
8
"hide": true,
9
"iconColor": "rgba(0, 211, 255, 1)",
10
"name": "Annotations & Alerts",
11
"target": {
12
"limit": 100,
13
"matchAny": false,
14
"tags": [],
15
"type": "dashboard"
16
},
17
"type": "dashboard"
18
}
19
]
20
},
21
"editable": true,
22
"fiscalYearStartMonth": 0,
23
"gnetId": null,
24
"graphTooltip": 1,
25
"id": 52,
26
"iteration": 1643114727790,
27
"links": [],
28
"liveNow": false,
29
"panels": [
30
{
31
"collapsed": false,
32
"datasource": null,
33
"gridPos": {
34
"h": 1,
35
"w": 24,
36
"x": 0,
37
"y": 0
38
},
39
"id": 43,
40
"panels": [],
41
"title": "Agent-Smith metrics",
42
"type": "row"
43
},
44
{
45
"datasource": "$datasource",
46
"fieldConfig": {
47
"defaults": {
48
"color": {
49
"mode": "palette-classic"
50
},
51
"custom": {
52
"axisLabel": "",
53
"axisPlacement": "auto",
54
"barAlignment": 0,
55
"drawStyle": "line",
56
"fillOpacity": 0,
57
"gradientMode": "none",
58
"hideFrom": {
59
"legend": false,
60
"tooltip": false,
61
"viz": false
62
},
63
"lineInterpolation": "linear",
64
"lineWidth": 1,
65
"pointSize": 5,
66
"scaleDistribution": {
67
"type": "linear"
68
},
69
"showPoints": "auto",
70
"spanNulls": false,
71
"stacking": {
72
"group": "A",
73
"mode": "none"
74
},
75
"thresholdsStyle": {
76
"mode": "off"
77
}
78
},
79
"mappings": [],
80
"thresholds": {
81
"mode": "absolute",
82
"steps": [
83
{
84
"color": "green",
85
"value": null
86
},
87
{
88
"color": "red",
89
"value": 80
90
}
91
]
92
}
93
},
94
"overrides": []
95
},
96
"gridPos": {
97
"h": 8,
98
"w": 12,
99
"x": 0,
100
"y": 1
101
},
102
"id": 52,
103
"options": {
104
"legend": {
105
"calcs": [],
106
"displayMode": "list",
107
"placement": "bottom"
108
},
109
"tooltip": {
110
"mode": "single"
111
}
112
},
113
"targets": [
114
{
115
"exemplar": true,
116
"expr": "sum(rate(gitpod_agent_smith_classifier_commandline_blocklist_hit_total{cluster=~\"$cluster\"})) by (cluster)",
117
"interval": "",
118
"legendFormat": "{{cluster}} - Commandline Hits",
119
"refId": "A"
120
},
121
{
122
"exemplar": true,
123
"expr": "sum(rate(gitpod_agent_smith_classifier_signature_signature_hit_total{cluster=~\"$cluster\"})) by (cluster)",
124
"hide": false,
125
"interval": "",
126
"legendFormat": "{{cluster}} - Signature Hits",
127
"refId": "B"
128
}
129
],
130
"title": "Classifier Hits",
131
"type": "timeseries"
132
},
133
{
134
"datasource": "$datasource",
135
"description": "This panel represents the number of penalties that Agent-Smith is trying to apply per second.\n\nIt represents attempts and may not reflect the exact number of penalties applied, please check for error logs or slack messages to be sure if penalties are indeed applied.",
136
"fieldConfig": {
137
"defaults": {
138
"color": {
139
"mode": "palette-classic"
140
},
141
"custom": {
142
"axisLabel": "",
143
"axisPlacement": "auto",
144
"barAlignment": 0,
145
"drawStyle": "line",
146
"fillOpacity": 10,
147
"gradientMode": "none",
148
"hideFrom": {
149
"legend": false,
150
"tooltip": false,
151
"viz": false
152
},
153
"lineInterpolation": "linear",
154
"lineWidth": 1,
155
"pointSize": 5,
156
"scaleDistribution": {
157
"type": "linear"
158
},
159
"showPoints": "never",
160
"spanNulls": true,
161
"stacking": {
162
"group": "A",
163
"mode": "none"
164
},
165
"thresholdsStyle": {
166
"mode": "off"
167
}
168
},
169
"mappings": [],
170
"thresholds": {
171
"mode": "absolute",
172
"steps": [
173
{
174
"color": "green",
175
"value": null
176
},
177
{
178
"color": "red",
179
"value": 80
180
}
181
]
182
},
183
"unit": "short"
184
},
185
"overrides": [
186
{
187
"matcher": {
188
"id": "byFrameRefID",
189
"options": "B"
190
},
191
"properties": [
192
{
193
"id": "custom.axisPlacement",
194
"value": "right"
195
},
196
{
197
"id": "unit",
198
"value": "rate"
199
}
200
]
201
}
202
]
203
},
204
"gridPos": {
205
"h": 8,
206
"w": 12,
207
"x": 12,
208
"y": 1
209
},
210
"id": 46,
211
"options": {
212
"legend": {
213
"calcs": [],
214
"displayMode": "list",
215
"placement": "bottom"
216
},
217
"tooltip": {
218
"mode": "single"
219
}
220
},
221
"pluginVersion": "8.2.0",
222
"targets": [
223
{
224
"exemplar": true,
225
"expr": "sum(rate(gitpod_agent_smith_penalty_attempts_total{cluster=~\"$cluster\"}[5m])) by (cluster, penalty)",
226
"interval": "",
227
"legendFormat": "{{cluster}} - {{penalty}}",
228
"queryType": "randomWalk",
229
"refId": "A"
230
},
231
{
232
"exemplar": true,
233
"expr": "sum(rate(gitpod_agent_smith_penalty_attempts_failed_total{cluster=~\"$cluster\"})) by (cluster, penalty)",
234
"hide": false,
235
"interval": "",
236
"legendFormat": "{{cluster}} - failed ⚠️ {{penalty}}",
237
"refId": "B"
238
}
239
],
240
"timeFrom": null,
241
"timeShift": null,
242
"title": "Penalty attempts",
243
"type": "timeseries"
244
},
245
{
246
"datasource": "$datasource",
247
"fieldConfig": {
248
"defaults": {
249
"color": {
250
"mode": "palette-classic"
251
},
252
"custom": {
253
"axisLabel": "",
254
"axisPlacement": "auto",
255
"barAlignment": 0,
256
"drawStyle": "line",
257
"fillOpacity": 0,
258
"gradientMode": "none",
259
"hideFrom": {
260
"legend": false,
261
"tooltip": false,
262
"viz": false
263
},
264
"lineInterpolation": "linear",
265
"lineWidth": 1,
266
"pointSize": 5,
267
"scaleDistribution": {
268
"type": "linear"
269
},
270
"showPoints": "auto",
271
"spanNulls": false,
272
"stacking": {
273
"group": "A",
274
"mode": "none"
275
},
276
"thresholdsStyle": {
277
"mode": "off"
278
}
279
},
280
"mappings": [],
281
"thresholds": {
282
"mode": "absolute",
283
"steps": [
284
{
285
"color": "green",
286
"value": null
287
},
288
{
289
"color": "red",
290
"value": 80
291
}
292
]
293
}
294
},
295
"overrides": []
296
},
297
"gridPos": {
298
"h": 8,
299
"w": 12,
300
"x": 0,
301
"y": 9
302
},
303
"id": 54,
304
"options": {
305
"legend": {
306
"calcs": [],
307
"displayMode": "list",
308
"placement": "bottom"
309
},
310
"tooltip": {
311
"mode": "single"
312
}
313
},
314
"targets": [
315
{
316
"exemplar": true,
317
"expr": "sum(rate(gitpod_agent_smith_classifier_signature_process_miss_total{cluster=~\"$cluster\"})) by (cluster, classifier_name)",
318
"interval": "",
319
"legendFormat": "{{cluster}} - Signature Process Miss {{ classifier_name }}",
320
"refId": "A"
321
},
322
{
323
"exemplar": true,
324
"expr": "sum(rate(gitpod_agent_smith_classifier_commandline_allowlist_hit_total{cluster=~\"$cluster\"})) by (cluster, classifier_name)",
325
"hide": false,
326
"interval": "",
327
"legendFormat": "{{cluster}} - Allowlist Hits {{ classifier_name }}",
328
"refId": "B"
329
}
330
],
331
"title": "Classification Miss",
332
"type": "timeseries"
333
},
334
{
335
"datasource": {
336
"type": "prometheus",
337
"uid": "$datasource"
338
},
339
"description": "This panel represents the number of egress violations that Agent Smith found.",
340
"fieldConfig": {
341
"defaults": {
342
"color": {
343
"mode": "palette-classic"
344
},
345
"custom": {
346
"axisLabel": "",
347
"axisPlacement": "auto",
348
"barAlignment": -1,
349
"drawStyle": "line",
350
"fillOpacity": 10,
351
"gradientMode": "none",
352
"hideFrom": {
353
"legend": false,
354
"tooltip": false,
355
"viz": false
356
},
357
"lineInterpolation": "linear",
358
"lineWidth": 1,
359
"pointSize": 5,
360
"scaleDistribution": {
361
"type": "linear"
362
},
363
"showPoints": "never",
364
"spanNulls": true,
365
"stacking": {
366
"group": "A",
367
"mode": "none"
368
},
369
"thresholdsStyle": {
370
"mode": "off"
371
}
372
},
373
"mappings": [],
374
"thresholds": {
375
"mode": "absolute",
376
"steps": [
377
{
378
"color": "green",
379
"value": null
380
},
381
{
382
"color": "red",
383
"value": 80
384
}
385
]
386
},
387
"unit": "short"
388
},
389
"overrides": [
390
{
391
"matcher": {
392
"id": "byFrameRefID",
393
"options": "B"
394
},
395
"properties": [
396
{
397
"id": "custom.axisPlacement",
398
"value": "right"
399
},
400
{
401
"id": "unit",
402
"value": "rate"
403
}
404
]
405
}
406
]
407
},
408
"gridPos": {
409
"h": 8,
410
"w": 12,
411
"x": 12,
412
"y": 9
413
},
414
"id": 61,
415
"options": {
416
"legend": {
417
"calcs": [],
418
"displayMode": "list",
419
"placement": "bottom"
420
},
421
"tooltip": {
422
"mode": "single",
423
"sort": "none"
424
}
425
},
426
"pluginVersion": "8.2.0",
427
"targets": [
428
{
429
"datasource": {
430
"type": "prometheus",
431
"uid": "${datasource}"
432
},
433
"exemplar": true,
434
"expr": "count by (severity,cluster) (gitpod_agent_smith_egress_violations_total)",
435
"interval": "",
436
"legendFormat": "{{cluster}} - {{severity}}",
437
"queryType": "randomWalk",
438
"refId": "A"
439
}
440
],
441
"title": "Egress Violations",
442
"type": "timeseries"
443
},
444
{
445
"datasource": "$datasource",
446
"fieldConfig": {
447
"defaults": {
448
"color": {
449
"mode": "palette-classic"
450
},
451
"custom": {
452
"axisLabel": "",
453
"axisPlacement": "left",
454
"barAlignment": 0,
455
"drawStyle": "line",
456
"fillOpacity": 0,
457
"gradientMode": "none",
458
"hideFrom": {
459
"legend": false,
460
"tooltip": false,
461
"viz": false
462
},
463
"lineInterpolation": "linear",
464
"lineWidth": 1,
465
"pointSize": 5,
466
"scaleDistribution": {
467
"type": "linear"
468
},
469
"showPoints": "auto",
470
"spanNulls": false,
471
"stacking": {
472
"group": "A",
473
"mode": "none"
474
},
475
"thresholdsStyle": {
476
"mode": "off"
477
}
478
},
479
"mappings": [],
480
"thresholds": {
481
"mode": "absolute",
482
"steps": [
483
{
484
"color": "green",
485
"value": null
486
},
487
{
488
"color": "red",
489
"value": 80
490
}
491
]
492
},
493
"unit": "none"
494
},
495
"overrides": [
496
{
497
"matcher": {
498
"id": "byFrameRefID",
499
"options": "C"
500
},
501
"properties": [
502
{
503
"id": "custom.axisPlacement",
504
"value": "right"
505
},
506
{
507
"id": "unit",
508
"value": "rate"
509
}
510
]
511
}
512
]
513
},
514
"gridPos": {
515
"h": 8,
516
"w": 12,
517
"x": 12,
518
"y": 9
519
},
520
"id": 50,
521
"options": {
522
"legend": {
523
"calcs": [],
524
"displayMode": "list",
525
"placement": "bottom"
526
},
527
"tooltip": {
528
"mode": "single"
529
}
530
},
531
"targets": [
532
{
533
"exemplar": true,
534
"expr": "sum(gitpod_agent_smith_classification_backpressure_in_count{cluster=~\"$cluster\"}) by (cluster)",
535
"hide": false,
536
"interval": "",
537
"legendFormat": "{{cluster}} - In Pressure",
538
"refId": "A"
539
},
540
{
541
"exemplar": true,
542
"expr": "sum(gitpod_agent_smith_classification_backpressure_out_count{cluster=~\"$cluster\"}) by (cluster)",
543
"hide": false,
544
"interval": "",
545
"legendFormat": "{{cluster}} - Out Pressure",
546
"refId": "B"
547
},
548
{
549
"exemplar": true,
550
"expr": "sum(rate(gitpod_agent_smith_classification_backpressure_in_drop_total{cluster=~\"$cluster\"})) by (cluster)",
551
"hide": false,
552
"interval": "",
553
"legendFormat": "{{cluster}} - Classification Drop Rate",
554
"refId": "C"
555
}
556
],
557
"title": "Classification Backpressure",
558
"type": "timeseries"
559
},
560
{
561
"datasource": "$datasource",
562
"fieldConfig": {
563
"defaults": {
564
"color": {
565
"mode": "palette-classic"
566
},
567
"custom": {
568
"axisLabel": "",
569
"axisPlacement": "auto",
570
"barAlignment": 0,
571
"drawStyle": "line",
572
"fillOpacity": 0,
573
"gradientMode": "none",
574
"hideFrom": {
575
"legend": false,
576
"tooltip": false,
577
"viz": false
578
},
579
"lineInterpolation": "linear",
580
"lineWidth": 1,
581
"pointSize": 5,
582
"scaleDistribution": {
583
"type": "linear"
584
},
585
"showPoints": "auto",
586
"spanNulls": false,
587
"stacking": {
588
"group": "A",
589
"mode": "none"
590
},
591
"thresholdsStyle": {
592
"mode": "off"
593
}
594
},
595
"mappings": [],
596
"thresholds": {
597
"mode": "absolute",
598
"steps": [
599
{
600
"color": "green",
601
"value": null
602
},
603
{
604
"color": "red",
605
"value": 80
606
}
607
]
608
}
609
},
610
"overrides": []
611
},
612
"gridPos": {
613
"h": 8,
614
"w": 12,
615
"x": 0,
616
"y": 17
617
},
618
"id": 56,
619
"options": {
620
"legend": {
621
"calcs": [],
622
"displayMode": "list",
623
"placement": "bottom"
624
},
625
"tooltip": {
626
"mode": "single"
627
}
628
},
629
"targets": [
630
{
631
"exemplar": true,
632
"expr": "sum(gitpod_agent_smith_procfs_detector_index_size{cluster=~\"$cluster\"}) by (cluster)",
633
"interval": "",
634
"legendFormat": "{{cluster}}",
635
"refId": "A"
636
}
637
],
638
"title": "Proc Index Size",
639
"type": "timeseries"
640
},
641
{
642
"datasource": "$datasource",
643
"fieldConfig": {
644
"defaults": {
645
"color": {
646
"mode": "palette-classic"
647
},
648
"custom": {
649
"axisLabel": "",
650
"axisPlacement": "auto",
651
"barAlignment": 0,
652
"drawStyle": "line",
653
"fillOpacity": 0,
654
"gradientMode": "none",
655
"hideFrom": {
656
"legend": false,
657
"tooltip": false,
658
"viz": false
659
},
660
"lineInterpolation": "linear",
661
"lineWidth": 1,
662
"pointSize": 5,
663
"scaleDistribution": {
664
"type": "linear"
665
},
666
"showPoints": "auto",
667
"spanNulls": false,
668
"stacking": {
669
"group": "A",
670
"mode": "none"
671
},
672
"thresholdsStyle": {
673
"mode": "off"
674
}
675
},
676
"mappings": [],
677
"thresholds": {
678
"mode": "absolute",
679
"steps": [
680
{
681
"color": "green",
682
"value": null
683
},
684
{
685
"color": "red",
686
"value": 80
687
}
688
]
689
},
690
"unit": "percent"
691
},
692
"overrides": []
693
},
694
"gridPos": {
695
"h": 8,
696
"w": 12,
697
"x": 12,
698
"y": 17
699
},
700
"id": 58,
701
"options": {
702
"legend": {
703
"calcs": [],
704
"displayMode": "list",
705
"placement": "bottom"
706
},
707
"tooltip": {
708
"mode": "single"
709
}
710
},
711
"targets": [
712
{
713
"exemplar": true,
714
"expr": "(sum(rate(gitpod_agent_smith_procfs_detector_cache_use_total{cluster=~\"$cluster\", use=\"miss\"}[5m])) by (cluster) / sum(rate(gitpod_agent_smith_procfs_detector_cache_use_total{cluster=~\"$cluster\"}[5m])) by (cluster)) * 100",
715
"interval": "",
716
"legendFormat": "{{ cluster }}",
717
"refId": "A"
718
}
719
],
720
"title": "Signature Cache Miss",
721
"type": "timeseries"
722
},
723
{
724
"datasource": {
725
"type": "prometheus",
726
"uid": "${datasource}"
727
},
728
"description": "Difference between workspaces found by agent-smith and workspaces ws-manager knows about",
729
"fieldConfig": {
730
"defaults": {
731
"color": {
732
"mode": "palette-classic"
733
},
734
"custom": {
735
"axisLabel": "",
736
"axisPlacement": "auto",
737
"barAlignment": 0,
738
"drawStyle": "line",
739
"fillOpacity": 0,
740
"gradientMode": "none",
741
"hideFrom": {
742
"legend": false,
743
"tooltip": false,
744
"viz": false
745
},
746
"lineInterpolation": "linear",
747
"lineWidth": 1,
748
"pointSize": 5,
749
"scaleDistribution": {
750
"type": "linear"
751
},
752
"showPoints": "auto",
753
"spanNulls": false,
754
"stacking": {
755
"group": "A",
756
"mode": "none"
757
},
758
"thresholdsStyle": {
759
"mode": "off"
760
}
761
},
762
"mappings": [],
763
"thresholds": {
764
"mode": "absolute",
765
"steps": [
766
{
767
"color": "green",
768
"value": null
769
},
770
{
771
"color": "red",
772
"value": 80
773
}
774
]
775
}
776
},
777
"overrides": []
778
},
779
"gridPos": {
780
"h": 8,
781
"w": 12,
782
"x": 0,
783
"y": 25
784
},
785
"id": 60,
786
"options": {
787
"legend": {
788
"calcs": [],
789
"displayMode": "list",
790
"placement": "bottom"
791
},
792
"tooltip": {
793
"mode": "single"
794
}
795
},
796
"targets": [
797
{
798
"datasource": {
799
"type": "prometheus",
800
"uid": "P1809F7CD0C75ACF3"
801
},
802
"exemplar": true,
803
"expr": "sum(gitpod_ws_manager_mk2_workspace_phase_total{cluster=~\"()\", phase=\"Running\", type=\"Regular\"}) by (cluster) - on (cluster) sum(gitpod_agent_smith_procfs_detector_workspace_count{cluster=~\"()\"}) by (cluster)",
804
"interval": "",
805
"legendFormat": "Difference",
806
"refId": "A"
807
}
808
],
809
"title": "Workspace Difference",
810
"type": "timeseries"
811
},
812
{
813
"collapsed": false,
814
"datasource": null,
815
"gridPos": {
816
"h": 1,
817
"w": 24,
818
"x": 0,
819
"y": 25
820
},
821
"id": 16,
822
"panels": [],
823
"title": "Pod Metrics",
824
"type": "row"
825
},
826
{
827
"datasource": "$datasource",
828
"fieldConfig": {
829
"defaults": {
830
"color": {
831
"mode": "palette-classic"
832
},
833
"custom": {
834
"axisLabel": "",
835
"axisPlacement": "auto",
836
"barAlignment": 0,
837
"drawStyle": "line",
838
"fillOpacity": 0,
839
"gradientMode": "none",
840
"hideFrom": {
841
"legend": false,
842
"tooltip": false,
843
"viz": false
844
},
845
"lineInterpolation": "linear",
846
"lineWidth": 1,
847
"pointSize": 5,
848
"scaleDistribution": {
849
"type": "linear"
850
},
851
"showPoints": "auto",
852
"spanNulls": false,
853
"stacking": {
854
"group": "A",
855
"mode": "none"
856
},
857
"thresholdsStyle": {
858
"mode": "off"
859
}
860
},
861
"mappings": [],
862
"thresholds": {
863
"mode": "absolute",
864
"steps": [
865
{
866
"color": "green",
867
"value": null
868
},
869
{
870
"color": "red",
871
"value": 80
872
}
873
]
874
}
875
},
876
"overrides": []
877
},
878
"gridPos": {
879
"h": 7,
880
"w": 10,
881
"x": 0,
882
"y": 26
883
},
884
"id": 48,
885
"options": {
886
"legend": {
887
"calcs": [],
888
"displayMode": "table",
889
"placement": "right"
890
},
891
"tooltip": {
892
"mode": "single"
893
}
894
},
895
"targets": [
896
{
897
"exemplar": true,
898
"expr": "kube_pod_container_info{cluster=~\"$cluster\", pod=~\"$pod\", image=~\".+\", container=\"agent-smith\"}",
899
"interval": "",
900
"legendFormat": "{{cluster}} - {{image}}",
901
"queryType": "randomWalk",
902
"refId": "A"
903
}
904
],
905
"title": "Container image version",
906
"type": "timeseries"
907
},
908
{
909
"aliasColors": {},
910
"bars": false,
911
"dashLength": 10,
912
"dashes": false,
913
"datasource": "$datasource",
914
"decimals": 2,
915
"fill": 1,
916
"fillGradient": 0,
917
"gridPos": {
918
"h": 7,
919
"w": 7,
920
"x": 10,
921
"y": 26
922
},
923
"hiddenSeries": false,
924
"id": 2,
925
"legend": {
926
"alignAsTable": true,
927
"avg": true,
928
"current": true,
929
"max": true,
930
"min": false,
931
"show": true,
932
"total": false,
933
"values": true
934
},
935
"lines": true,
936
"linewidth": 1,
937
"nullPointMode": "null",
938
"options": {
939
"alertThreshold": true
940
},
941
"percentage": false,
942
"pluginVersion": "8.2.1",
943
"pointradius": 2,
944
"points": false,
945
"renderer": "flot",
946
"seriesOverrides": [],
947
"spaceLength": 10,
948
"stack": false,
949
"steppedLine": false,
950
"targets": [
951
{
952
"expr": "sum(\n rate(container_cpu_usage_seconds_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
953
"interval": "",
954
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Cores being used",
955
"queryType": "randomWalk",
956
"refId": "A"
957
}
958
],
959
"thresholds": [],
960
"timeFrom": null,
961
"timeRegions": [],
962
"timeShift": null,
963
"title": "CPU Utilization",
964
"tooltip": {
965
"shared": true,
966
"sort": 2,
967
"value_type": "individual"
968
},
969
"type": "graph",
970
"xaxis": {
971
"buckets": null,
972
"mode": "time",
973
"name": null,
974
"show": true,
975
"values": []
976
},
977
"yaxes": [
978
{
979
"decimals": 2,
980
"format": "short",
981
"label": null,
982
"logBase": 1,
983
"max": null,
984
"min": "0",
985
"show": true
986
},
987
{
988
"format": "short",
989
"label": null,
990
"logBase": 1,
991
"max": null,
992
"min": null,
993
"show": true
994
}
995
],
996
"yaxis": {
997
"align": false,
998
"alignLevel": null
999
}
1000
},
1001
{
1002
"aliasColors": {},
1003
"bars": false,
1004
"dashLength": 10,
1005
"dashes": false,
1006
"datasource": "$datasource",
1007
"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.",
1008
"fill": 1,
1009
"fillGradient": 0,
1010
"gridPos": {
1011
"h": 7,
1012
"w": 7,
1013
"x": 17,
1014
"y": 26
1015
},
1016
"hiddenSeries": false,
1017
"id": 4,
1018
"legend": {
1019
"avg": false,
1020
"current": false,
1021
"max": false,
1022
"min": false,
1023
"show": true,
1024
"total": false,
1025
"values": false
1026
},
1027
"lines": true,
1028
"linewidth": 1,
1029
"nullPointMode": "null",
1030
"options": {
1031
"alertThreshold": true
1032
},
1033
"percentage": false,
1034
"pluginVersion": "8.2.1",
1035
"pointradius": 2,
1036
"points": false,
1037
"renderer": "flot",
1038
"seriesOverrides": [
1039
{
1040
"alias": "/.*CPU Throttles/",
1041
"yaxis": 2
1042
}
1043
],
1044
"spaceLength": 10,
1045
"stack": false,
1046
"steppedLine": false,
1047
"targets": [
1048
{
1049
"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",
1050
"interval": "",
1051
"legendFormat": "{{cluster}} - {{node} - {{pod}} - CPU Saturation",
1052
"queryType": "randomWalk",
1053
"refId": "A"
1054
},
1055
{
1056
"expr": "sum(\nrate(container_cpu_cfs_throttled_seconds_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod)",
1057
"interval": "",
1058
"legendFormat": "{{pod}} - CPU Throttles",
1059
"queryType": "randomWalk",
1060
"refId": "B"
1061
}
1062
],
1063
"thresholds": [],
1064
"timeFrom": null,
1065
"timeRegions": [],
1066
"timeShift": null,
1067
"title": "CPU Saturation",
1068
"tooltip": {
1069
"shared": true,
1070
"sort": 2,
1071
"value_type": "individual"
1072
},
1073
"type": "graph",
1074
"xaxis": {
1075
"buckets": null,
1076
"mode": "time",
1077
"name": null,
1078
"show": true,
1079
"values": []
1080
},
1081
"yaxes": [
1082
{
1083
"decimals": 2,
1084
"format": "percentunit",
1085
"label": null,
1086
"logBase": 1,
1087
"max": null,
1088
"min": "0",
1089
"show": true
1090
},
1091
{
1092
"format": "s",
1093
"label": null,
1094
"logBase": 1,
1095
"max": null,
1096
"min": "0",
1097
"show": true
1098
}
1099
],
1100
"yaxis": {
1101
"align": false,
1102
"alignLevel": null
1103
}
1104
},
1105
{
1106
"aliasColors": {},
1107
"bars": false,
1108
"dashLength": 10,
1109
"dashes": false,
1110
"datasource": "$datasource",
1111
"fill": 1,
1112
"fillGradient": 0,
1113
"gridPos": {
1114
"h": 7,
1115
"w": 12,
1116
"x": 0,
1117
"y": 33
1118
},
1119
"hiddenSeries": false,
1120
"id": 6,
1121
"legend": {
1122
"alignAsTable": true,
1123
"avg": true,
1124
"current": true,
1125
"max": true,
1126
"min": false,
1127
"show": true,
1128
"total": false,
1129
"values": true
1130
},
1131
"lines": true,
1132
"linewidth": 1,
1133
"nullPointMode": "null",
1134
"options": {
1135
"alertThreshold": true
1136
},
1137
"percentage": false,
1138
"pluginVersion": "8.2.1",
1139
"pointradius": 2,
1140
"points": false,
1141
"renderer": "flot",
1142
"seriesOverrides": [],
1143
"spaceLength": 10,
1144
"stack": false,
1145
"steppedLine": false,
1146
"targets": [
1147
{
1148
"expr": "sum(container_memory_working_set_bytes{container!=\"POD\", container!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}) by (pod, cluster, node)",
1149
"interval": "",
1150
"legendFormat": "{{cluster}} - {{node}} - {{pod}}",
1151
"queryType": "randomWalk",
1152
"refId": "A"
1153
}
1154
],
1155
"thresholds": [],
1156
"timeFrom": null,
1157
"timeRegions": [],
1158
"timeShift": null,
1159
"title": "Memory Utilization",
1160
"tooltip": {
1161
"shared": true,
1162
"sort": 2,
1163
"value_type": "individual"
1164
},
1165
"type": "graph",
1166
"xaxis": {
1167
"buckets": null,
1168
"mode": "time",
1169
"name": null,
1170
"show": true,
1171
"values": []
1172
},
1173
"yaxes": [
1174
{
1175
"format": "bytes",
1176
"label": null,
1177
"logBase": 1,
1178
"max": null,
1179
"min": "0",
1180
"show": true
1181
},
1182
{
1183
"format": "short",
1184
"label": null,
1185
"logBase": 1,
1186
"max": null,
1187
"min": null,
1188
"show": true
1189
}
1190
],
1191
"yaxis": {
1192
"align": false,
1193
"alignLevel": null
1194
}
1195
},
1196
{
1197
"aliasColors": {},
1198
"bars": false,
1199
"dashLength": 10,
1200
"dashes": false,
1201
"datasource": "$datasource",
1202
"decimals": 4,
1203
"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.",
1204
"fill": 1,
1205
"fillGradient": 0,
1206
"gridPos": {
1207
"h": 7,
1208
"w": 12,
1209
"x": 12,
1210
"y": 33
1211
},
1212
"hiddenSeries": false,
1213
"id": 8,
1214
"legend": {
1215
"alignAsTable": true,
1216
"avg": true,
1217
"current": true,
1218
"max": true,
1219
"min": false,
1220
"show": true,
1221
"total": false,
1222
"values": true
1223
},
1224
"lines": true,
1225
"linewidth": 1,
1226
"nullPointMode": "null",
1227
"options": {
1228
"alertThreshold": true
1229
},
1230
"percentage": false,
1231
"pluginVersion": "8.2.1",
1232
"pointradius": 2,
1233
"points": false,
1234
"renderer": "flot",
1235
"seriesOverrides": [],
1236
"spaceLength": 10,
1237
"stack": false,
1238
"steppedLine": false,
1239
"targets": [
1240
{
1241
"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",
1242
"interval": "",
1243
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Memory Saturation",
1244
"queryType": "randomWalk",
1245
"refId": "A"
1246
}
1247
],
1248
"thresholds": [],
1249
"timeFrom": null,
1250
"timeRegions": [],
1251
"timeShift": null,
1252
"title": "Memory Saturation",
1253
"tooltip": {
1254
"shared": true,
1255
"sort": 2,
1256
"value_type": "individual"
1257
},
1258
"type": "graph",
1259
"xaxis": {
1260
"buckets": null,
1261
"mode": "time",
1262
"name": null,
1263
"show": true,
1264
"values": []
1265
},
1266
"yaxes": [
1267
{
1268
"decimals": 2,
1269
"format": "percentunit",
1270
"label": null,
1271
"logBase": 1,
1272
"max": null,
1273
"min": "0",
1274
"show": true
1275
},
1276
{
1277
"format": "short",
1278
"label": null,
1279
"logBase": 1,
1280
"max": null,
1281
"min": null,
1282
"show": true
1283
}
1284
],
1285
"yaxis": {
1286
"align": false,
1287
"alignLevel": null
1288
}
1289
},
1290
{
1291
"aliasColors": {},
1292
"bars": false,
1293
"dashLength": 10,
1294
"dashes": false,
1295
"datasource": "$datasource",
1296
"fill": 1,
1297
"fillGradient": 0,
1298
"gridPos": {
1299
"h": 7,
1300
"w": 8,
1301
"x": 0,
1302
"y": 40
1303
},
1304
"hiddenSeries": false,
1305
"id": 10,
1306
"legend": {
1307
"alignAsTable": true,
1308
"avg": false,
1309
"current": true,
1310
"max": false,
1311
"min": false,
1312
"show": true,
1313
"total": false,
1314
"values": true
1315
},
1316
"lines": true,
1317
"linewidth": 1,
1318
"nullPointMode": "null",
1319
"options": {
1320
"alertThreshold": true
1321
},
1322
"percentage": false,
1323
"pluginVersion": "8.2.1",
1324
"pointradius": 2,
1325
"points": false,
1326
"renderer": "flot",
1327
"seriesOverrides": [],
1328
"spaceLength": 10,
1329
"stack": false,
1330
"steppedLine": false,
1331
"targets": [
1332
{
1333
"expr": "sum (\n rate(container_network_receive_bytes_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1334
"interval": "",
1335
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
1336
"queryType": "randomWalk",
1337
"refId": "A"
1338
},
1339
{
1340
"expr": "sum (\n rate(container_network_transmit_bytes_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1341
"interval": "",
1342
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
1343
"queryType": "randomWalk",
1344
"refId": "B"
1345
}
1346
],
1347
"thresholds": [],
1348
"timeFrom": null,
1349
"timeRegions": [],
1350
"timeShift": null,
1351
"title": "Network Utilization",
1352
"tooltip": {
1353
"shared": true,
1354
"sort": 2,
1355
"value_type": "individual"
1356
},
1357
"type": "graph",
1358
"xaxis": {
1359
"buckets": null,
1360
"mode": "time",
1361
"name": null,
1362
"show": true,
1363
"values": []
1364
},
1365
"yaxes": [
1366
{
1367
"format": "binBps",
1368
"label": null,
1369
"logBase": 1,
1370
"max": null,
1371
"min": "0",
1372
"show": true
1373
},
1374
{
1375
"format": "short",
1376
"label": null,
1377
"logBase": 1,
1378
"max": null,
1379
"min": null,
1380
"show": true
1381
}
1382
],
1383
"yaxis": {
1384
"align": false,
1385
"alignLevel": null
1386
}
1387
},
1388
{
1389
"aliasColors": {},
1390
"bars": false,
1391
"dashLength": 10,
1392
"dashes": false,
1393
"datasource": "$datasource",
1394
"fill": 1,
1395
"fillGradient": 0,
1396
"gridPos": {
1397
"h": 7,
1398
"w": 8,
1399
"x": 8,
1400
"y": 40
1401
},
1402
"hiddenSeries": false,
1403
"id": 12,
1404
"legend": {
1405
"alignAsTable": true,
1406
"avg": false,
1407
"current": true,
1408
"max": false,
1409
"min": false,
1410
"rightSide": false,
1411
"show": true,
1412
"total": false,
1413
"values": true
1414
},
1415
"lines": true,
1416
"linewidth": 1,
1417
"nullPointMode": "null",
1418
"options": {
1419
"alertThreshold": true
1420
},
1421
"percentage": false,
1422
"pluginVersion": "8.2.1",
1423
"pointradius": 2,
1424
"points": false,
1425
"renderer": "flot",
1426
"seriesOverrides": [],
1427
"spaceLength": 10,
1428
"stack": false,
1429
"steppedLine": false,
1430
"targets": [
1431
{
1432
"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)",
1433
"interval": "",
1434
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Receive",
1435
"queryType": "randomWalk",
1436
"refId": "A"
1437
},
1438
{
1439
"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)",
1440
"interval": "",
1441
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmit",
1442
"queryType": "randomWalk",
1443
"refId": "B"
1444
}
1445
],
1446
"thresholds": [],
1447
"timeFrom": null,
1448
"timeRegions": [],
1449
"timeShift": null,
1450
"title": "Network Saturation (Packets Dropped)",
1451
"tooltip": {
1452
"shared": true,
1453
"sort": 2,
1454
"value_type": "individual"
1455
},
1456
"type": "graph",
1457
"xaxis": {
1458
"buckets": null,
1459
"mode": "time",
1460
"name": null,
1461
"show": true,
1462
"values": []
1463
},
1464
"yaxes": [
1465
{
1466
"format": "pps",
1467
"label": null,
1468
"logBase": 1,
1469
"max": null,
1470
"min": "0",
1471
"show": true
1472
},
1473
{
1474
"format": "short",
1475
"label": null,
1476
"logBase": 1,
1477
"max": null,
1478
"min": null,
1479
"show": true
1480
}
1481
],
1482
"yaxis": {
1483
"align": false,
1484
"alignLevel": null
1485
}
1486
},
1487
{
1488
"aliasColors": {},
1489
"bars": false,
1490
"dashLength": 10,
1491
"dashes": false,
1492
"datasource": "$datasource",
1493
"fill": 1,
1494
"fillGradient": 0,
1495
"gridPos": {
1496
"h": 7,
1497
"w": 8,
1498
"x": 16,
1499
"y": 40
1500
},
1501
"hiddenSeries": false,
1502
"id": 14,
1503
"legend": {
1504
"alignAsTable": true,
1505
"avg": false,
1506
"current": true,
1507
"max": false,
1508
"min": false,
1509
"show": true,
1510
"total": false,
1511
"values": true
1512
},
1513
"lines": true,
1514
"linewidth": 1,
1515
"nullPointMode": "null",
1516
"options": {
1517
"alertThreshold": true
1518
},
1519
"percentage": false,
1520
"pluginVersion": "8.2.1",
1521
"pointradius": 2,
1522
"points": false,
1523
"renderer": "flot",
1524
"seriesOverrides": [],
1525
"spaceLength": 10,
1526
"stack": false,
1527
"steppedLine": false,
1528
"targets": [
1529
{
1530
"expr": "sum (\n rate(container_network_receive_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1531
"interval": "",
1532
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
1533
"queryType": "randomWalk",
1534
"refId": "A"
1535
},
1536
{
1537
"expr": "sum (\n rate(container_network_transmit_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1538
"interval": "",
1539
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
1540
"queryType": "randomWalk",
1541
"refId": "B"
1542
}
1543
],
1544
"thresholds": [],
1545
"timeFrom": null,
1546
"timeRegions": [],
1547
"timeShift": null,
1548
"title": "Network Errors",
1549
"tooltip": {
1550
"shared": true,
1551
"sort": 2,
1552
"value_type": "individual"
1553
},
1554
"type": "graph",
1555
"xaxis": {
1556
"buckets": null,
1557
"mode": "time",
1558
"name": null,
1559
"show": true,
1560
"values": []
1561
},
1562
"yaxes": [
1563
{
1564
"format": "Errors/s",
1565
"label": null,
1566
"logBase": 1,
1567
"max": null,
1568
"min": "0",
1569
"show": true
1570
},
1571
{
1572
"format": "short",
1573
"label": null,
1574
"logBase": 1,
1575
"max": null,
1576
"min": null,
1577
"show": true
1578
}
1579
],
1580
"yaxis": {
1581
"align": false,
1582
"alignLevel": null
1583
}
1584
},
1585
{
1586
"aliasColors": {},
1587
"bars": false,
1588
"dashLength": 10,
1589
"dashes": false,
1590
"datasource": "$datasource",
1591
"decimals": 4,
1592
"description": "",
1593
"fill": 1,
1594
"fillGradient": 0,
1595
"gridPos": {
1596
"h": 9,
1597
"w": 8,
1598
"x": 0,
1599
"y": 47
1600
},
1601
"hiddenSeries": false,
1602
"id": 36,
1603
"legend": {
1604
"alignAsTable": true,
1605
"avg": true,
1606
"current": true,
1607
"max": true,
1608
"min": false,
1609
"show": true,
1610
"total": false,
1611
"values": true
1612
},
1613
"lines": true,
1614
"linewidth": 1,
1615
"nullPointMode": "null",
1616
"options": {
1617
"alertThreshold": true
1618
},
1619
"percentage": false,
1620
"pluginVersion": "8.2.1",
1621
"pointradius": 2,
1622
"points": false,
1623
"renderer": "flot",
1624
"seriesOverrides": [],
1625
"spaceLength": 10,
1626
"stack": false,
1627
"steppedLine": false,
1628
"targets": [
1629
{
1630
"expr": "rate(kube_pod_container_status_restarts_total{cluster=~\"$cluster\", pod=~\"$pod\"}[1m])",
1631
"interval": "",
1632
"legendFormat": "{{cluster}} - {{kubernetes_pod_node_name}} - {{pod}} ",
1633
"queryType": "randomWalk",
1634
"refId": "A"
1635
}
1636
],
1637
"thresholds": [],
1638
"timeFrom": null,
1639
"timeRegions": [],
1640
"timeShift": null,
1641
"title": "Pod Restarts",
1642
"tooltip": {
1643
"shared": true,
1644
"sort": 2,
1645
"value_type": "individual"
1646
},
1647
"type": "graph",
1648
"xaxis": {
1649
"buckets": null,
1650
"mode": "time",
1651
"name": null,
1652
"show": true,
1653
"values": []
1654
},
1655
"yaxes": [
1656
{
1657
"decimals": 2,
1658
"format": "short",
1659
"label": null,
1660
"logBase": 1,
1661
"max": null,
1662
"min": "0",
1663
"show": true
1664
},
1665
{
1666
"format": "short",
1667
"label": null,
1668
"logBase": 1,
1669
"max": null,
1670
"min": null,
1671
"show": true
1672
}
1673
],
1674
"yaxis": {
1675
"align": false,
1676
"alignLevel": null
1677
}
1678
},
1679
{
1680
"aliasColors": {},
1681
"bars": false,
1682
"dashLength": 10,
1683
"dashes": false,
1684
"datasource": "$datasource",
1685
"decimals": 0,
1686
"description": "",
1687
"fill": 1,
1688
"fillGradient": 0,
1689
"gridPos": {
1690
"h": 9,
1691
"w": 8,
1692
"x": 8,
1693
"y": 47
1694
},
1695
"hiddenSeries": false,
1696
"id": 41,
1697
"legend": {
1698
"alignAsTable": true,
1699
"avg": false,
1700
"current": true,
1701
"max": false,
1702
"min": false,
1703
"show": true,
1704
"total": false,
1705
"values": true
1706
},
1707
"lines": true,
1708
"linewidth": 1,
1709
"nullPointMode": "null",
1710
"options": {
1711
"alertThreshold": true
1712
},
1713
"percentage": false,
1714
"pluginVersion": "8.2.1",
1715
"pointradius": 2,
1716
"points": false,
1717
"renderer": "flot",
1718
"seriesOverrides": [],
1719
"spaceLength": 10,
1720
"stack": false,
1721
"steppedLine": false,
1722
"targets": [
1723
{
1724
"expr": "kube_pod_container_status_running{cluster=~\"$cluster\", pod=~\"$pod\"} == 1 ",
1725
"interval": "",
1726
"legendFormat": "{{pod}} - RUNNING",
1727
"queryType": "randomWalk",
1728
"refId": "A"
1729
},
1730
{
1731
"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)",
1732
"interval": "",
1733
"legendFormat": "{{pod}} - TERMINATED -> {{reason}}",
1734
"queryType": "randomWalk",
1735
"refId": "B"
1736
},
1737
{
1738
"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)",
1739
"interval": "",
1740
"legendFormat": "{{pod}} - WAITING -> {{reason}}",
1741
"queryType": "randomWalk",
1742
"refId": "C"
1743
}
1744
],
1745
"thresholds": [],
1746
"timeFrom": null,
1747
"timeRegions": [],
1748
"timeShift": null,
1749
"title": "Pod Status",
1750
"tooltip": {
1751
"shared": true,
1752
"sort": 2,
1753
"value_type": "individual"
1754
},
1755
"type": "graph",
1756
"xaxis": {
1757
"buckets": null,
1758
"mode": "time",
1759
"name": null,
1760
"show": true,
1761
"values": []
1762
},
1763
"yaxes": [
1764
{
1765
"decimals": 0,
1766
"format": "short",
1767
"label": null,
1768
"logBase": 1,
1769
"max": null,
1770
"min": null,
1771
"show": true
1772
},
1773
{
1774
"format": "short",
1775
"label": null,
1776
"logBase": 1,
1777
"max": null,
1778
"min": null,
1779
"show": true
1780
}
1781
],
1782
"yaxis": {
1783
"align": false,
1784
"alignLevel": null
1785
}
1786
},
1787
{
1788
"aliasColors": {},
1789
"bars": false,
1790
"dashLength": 10,
1791
"dashes": false,
1792
"datasource": "$datasource",
1793
"decimals": 0,
1794
"fill": 1,
1795
"fillGradient": 0,
1796
"gridPos": {
1797
"h": 9,
1798
"w": 8,
1799
"x": 16,
1800
"y": 47
1801
},
1802
"hiddenSeries": false,
1803
"id": 39,
1804
"legend": {
1805
"alignAsTable": true,
1806
"avg": false,
1807
"current": true,
1808
"max": false,
1809
"min": false,
1810
"show": true,
1811
"total": false,
1812
"values": true
1813
},
1814
"lines": true,
1815
"linewidth": 1,
1816
"nullPointMode": "null",
1817
"options": {
1818
"alertThreshold": true
1819
},
1820
"percentage": false,
1821
"pluginVersion": "8.2.1",
1822
"pointradius": 2,
1823
"points": false,
1824
"renderer": "flot",
1825
"seriesOverrides": [],
1826
"spaceLength": 10,
1827
"stack": false,
1828
"steppedLine": false,
1829
"targets": [
1830
{
1831
"expr": "kube_deployment_spec_replicas{cluster=~\"$cluster\", deployment=\"agent-smith\"}",
1832
"interval": "",
1833
"legendFormat": "{{cluster}} - {{deployment}} - Desired",
1834
"queryType": "randomWalk",
1835
"refId": "C"
1836
},
1837
{
1838
"expr": "kube_deployment_status_replicas_available{cluster=~\"$cluster\", deployment=\"agent-smith\"}",
1839
"interval": "",
1840
"legendFormat": "{{cluster}} - {{deployment}} - Available replicas",
1841
"queryType": "randomWalk",
1842
"refId": "A"
1843
},
1844
{
1845
"expr": "kube_deployment_status_replicas_unavailable{cluster=~\"$cluster\", deployment=\"agent-smith\"}",
1846
"interval": "",
1847
"legendFormat": "{{cluster}} - {{deployment}} - Unvailable replicas",
1848
"queryType": "randomWalk",
1849
"refId": "B"
1850
}
1851
],
1852
"thresholds": [],
1853
"timeFrom": null,
1854
"timeRegions": [],
1855
"timeShift": null,
1856
"title": "Replicas availability",
1857
"tooltip": {
1858
"shared": true,
1859
"sort": 2,
1860
"value_type": "individual"
1861
},
1862
"type": "graph",
1863
"xaxis": {
1864
"buckets": null,
1865
"mode": "time",
1866
"name": null,
1867
"show": true,
1868
"values": []
1869
},
1870
"yaxes": [
1871
{
1872
"decimals": 0,
1873
"format": "short",
1874
"label": null,
1875
"logBase": 1,
1876
"max": null,
1877
"min": null,
1878
"show": true
1879
},
1880
{
1881
"format": "short",
1882
"label": null,
1883
"logBase": 1,
1884
"max": null,
1885
"min": null,
1886
"show": true
1887
}
1888
],
1889
"yaxis": {
1890
"align": false,
1891
"alignLevel": null
1892
}
1893
},
1894
{
1895
"collapsed": true,
1896
"datasource": null,
1897
"gridPos": {
1898
"h": 1,
1899
"w": 24,
1900
"x": 0,
1901
"y": 56
1902
},
1903
"id": 27,
1904
"panels": [
1905
{
1906
"aliasColors": {},
1907
"bars": false,
1908
"dashLength": 10,
1909
"dashes": false,
1910
"datasource": "$datasource",
1911
"fill": 1,
1912
"fillGradient": 0,
1913
"gridPos": {
1914
"h": 9,
1915
"w": 12,
1916
"x": 0,
1917
"y": 3
1918
},
1919
"hiddenSeries": false,
1920
"id": 33,
1921
"legend": {
1922
"alignAsTable": true,
1923
"avg": true,
1924
"current": true,
1925
"max": true,
1926
"min": false,
1927
"show": true,
1928
"total": false,
1929
"values": true
1930
},
1931
"lines": true,
1932
"linewidth": 1,
1933
"nullPointMode": "null",
1934
"options": {
1935
"alertThreshold": true
1936
},
1937
"percentage": false,
1938
"pluginVersion": "8.1.2",
1939
"pointradius": 2,
1940
"points": false,
1941
"renderer": "flot",
1942
"seriesOverrides": [],
1943
"spaceLength": 10,
1944
"stack": false,
1945
"steppedLine": false,
1946
"targets": [
1947
{
1948
"expr": "process_resident_memory_bytes{cluster=~\"$cluster\", job=\"agent-smith\", pod=~\"$pod\"}",
1949
"hide": false,
1950
"interval": "",
1951
"legendFormat": "{{cluster}} - {{pod}}",
1952
"queryType": "randomWalk",
1953
"refId": "A"
1954
}
1955
],
1956
"thresholds": [],
1957
"timeFrom": null,
1958
"timeRegions": [],
1959
"timeShift": null,
1960
"title": "Memory Usage (as seen by the runtime process)",
1961
"tooltip": {
1962
"shared": true,
1963
"sort": 0,
1964
"value_type": "individual"
1965
},
1966
"type": "graph",
1967
"xaxis": {
1968
"buckets": null,
1969
"mode": "time",
1970
"name": null,
1971
"show": true,
1972
"values": []
1973
},
1974
"yaxes": [
1975
{
1976
"format": "bytes",
1977
"label": null,
1978
"logBase": 1,
1979
"max": null,
1980
"min": "0",
1981
"show": true
1982
},
1983
{
1984
"format": "short",
1985
"label": null,
1986
"logBase": 1,
1987
"max": null,
1988
"min": null,
1989
"show": true
1990
}
1991
],
1992
"yaxis": {
1993
"align": false,
1994
"alignLevel": null
1995
}
1996
},
1997
{
1998
"aliasColors": {},
1999
"bars": false,
2000
"dashLength": 10,
2001
"dashes": false,
2002
"datasource": "$datasource",
2003
"decimals": 2,
2004
"editable": true,
2005
"error": false,
2006
"fill": 1,
2007
"fillGradient": 0,
2008
"gridPos": {
2009
"h": 9,
2010
"w": 12,
2011
"x": 12,
2012
"y": 3
2013
},
2014
"hiddenSeries": false,
2015
"id": 35,
2016
"legend": {
2017
"alignAsTable": true,
2018
"avg": true,
2019
"current": true,
2020
"hideEmpty": false,
2021
"max": true,
2022
"min": false,
2023
"rightSide": false,
2024
"show": true,
2025
"total": false,
2026
"values": true
2027
},
2028
"lines": true,
2029
"linewidth": 1,
2030
"links": [],
2031
"nullPointMode": "null",
2032
"options": {
2033
"alertThreshold": true
2034
},
2035
"percentage": false,
2036
"pluginVersion": "8.1.2",
2037
"pointradius": 5,
2038
"points": false,
2039
"renderer": "flot",
2040
"seriesOverrides": [],
2041
"spaceLength": 10,
2042
"stack": false,
2043
"steppedLine": false,
2044
"targets": [
2045
{
2046
"expr": "rate(process_cpu_seconds_total{cluster=~\"$cluster\", job=\"agent-smith\", pod=~\"$pod\"}[5m])",
2047
"interval": "",
2048
"intervalFactor": 2,
2049
"legendFormat": "{{cluster}} - {{pod}}",
2050
"metric": "prometheus_local_storage_ingested_samples_total",
2051
"refId": "A",
2052
"step": 10
2053
}
2054
],
2055
"thresholds": [],
2056
"timeFrom": null,
2057
"timeRegions": [],
2058
"timeShift": null,
2059
"title": "CPU Usage (as seen by the runtime process)",
2060
"tooltip": {
2061
"msResolution": false,
2062
"shared": true,
2063
"sort": 2,
2064
"value_type": "individual"
2065
},
2066
"type": "graph",
2067
"xaxis": {
2068
"buckets": null,
2069
"mode": "time",
2070
"name": null,
2071
"show": true,
2072
"values": [
2073
"avg"
2074
]
2075
},
2076
"yaxes": [
2077
{
2078
"decimals": 2,
2079
"format": "none",
2080
"label": null,
2081
"logBase": 1,
2082
"max": null,
2083
"min": "0",
2084
"show": true
2085
},
2086
{
2087
"format": "short",
2088
"label": null,
2089
"logBase": 1,
2090
"max": null,
2091
"min": null,
2092
"show": true
2093
}
2094
],
2095
"yaxis": {
2096
"align": false,
2097
"alignLevel": null
2098
}
2099
},
2100
{
2101
"aliasColors": {},
2102
"bars": false,
2103
"dashLength": 10,
2104
"dashes": false,
2105
"datasource": "$datasource",
2106
"fill": 1,
2107
"fillGradient": 0,
2108
"gridPos": {
2109
"h": 8,
2110
"w": 12,
2111
"x": 0,
2112
"y": 12
2113
},
2114
"hiddenSeries": false,
2115
"id": 20,
2116
"legend": {
2117
"alignAsTable": true,
2118
"avg": true,
2119
"current": true,
2120
"max": true,
2121
"min": false,
2122
"show": true,
2123
"total": false,
2124
"values": true
2125
},
2126
"lines": true,
2127
"linewidth": 1,
2128
"nullPointMode": "null",
2129
"options": {
2130
"alertThreshold": true
2131
},
2132
"percentage": false,
2133
"pluginVersion": "8.1.2",
2134
"pointradius": 2,
2135
"points": false,
2136
"renderer": "flot",
2137
"seriesOverrides": [],
2138
"spaceLength": 10,
2139
"stack": false,
2140
"steppedLine": false,
2141
"targets": [
2142
{
2143
"expr": "go_memstats_heap_sys_bytes{cluster=~\"$cluster\", pod=~\"$pod\"}",
2144
"interval": "",
2145
"legendFormat": "{{cluster}} - {{pod}}",
2146
"queryType": "randomWalk",
2147
"refId": "A"
2148
}
2149
],
2150
"thresholds": [],
2151
"timeFrom": null,
2152
"timeRegions": [],
2153
"timeShift": null,
2154
"title": "Heap Usage",
2155
"tooltip": {
2156
"shared": true,
2157
"sort": 2,
2158
"value_type": "individual"
2159
},
2160
"type": "graph",
2161
"xaxis": {
2162
"buckets": null,
2163
"mode": "time",
2164
"name": null,
2165
"show": true,
2166
"values": []
2167
},
2168
"yaxes": [
2169
{
2170
"format": "bytes",
2171
"label": null,
2172
"logBase": 1,
2173
"max": null,
2174
"min": "0",
2175
"show": true
2176
},
2177
{
2178
"format": "short",
2179
"label": null,
2180
"logBase": 1,
2181
"max": null,
2182
"min": null,
2183
"show": true
2184
}
2185
],
2186
"yaxis": {
2187
"align": false,
2188
"alignLevel": null
2189
}
2190
},
2191
{
2192
"aliasColors": {},
2193
"bars": false,
2194
"dashLength": 10,
2195
"dashes": false,
2196
"datasource": "$datasource",
2197
"fieldConfig": {
2198
"defaults": {
2199
"links": []
2200
},
2201
"overrides": []
2202
},
2203
"fill": 1,
2204
"fillGradient": 0,
2205
"gridPos": {
2206
"h": 8,
2207
"w": 12,
2208
"x": 12,
2209
"y": 12
2210
},
2211
"hiddenSeries": false,
2212
"id": 23,
2213
"legend": {
2214
"alignAsTable": true,
2215
"avg": true,
2216
"current": true,
2217
"max": true,
2218
"min": false,
2219
"show": true,
2220
"total": false,
2221
"values": true
2222
},
2223
"lines": true,
2224
"linewidth": 1,
2225
"nullPointMode": "null",
2226
"options": {
2227
"alertThreshold": true
2228
},
2229
"percentage": false,
2230
"pluginVersion": "8.1.2",
2231
"pointradius": 2,
2232
"points": false,
2233
"renderer": "flot",
2234
"repeat": null,
2235
"repeatDirection": "h",
2236
"seriesOverrides": [
2237
{
2238
"alias": "/GC rate:(.*)/",
2239
"yaxis": 2
2240
}
2241
],
2242
"spaceLength": 10,
2243
"stack": false,
2244
"steppedLine": false,
2245
"targets": [
2246
{
2247
"expr": "rate(go_memstats_alloc_bytes_total{cluster=~\"$cluster\", pod=~\"$pod\"}[5m])",
2248
"interval": "",
2249
"legendFormat": "{{cluster}} - {{pod}}",
2250
"refId": "A"
2251
}
2252
],
2253
"thresholds": [],
2254
"timeFrom": null,
2255
"timeRegions": [],
2256
"timeShift": null,
2257
"title": "Memory Allocation rate",
2258
"tooltip": {
2259
"shared": true,
2260
"sort": 2,
2261
"value_type": "individual"
2262
},
2263
"type": "graph",
2264
"xaxis": {
2265
"buckets": null,
2266
"mode": "time",
2267
"name": null,
2268
"show": true,
2269
"values": []
2270
},
2271
"yaxes": [
2272
{
2273
"format": "binBps",
2274
"label": null,
2275
"logBase": 1,
2276
"max": null,
2277
"min": "0",
2278
"show": true
2279
},
2280
{
2281
"format": "short",
2282
"label": null,
2283
"logBase": 1,
2284
"max": null,
2285
"min": null,
2286
"show": true
2287
}
2288
],
2289
"yaxis": {
2290
"align": false,
2291
"alignLevel": null
2292
}
2293
},
2294
{
2295
"aliasColors": {},
2296
"bars": false,
2297
"dashLength": 10,
2298
"dashes": false,
2299
"datasource": "$datasource",
2300
"fill": 1,
2301
"fillGradient": 0,
2302
"gridPos": {
2303
"h": 9,
2304
"w": 12,
2305
"x": 0,
2306
"y": 20
2307
},
2308
"hiddenSeries": false,
2309
"id": 21,
2310
"legend": {
2311
"alignAsTable": true,
2312
"avg": true,
2313
"current": true,
2314
"max": true,
2315
"min": false,
2316
"show": true,
2317
"total": false,
2318
"values": true
2319
},
2320
"lines": true,
2321
"linewidth": 1,
2322
"nullPointMode": "null",
2323
"options": {
2324
"alertThreshold": true
2325
},
2326
"percentage": false,
2327
"pluginVersion": "8.1.2",
2328
"pointradius": 2,
2329
"points": false,
2330
"renderer": "flot",
2331
"seriesOverrides": [],
2332
"spaceLength": 10,
2333
"stack": false,
2334
"steppedLine": false,
2335
"targets": [
2336
{
2337
"expr": "go_goroutines{cluster=~\"$cluster\", job=\"agent-smith\", pod=~\"$pod\"}",
2338
"interval": "",
2339
"legendFormat": "{{cluster}} - {{pod}}",
2340
"queryType": "randomWalk",
2341
"refId": "A"
2342
}
2343
],
2344
"thresholds": [],
2345
"timeFrom": null,
2346
"timeRegions": [],
2347
"timeShift": null,
2348
"title": "Go Routines",
2349
"tooltip": {
2350
"shared": true,
2351
"sort": 2,
2352
"value_type": "individual"
2353
},
2354
"type": "graph",
2355
"xaxis": {
2356
"buckets": null,
2357
"mode": "time",
2358
"name": null,
2359
"show": true,
2360
"values": []
2361
},
2362
"yaxes": [
2363
{
2364
"format": "short",
2365
"label": null,
2366
"logBase": 1,
2367
"max": null,
2368
"min": "0",
2369
"show": true
2370
},
2371
{
2372
"format": "short",
2373
"label": null,
2374
"logBase": 1,
2375
"max": null,
2376
"min": null,
2377
"show": true
2378
}
2379
],
2380
"yaxis": {
2381
"align": false,
2382
"alignLevel": null
2383
}
2384
},
2385
{
2386
"aliasColors": {},
2387
"bars": false,
2388
"dashLength": 10,
2389
"dashes": false,
2390
"datasource": "$datasource",
2391
"fill": 1,
2392
"fillGradient": 0,
2393
"gridPos": {
2394
"h": 9,
2395
"w": 12,
2396
"x": 12,
2397
"y": 20
2398
},
2399
"hiddenSeries": false,
2400
"id": 25,
2401
"legend": {
2402
"alignAsTable": true,
2403
"avg": true,
2404
"current": true,
2405
"max": true,
2406
"min": false,
2407
"show": true,
2408
"total": false,
2409
"values": true
2410
},
2411
"lines": true,
2412
"linewidth": 1,
2413
"nullPointMode": "null",
2414
"options": {
2415
"alertThreshold": true
2416
},
2417
"percentage": false,
2418
"pluginVersion": "8.1.2",
2419
"pointradius": 2,
2420
"points": false,
2421
"renderer": "flot",
2422
"seriesOverrides": [],
2423
"spaceLength": 10,
2424
"stack": false,
2425
"steppedLine": false,
2426
"targets": [
2427
{
2428
"expr": "go_gc_duration_seconds{cluster=~\"$cluster\", job=\"agent-smith\", pod=~\"$pod\", quantile=\"0.5\"}",
2429
"interval": "",
2430
"legendFormat": "{{cluster}} - {{pod}} - GC Duration - 50th percentile",
2431
"refId": "A"
2432
},
2433
{
2434
"expr": "go_gc_duration_seconds{cluster=~\"$cluster\", job=\"agent-smith\", pod=~\"$pod\", quantile=\"0.75\"}",
2435
"interval": "",
2436
"legendFormat": "{{cluster}} - {{pod}} - GC Duration - 75th percentile",
2437
"refId": "B"
2438
},
2439
{
2440
"expr": "go_gc_duration_seconds{cluster=~\"$cluster\", job=\"agent-smith\", pod=~\"$pod\", quantile=\"1\"}",
2441
"interval": "",
2442
"legendFormat": "{{cluster}} - {{pod}} - GC Duration - 100th percentile",
2443
"refId": "C"
2444
}
2445
],
2446
"thresholds": [],
2447
"timeFrom": null,
2448
"timeRegions": [],
2449
"timeShift": null,
2450
"title": "Garbage collection time",
2451
"tooltip": {
2452
"shared": true,
2453
"sort": 2,
2454
"value_type": "individual"
2455
},
2456
"type": "graph",
2457
"xaxis": {
2458
"buckets": null,
2459
"mode": "time",
2460
"name": null,
2461
"show": true,
2462
"values": []
2463
},
2464
"yaxes": [
2465
{
2466
"format": "s",
2467
"label": null,
2468
"logBase": 1,
2469
"max": null,
2470
"min": "0",
2471
"show": true
2472
},
2473
{
2474
"format": "short",
2475
"label": null,
2476
"logBase": 1,
2477
"max": null,
2478
"min": null,
2479
"show": true
2480
}
2481
],
2482
"yaxis": {
2483
"align": false,
2484
"alignLevel": null
2485
}
2486
}
2487
],
2488
"title": "Go Runtime Metrics",
2489
"type": "row"
2490
}
2491
],
2492
"refresh": "30s",
2493
"schemaVersion": 31,
2494
"style": "dark",
2495
"tags": [
2496
"gitpod-mixin"
2497
],
2498
"templating": {
2499
"list": [
2500
{
2501
"allValue": null,
2502
"current": {
2503
"selected": true,
2504
"text": [
2505
"prod-ws-eu17",
2506
"prod-ws-us17"
2507
],
2508
"value": [
2509
"prod-ws-eu17",
2510
"prod-ws-us17"
2511
]
2512
},
2513
"datasource": "$datasource",
2514
"definition": "label_values(container_cpu_usage_seconds_total, cluster)",
2515
"description": null,
2516
"error": null,
2517
"hide": 0,
2518
"includeAll": true,
2519
"label": "Cluster",
2520
"multi": true,
2521
"name": "cluster",
2522
"options": [],
2523
"query": {
2524
"query": "label_values(container_cpu_usage_seconds_total, cluster)",
2525
"refId": "$datasource-cluster-Variable-Query"
2526
},
2527
"refresh": 2,
2528
"regex": "",
2529
"skipUrlSync": false,
2530
"sort": 0,
2531
"tagValuesQuery": "",
2532
"tagsQuery": "",
2533
"type": "query",
2534
"useTags": false
2535
},
2536
{
2537
"allValue": null,
2538
"current": {
2539
"selected": true,
2540
"text": [
2541
"All"
2542
],
2543
"value": [
2544
"$__all"
2545
]
2546
},
2547
"datasource": "$datasource",
2548
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"agent-smith.*\"}, node)",
2549
"description": null,
2550
"error": null,
2551
"hide": 0,
2552
"includeAll": true,
2553
"label": "Node",
2554
"multi": true,
2555
"name": "node",
2556
"options": [],
2557
"query": {
2558
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"agent-smith.*\"}, node)",
2559
"refId": "$datasource-node-Variable-Query"
2560
},
2561
"refresh": 2,
2562
"regex": "",
2563
"skipUrlSync": false,
2564
"sort": 0,
2565
"tagValuesQuery": "",
2566
"tagsQuery": "",
2567
"type": "query",
2568
"useTags": false
2569
},
2570
{
2571
"allValue": null,
2572
"current": {
2573
"selected": true,
2574
"text": [
2575
"All"
2576
],
2577
"value": [
2578
"$__all"
2579
]
2580
},
2581
"datasource": "$datasource",
2582
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"agent-smith.*\"}, pod)",
2583
"description": null,
2584
"error": null,
2585
"hide": 0,
2586
"includeAll": true,
2587
"label": "Pod",
2588
"multi": true,
2589
"name": "pod",
2590
"options": [],
2591
"query": {
2592
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"agent-smith.*\"}, pod)",
2593
"refId": "$datasource-pod-Variable-Query"
2594
},
2595
"refresh": 2,
2596
"regex": "",
2597
"skipUrlSync": false,
2598
"sort": 0,
2599
"tagValuesQuery": "",
2600
"tagsQuery": "",
2601
"type": "query",
2602
"useTags": false
2603
},
2604
{
2605
"current": {
2606
"selected": false,
2607
"text": "VictoriaMetrics",
2608
"value": "VictoriaMetrics"
2609
},
2610
"hide": 0,
2611
"includeAll": false,
2612
"multi": false,
2613
"name": "datasource",
2614
"options": [],
2615
"query": "prometheus",
2616
"refresh": 1,
2617
"regex": "",
2618
"skipUrlSync": false,
2619
"type": "datasource"
2620
}
2621
]
2622
},
2623
"time": {
2624
"from": "now-30m",
2625
"to": "now"
2626
},
2627
"timepicker": {},
2628
"timezone": "utc",
2629
"title": "Gitpod / Component / agent-smith",
2630
"uid": "agent-smith",
2631
"version": 1
2632
}
2633
2634