Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/operations/observability/mixins/cross-teams/dashboards/gitpod-cluster-autoscaler-k3s.json
2500 views
1
{
2
"__elements": [],
3
"__requires": [
4
{
5
"type": "panel",
6
"id": "gauge",
7
"name": "Gauge",
8
"version": ""
9
},
10
{
11
"type": "grafana",
12
"id": "grafana",
13
"name": "Grafana",
14
"version": "8.3.1"
15
},
16
{
17
"type": "panel",
18
"id": "graph",
19
"name": "Graph (old)",
20
"version": ""
21
},
22
{
23
"type": "datasource",
24
"id": "prometheus",
25
"name": "Prometheus",
26
"version": "1.0.0"
27
},
28
{
29
"type": "panel",
30
"id": "stat",
31
"name": "Stat",
32
"version": ""
33
}
34
],
35
"annotations": {
36
"list": [
37
{
38
"builtIn": 1,
39
"datasource": "-- Grafana --",
40
"enable": true,
41
"hide": true,
42
"iconColor": "rgba(0, 211, 255, 1)",
43
"name": "Annotations & Alerts",
44
"target": {
45
"limit": 100,
46
"matchAny": false,
47
"tags": [],
48
"type": "dashboard"
49
},
50
"type": "dashboard"
51
}
52
]
53
},
54
"description": "Super simple dashboard showing an overview of kubernetes cluster autoscaling activity and status, using metrics reported by the autoscaler to prometheus.\r\n\r\nhttps://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler",
55
"editable": true,
56
"fiscalYearStartMonth": 0,
57
"gnetId": null,
58
"graphTooltip": 0,
59
"id": null,
60
"links": [],
61
"liveNow": false,
62
"panels": [
63
{
64
"datasource": "$datasource",
65
"fieldConfig": {
66
"defaults": {
67
"color": {
68
"mode": "thresholds"
69
},
70
"mappings": [
71
{
72
"options": {
73
"match": "null",
74
"result": {
75
"text": "N/A"
76
}
77
},
78
"type": "special"
79
}
80
],
81
"thresholds": {
82
"mode": "absolute",
83
"steps": [
84
{
85
"color": "green",
86
"value": null
87
},
88
{
89
"color": "red",
90
"value": 80
91
}
92
]
93
},
94
"unit": "none"
95
},
96
"overrides": []
97
},
98
"gridPos": {
99
"h": 4,
100
"w": 4,
101
"x": 0,
102
"y": 0
103
},
104
"id": 4,
105
"links": [],
106
"maxDataPoints": 100,
107
"options": {
108
"colorMode": "none",
109
"graphMode": "none",
110
"justifyMode": "auto",
111
"orientation": "horizontal",
112
"reduceOptions": {
113
"calcs": [
114
"lastNotNull"
115
],
116
"fields": "",
117
"values": false
118
},
119
"textMode": "auto"
120
},
121
"pluginVersion": "8.3.1",
122
"targets": [
123
{
124
"expr": "sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\"})\n",
125
"format": "time_series",
126
"intervalFactor": 2,
127
"refId": "A",
128
"step": 600
129
}
130
],
131
"title": "Total nodes",
132
"type": "stat"
133
},
134
{
135
"datasource": "$datasource",
136
"description": "Shows the nodes which are ready as a percent of the total nodes",
137
"fieldConfig": {
138
"defaults": {
139
"color": {
140
"mode": "thresholds"
141
},
142
"mappings": [
143
{
144
"options": {
145
"match": "null",
146
"result": {
147
"text": "N/A"
148
}
149
},
150
"type": "special"
151
}
152
],
153
"max": 100,
154
"min": 0,
155
"thresholds": {
156
"mode": "absolute",
157
"steps": [
158
{
159
"color": "rgba(50, 172, 45, 0.97)",
160
"value": null
161
},
162
{
163
"color": "rgba(237, 129, 40, 0.89)",
164
"value": 100
165
},
166
{
167
"color": "rgba(245, 54, 54, 0.9)",
168
"value": 95
169
}
170
]
171
},
172
"unit": "percent"
173
},
174
"overrides": []
175
},
176
"gridPos": {
177
"h": 4,
178
"w": 4,
179
"x": 4,
180
"y": 0
181
},
182
"id": 6,
183
"links": [],
184
"maxDataPoints": 100,
185
"options": {
186
"orientation": "horizontal",
187
"reduceOptions": {
188
"calcs": [
189
"lastNotNull"
190
],
191
"fields": "",
192
"values": false
193
},
194
"showThresholdLabels": false,
195
"showThresholdMarkers": false
196
},
197
"pluginVersion": "8.3.1",
198
"targets": [
199
{
200
"expr": "sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\", state=\"ready\"})/sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\"})*100",
201
"format": "time_series",
202
"intervalFactor": 2,
203
"refId": "A",
204
"step": 600
205
}
206
],
207
"title": "Nodes available",
208
"type": "gauge"
209
},
210
{
211
"datasource": "$datasource",
212
"fieldConfig": {
213
"defaults": {
214
"color": {
215
"mode": "thresholds"
216
},
217
"mappings": [
218
{
219
"options": {
220
"0": {
221
"text": "No"
222
},
223
"1": {
224
"text": "Yes"
225
}
226
},
227
"type": "value"
228
}
229
],
230
"thresholds": {
231
"mode": "absolute",
232
"steps": [
233
{
234
"color": "rgba(245, 54, 54, 0.9)",
235
"value": null
236
},
237
{
238
"color": "rgba(237, 129, 40, 0.89)",
239
"value": 0
240
},
241
{
242
"color": "rgba(50, 172, 45, 0.97)",
243
"value": 1
244
}
245
]
246
},
247
"unit": "none"
248
},
249
"overrides": []
250
},
251
"gridPos": {
252
"h": 4,
253
"w": 4,
254
"x": 8,
255
"y": 0
256
},
257
"id": 9,
258
"links": [],
259
"maxDataPoints": 100,
260
"options": {
261
"colorMode": "background",
262
"graphMode": "none",
263
"justifyMode": "auto",
264
"orientation": "horizontal",
265
"reduceOptions": {
266
"calcs": [
267
"lastNotNull"
268
],
269
"fields": "",
270
"values": false
271
},
272
"textMode": "auto"
273
},
274
"pluginVersion": "8.3.1",
275
"targets": [
276
{
277
"datasource": "$datasource",
278
"exemplar": true,
279
"expr": "sum(cluster_autoscaler_cluster_safe_to_autoscale{cluster=~\"$cluster\"})",
280
"format": "time_series",
281
"interval": "",
282
"intervalFactor": 2,
283
"legendFormat": "",
284
"refId": "A",
285
"step": 600
286
}
287
],
288
"title": "Is cluster safe to scale?",
289
"type": "stat"
290
},
291
{
292
"datasource": "$datasource",
293
"description": "Tells you if there are unscheduled pods",
294
"fieldConfig": {
295
"defaults": {
296
"color": {
297
"mode": "thresholds"
298
},
299
"mappings": [],
300
"thresholds": {
301
"mode": "absolute",
302
"steps": [
303
{
304
"color": "rgba(50, 172, 45, 0.97)",
305
"value": null
306
},
307
{
308
"color": "rgba(237, 129, 40, 0.89)",
309
"value": 1
310
},
311
{
312
"color": "rgba(245, 54, 54, 0.9)"
313
}
314
]
315
},
316
"unit": "none"
317
},
318
"overrides": []
319
},
320
"gridPos": {
321
"h": 4,
322
"w": 4,
323
"x": 12,
324
"y": 0
325
},
326
"id": 12,
327
"links": [],
328
"maxDataPoints": 100,
329
"options": {
330
"colorMode": "background",
331
"graphMode": "none",
332
"justifyMode": "auto",
333
"orientation": "horizontal",
334
"reduceOptions": {
335
"calcs": [
336
"lastNotNull"
337
],
338
"fields": "",
339
"values": false
340
},
341
"textMode": "auto"
342
},
343
"pluginVersion": "8.3.1",
344
"targets": [
345
{
346
"expr": "sum(cluster_autoscaler_unschedulable_pods_count{cluster=~\"$cluster\"})",
347
"format": "time_series",
348
"intervalFactor": 1,
349
"legendFormat": " pods",
350
"refId": "A",
351
"step": 300
352
}
353
],
354
"title": "Number of unscheduled pods",
355
"type": "stat"
356
},
357
{
358
"datasource": "$datasource",
359
"fieldConfig": {
360
"defaults": {
361
"color": {
362
"mode": "thresholds"
363
},
364
"mappings": [
365
{
366
"options": {
367
"match": "null",
368
"result": {
369
"text": "N/A"
370
}
371
},
372
"type": "special"
373
}
374
],
375
"thresholds": {
376
"mode": "absolute",
377
"steps": [
378
{
379
"color": "green",
380
"value": null
381
},
382
{
383
"color": "red",
384
"value": 80
385
}
386
]
387
},
388
"unit": "s"
389
},
390
"overrides": []
391
},
392
"gridPos": {
393
"h": 4,
394
"w": 4,
395
"x": 16,
396
"y": 0
397
},
398
"id": 7,
399
"links": [],
400
"maxDataPoints": 100,
401
"options": {
402
"colorMode": "none",
403
"graphMode": "none",
404
"justifyMode": "auto",
405
"orientation": "horizontal",
406
"reduceOptions": {
407
"calcs": [
408
"lastNotNull"
409
],
410
"fields": "",
411
"values": false
412
},
413
"textMode": "auto"
414
},
415
"pluginVersion": "8.3.1",
416
"targets": [
417
{
418
"expr": "sum(time()-cluster_autoscaler_last_activity{cluster=~\"$cluster\", activity=\"scaleDown\"})",
419
"format": "time_series",
420
"intervalFactor": 2,
421
"legendFormat": "",
422
"refId": "A",
423
"step": 600
424
}
425
],
426
"title": "Last scaleDown activity",
427
"type": "stat"
428
},
429
{
430
"datasource": "$datasource",
431
"fieldConfig": {
432
"defaults": {
433
"color": {
434
"mode": "thresholds"
435
},
436
"mappings": [
437
{
438
"options": {
439
"match": "null",
440
"result": {
441
"text": "N/A"
442
}
443
},
444
"type": "special"
445
}
446
],
447
"thresholds": {
448
"mode": "absolute",
449
"steps": [
450
{
451
"color": "green",
452
"value": null
453
},
454
{
455
"color": "red",
456
"value": 80
457
}
458
]
459
},
460
"unit": "s"
461
},
462
"overrides": []
463
},
464
"gridPos": {
465
"h": 4,
466
"w": 4,
467
"x": 20,
468
"y": 0
469
},
470
"id": 8,
471
"links": [],
472
"maxDataPoints": 100,
473
"options": {
474
"colorMode": "none",
475
"graphMode": "none",
476
"justifyMode": "auto",
477
"orientation": "horizontal",
478
"reduceOptions": {
479
"calcs": [
480
"lastNotNull"
481
],
482
"fields": "",
483
"values": false
484
},
485
"textMode": "auto"
486
},
487
"pluginVersion": "8.3.1",
488
"targets": [
489
{
490
"expr": "sum(time()-cluster_autoscaler_last_activity{cluster=~\"$cluster\", activity=\"autoscaling\"})",
491
"format": "time_series",
492
"intervalFactor": 2,
493
"legendFormat": "",
494
"refId": "A",
495
"step": 600
496
}
497
],
498
"title": "Last autoscale activity",
499
"type": "stat"
500
},
501
{
502
"alerting": {},
503
"aliasColors": {},
504
"bars": false,
505
"dashLength": 10,
506
"dashes": false,
507
"datasource": "$datasource",
508
"description": "Shows the evicted and unscheduled pods",
509
"editable": true,
510
"error": false,
511
"fill": 1,
512
"fillGradient": 0,
513
"grid": {},
514
"gridPos": {
515
"h": 7,
516
"w": 12,
517
"x": 0,
518
"y": 4
519
},
520
"height": "250px",
521
"hiddenSeries": false,
522
"id": 11,
523
"legend": {
524
"avg": false,
525
"current": false,
526
"max": false,
527
"min": false,
528
"show": true,
529
"total": false,
530
"values": false
531
},
532
"lines": true,
533
"linewidth": 2,
534
"links": [],
535
"nullPointMode": "null as zero",
536
"options": {
537
"alertThreshold": true
538
},
539
"percentage": false,
540
"pluginVersion": "8.3.1",
541
"pointradius": 5,
542
"points": false,
543
"renderer": "flot",
544
"seriesOverrides": [],
545
"spaceLength": 10,
546
"stack": false,
547
"steppedLine": false,
548
"targets": [
549
{
550
"expr": "sum(cluster_autoscaler_evicted_pods_total{cluster=~\"$cluster\"})",
551
"format": "time_series",
552
"hide": false,
553
"intervalFactor": 10,
554
"legendFormat": "evicted pods",
555
"metric": "",
556
"refId": "A",
557
"step": 300
558
},
559
{
560
"expr": "sum(cluster_autoscaler_unschedulable_pods_count{cluster=~\"$cluster\"})",
561
"format": "time_series",
562
"intervalFactor": 2,
563
"legendFormat": "unscheduled pods",
564
"refId": "B",
565
"step": 60
566
}
567
],
568
"thresholds": [],
569
"timeRegions": [],
570
"title": "Pod activity",
571
"tooltip": {
572
"msResolution": false,
573
"shared": true,
574
"sort": 0,
575
"value_type": "cumulative"
576
},
577
"type": "graph",
578
"xaxis": {
579
"mode": "time",
580
"show": true,
581
"values": []
582
},
583
"yaxes": [
584
{
585
"format": "none",
586
"label": "Num Nodes",
587
"logBase": 1,
588
"min": 0,
589
"show": true
590
},
591
{
592
"format": "short",
593
"logBase": 1,
594
"show": true
595
}
596
],
597
"yaxis": {
598
"align": false
599
}
600
},
601
{
602
"alerting": {},
603
"aliasColors": {},
604
"bars": false,
605
"dashLength": 10,
606
"dashes": false,
607
"datasource": "$datasource",
608
"description": "Shows the state of the nodes as scaling happens",
609
"editable": true,
610
"error": false,
611
"fill": 1,
612
"fillGradient": 0,
613
"grid": {},
614
"gridPos": {
615
"h": 7,
616
"w": 12,
617
"x": 12,
618
"y": 4
619
},
620
"height": "250px",
621
"hiddenSeries": false,
622
"id": 10,
623
"legend": {
624
"avg": false,
625
"current": false,
626
"max": false,
627
"min": false,
628
"show": true,
629
"total": false,
630
"values": false
631
},
632
"lines": true,
633
"linewidth": 2,
634
"links": [],
635
"nullPointMode": "null as zero",
636
"options": {
637
"alertThreshold": true
638
},
639
"percentage": false,
640
"pluginVersion": "8.3.1",
641
"pointradius": 5,
642
"points": false,
643
"renderer": "flot",
644
"seriesOverrides": [],
645
"spaceLength": 10,
646
"stack": false,
647
"steppedLine": false,
648
"targets": [
649
{
650
"expr": "sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\", state=\"ready\"})",
651
"format": "time_series",
652
"hide": false,
653
"intervalFactor": 10,
654
"legendFormat": "ready",
655
"metric": "",
656
"refId": "A",
657
"step": 300
658
},
659
{
660
"expr": "sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\", state=\"unready\"})",
661
"format": "time_series",
662
"intervalFactor": 2,
663
"legendFormat": "unready",
664
"refId": "B",
665
"step": 60
666
},
667
{
668
"expr": "sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\", state=\"notStarted\"})\n",
669
"format": "time_series",
670
"intervalFactor": 2,
671
"legendFormat": "not started",
672
"refId": "C",
673
"step": 60
674
}
675
],
676
"thresholds": [],
677
"timeRegions": [],
678
"title": "Node activity",
679
"tooltip": {
680
"msResolution": false,
681
"shared": true,
682
"sort": 0,
683
"value_type": "cumulative"
684
},
685
"type": "graph",
686
"xaxis": {
687
"mode": "time",
688
"show": true,
689
"values": []
690
},
691
"yaxes": [
692
{
693
"format": "none",
694
"label": "Num Nodes",
695
"logBase": 1,
696
"min": 0,
697
"show": true
698
},
699
{
700
"format": "short",
701
"logBase": 1,
702
"show": true
703
}
704
],
705
"yaxis": {
706
"align": false
707
}
708
},
709
{
710
"alerting": {},
711
"aliasColors": {},
712
"bars": false,
713
"dashLength": 10,
714
"dashes": false,
715
"datasource": "$datasource",
716
"editable": true,
717
"error": false,
718
"fill": 1,
719
"fillGradient": 0,
720
"grid": {},
721
"gridPos": {
722
"h": 7,
723
"w": 16,
724
"x": 0,
725
"y": 11
726
},
727
"height": "250px",
728
"hiddenSeries": false,
729
"id": 3,
730
"legend": {
731
"avg": false,
732
"current": false,
733
"max": false,
734
"min": false,
735
"show": true,
736
"total": false,
737
"values": false
738
},
739
"lines": true,
740
"linewidth": 2,
741
"links": [],
742
"nullPointMode": "connected",
743
"options": {
744
"alertThreshold": true
745
},
746
"percentage": false,
747
"pluginVersion": "8.3.1",
748
"pointradius": 5,
749
"points": false,
750
"renderer": "flot",
751
"seriesOverrides": [],
752
"spaceLength": 10,
753
"stack": false,
754
"steppedLine": false,
755
"targets": [
756
{
757
"expr": "sum(cluster_autoscaler_scaled_up_nodes_total{cluster=~\"$cluster\"})",
758
"format": "time_series",
759
"hide": false,
760
"intervalFactor": 10,
761
"legendFormat": "scaled up total",
762
"metric": "",
763
"refId": "A",
764
"step": 200
765
},
766
{
767
"expr": "sum(cluster_autoscaler_unneeded_nodes_count{cluster=~\"$cluster\"})",
768
"format": "time_series",
769
"intervalFactor": 2,
770
"legendFormat": "unneeded nodes",
771
"refId": "B",
772
"step": 40
773
},
774
{
775
"expr": "sum(cluster_autoscaler_nodes_count{cluster=~\"$cluster\"})\n",
776
"format": "time_series",
777
"intervalFactor": 2,
778
"legendFormat": "total nodes",
779
"refId": "C",
780
"step": 40
781
}
782
],
783
"thresholds": [],
784
"timeRegions": [],
785
"title": "Autoscaling activity",
786
"tooltip": {
787
"msResolution": false,
788
"shared": true,
789
"sort": 0,
790
"value_type": "cumulative"
791
},
792
"type": "graph",
793
"xaxis": {
794
"mode": "time",
795
"show": true,
796
"values": []
797
},
798
"yaxes": [
799
{
800
"format": "none",
801
"label": "Num nodes",
802
"logBase": 1,
803
"min": 0,
804
"show": true
805
},
806
{
807
"format": "short",
808
"logBase": 1,
809
"show": true
810
}
811
],
812
"yaxis": {
813
"align": false
814
}
815
},
816
{
817
"datasource": "$datasource",
818
"description": "Is the cluster scaling up, down or ticking along okay?",
819
"fieldConfig": {
820
"defaults": {
821
"color": {
822
"mode": "thresholds"
823
},
824
"mappings": [
825
{
826
"options": {
827
"from": -1000,
828
"result": {
829
"text": "Down"
830
},
831
"to": -1
832
},
833
"type": "range"
834
},
835
{
836
"options": {
837
"from": 1,
838
"result": {
839
"text": "Up"
840
},
841
"to": 1000
842
},
843
"type": "range"
844
},
845
{
846
"options": {
847
"from": 0,
848
"result": {
849
"text": "Nowhere"
850
},
851
"to": 0
852
},
853
"type": "range"
854
}
855
],
856
"thresholds": {
857
"mode": "absolute",
858
"steps": [
859
{
860
"color": "green",
861
"value": null
862
},
863
{
864
"color": "red",
865
"value": 80
866
}
867
]
868
},
869
"unit": "none"
870
},
871
"overrides": []
872
},
873
"gridPos": {
874
"h": 4,
875
"w": 8,
876
"x": 16,
877
"y": 11
878
},
879
"id": 13,
880
"links": [],
881
"maxDataPoints": 100,
882
"options": {
883
"colorMode": "none",
884
"graphMode": "none",
885
"justifyMode": "auto",
886
"orientation": "horizontal",
887
"reduceOptions": {
888
"calcs": [
889
"lastNotNull"
890
],
891
"fields": "",
892
"values": false
893
},
894
"textMode": "auto"
895
},
896
"pluginVersion": "8.3.1",
897
"targets": [
898
{
899
"expr": "sum(cluster_autoscaler_scaled_up_nodes_total{cluster=~\"$cluster\"})-sum(cluster_autoscaler_scaled_down_nodes_total{cluster=~\"$cluster\"})",
900
"format": "time_series",
901
"intervalFactor": 2,
902
"legendFormat": "",
903
"refId": "A",
904
"step": 600
905
}
906
],
907
"title": "Cluster direction?",
908
"type": "stat"
909
}
910
],
911
"refresh": "30s",
912
"schemaVersion": 33,
913
"style": "dark",
914
"tags": [],
915
"templating": {
916
"list": [
917
{
918
"current": {
919
"selected": true,
920
"text": "VictoriaMetrics",
921
"value": "VictoriaMetrics"
922
},
923
"hide": 0,
924
"includeAll": false,
925
"multi": false,
926
"name": "datasource",
927
"options": [],
928
"query": "prometheus",
929
"queryValue": "",
930
"refresh": 1,
931
"regex": "",
932
"skipUrlSync": false,
933
"type": "datasource"
934
},
935
{
936
"current": {},
937
"datasource": "$datasource",
938
"definition": "label_values(cluster_autoscaler_nodes_count, cluster)",
939
"hide": 0,
940
"includeAll": false,
941
"multi": false,
942
"name": "cluster",
943
"options": [],
944
"query": {
945
"query": "label_values(cluster_autoscaler_nodes_count, cluster)",
946
"refId": "StandardVariableQuery"
947
},
948
"refresh": 1,
949
"regex": "",
950
"skipUrlSync": false,
951
"sort": 0,
952
"type": "query"
953
}
954
]
955
},
956
"time": {
957
"from": "now-1h",
958
"to": "now"
959
},
960
"timepicker": {
961
"refresh_intervals": [
962
"5s",
963
"10s",
964
"30s",
965
"1m",
966
"5m",
967
"15m",
968
"30m",
969
"1h",
970
"2h",
971
"1d"
972
],
973
"time_options": [
974
"5m",
975
"15m",
976
"1h",
977
"6h",
978
"12h",
979
"24h",
980
"2d",
981
"7d",
982
"30d"
983
]
984
},
985
"timezone": "browser",
986
"title": "Kubernetes Cluster Autoscaler Multicluster",
987
"uid": "multiautoscaler",
988
"version": 1,
989
"weekStart": ""
990
}
991