Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/operations/observability/mixins/platform/dashboards/preview-environments/overview.json
2501 views
1
{
2
"__inputs": [],
3
"__elements": [],
4
"__requires": [
5
{
6
"type": "panel",
7
"id": "gauge",
8
"name": "Gauge",
9
"version": ""
10
},
11
{
12
"type": "grafana",
13
"id": "grafana",
14
"name": "Grafana",
15
"version": "9.0.2"
16
},
17
{
18
"type": "datasource",
19
"id": "prometheus",
20
"name": "Prometheus",
21
"version": "1.0.0"
22
},
23
{
24
"type": "panel",
25
"id": "text",
26
"name": "Text",
27
"version": ""
28
},
29
{
30
"type": "panel",
31
"id": "timeseries",
32
"name": "Time series",
33
"version": ""
34
}
35
],
36
"annotations": {
37
"list": [
38
{
39
"builtIn": 1,
40
"datasource": {
41
"type": "datasource",
42
"uid": "grafana"
43
},
44
"enable": true,
45
"hide": true,
46
"iconColor": "rgba(0, 211, 255, 1)",
47
"name": "Annotations & Alerts",
48
"target": {
49
"limit": 100,
50
"matchAny": false,
51
"tags": [],
52
"type": "dashboard"
53
},
54
"type": "dashboard"
55
}
56
]
57
},
58
"description": "",
59
"editable": true,
60
"fiscalYearStartMonth": 0,
61
"graphTooltip": 0,
62
"id": null,
63
"iteration": 1658152238378,
64
"links": [],
65
"liveNow": false,
66
"panels": [
67
{
68
"datasource": {
69
"type": "prometheus",
70
"uid": "$datasource"
71
},
72
"fieldConfig": {
73
"defaults": {
74
"color": {
75
"mode": "thresholds"
76
},
77
"mappings": [],
78
"max": 80,
79
"min": 0,
80
"noValue": "None",
81
"thresholds": {
82
"mode": "absolute",
83
"steps": [
84
{
85
"color": "green",
86
"value": null
87
},
88
{
89
"color": "yellow",
90
"value": 56
91
},
92
{
93
"color": "red",
94
"value": 64
95
}
96
]
97
}
98
},
99
"overrides": []
100
},
101
"gridPos": {
102
"h": 7,
103
"w": 5,
104
"x": 9,
105
"y": 0
106
},
107
"id": 67,
108
"options": {
109
"orientation": "auto",
110
"reduceOptions": {
111
"calcs": [
112
"lastNotNull"
113
],
114
"fields": "",
115
"values": false
116
},
117
"showThresholdLabels": true,
118
"showThresholdMarkers": true,
119
"text": {}
120
},
121
"pluginVersion": "9.0.2",
122
"targets": [
123
{
124
"datasource": {
125
"type": "prometheus",
126
"uid": "$datasource"
127
},
128
"editorMode": "code",
129
"exemplar": false,
130
"expr": "count(kubevirt_vmi_memory_used_total_bytes{cluster=~\"$cluster\"})",
131
"instant": true,
132
"range": false,
133
"refId": "A"
134
}
135
],
136
"title": "Running Previews",
137
"transparent": true,
138
"type": "gauge"
139
},
140
{
141
"collapsed": false,
142
"gridPos": {
143
"h": 1,
144
"w": 24,
145
"x": 0,
146
"y": 7
147
},
148
"id": 70,
149
"panels": [],
150
"title": "Previews per node",
151
"type": "row"
152
},
153
{
154
"datasource": {
155
"type": "prometheus",
156
"uid": "$datasource"
157
},
158
"fieldConfig": {
159
"defaults": {
160
"color": {
161
"mode": "thresholds"
162
},
163
"mappings": [],
164
"max": 10,
165
"min": 0,
166
"noValue": "None",
167
"thresholds": {
168
"mode": "absolute",
169
"steps": [
170
{
171
"color": "light-green",
172
"value": null
173
},
174
{
175
"color": "yellow",
176
"value": 7
177
},
178
{
179
"color": "red",
180
"value": 8
181
}
182
]
183
}
184
},
185
"overrides": []
186
},
187
"gridPos": {
188
"h": 4,
189
"w": 6,
190
"x": 0,
191
"y": 8
192
},
193
"id": 68,
194
"options": {
195
"orientation": "auto",
196
"reduceOptions": {
197
"calcs": [
198
"lastNotNull"
199
],
200
"fields": "",
201
"values": false
202
},
203
"showThresholdLabels": true,
204
"showThresholdMarkers": true
205
},
206
"pluginVersion": "9.0.2",
207
"repeat": "node",
208
"repeatDirection": "h",
209
"targets": [
210
{
211
"datasource": {
212
"type": "prometheus",
213
"uid": "$datasource"
214
},
215
"expr": "count(kubevirt_vmi_memory_used_total_bytes{cluster=~\"$cluster\", kubernetes_vmi_label_kubevirt_io_nodeName=\"$node\"})",
216
"refId": "A"
217
}
218
],
219
"title": "$node: Running Previews",
220
"transparent": true,
221
"type": "gauge"
222
},
223
{
224
"collapsed": false,
225
"gridPos": {
226
"h": 1,
227
"w": 24,
228
"x": 0,
229
"y": 16
230
},
231
"id": 95,
232
"panels": [],
233
"title": "Service Level Indicators",
234
"type": "row"
235
},
236
{
237
"datasource": {
238
"type": "datasource",
239
"uid": "grafana"
240
},
241
"description": "",
242
"gridPos": {
243
"h": 9,
244
"w": 2,
245
"x": 0,
246
"y": 17
247
},
248
"id": 86,
249
"options": {
250
"content": "We have an SLO for preview starts in Honeycomb. You can see the SLO [here](https://ui.honeycomb.io/gitpod/datasets/werft/slo/zRm48xoKMXf/Preview-Start). Alternatively you can use [this query](https://ui.honeycomb.io/gitpod/datasets/werft/result/a64cNk4sArf) to dig into succesful and failed SLI events. The definition of the SLO can be found [here](https://www.notion.so/gitpod/Preview-Environment-Service-Level-Indicators-SLIs-55b649ad17774f279c142af55ad2fec7#f483f73aa4974ad3b8b6825fa2f251fa).",
251
"mode": "markdown"
252
},
253
"pluginVersion": "9.0.2",
254
"title": "Preview Start SLO",
255
"type": "text"
256
},
257
{
258
"datasource": {
259
"type": "prometheus",
260
"uid": "$datasource"
261
},
262
"fieldConfig": {
263
"defaults": {
264
"color": {
265
"mode": "palette-classic"
266
},
267
"custom": {
268
"axisLabel": "",
269
"axisPlacement": "auto",
270
"barAlignment": 0,
271
"drawStyle": "line",
272
"fillOpacity": 0,
273
"gradientMode": "none",
274
"hideFrom": {
275
"legend": false,
276
"tooltip": false,
277
"viz": false
278
},
279
"lineInterpolation": "linear",
280
"lineWidth": 1,
281
"pointSize": 5,
282
"scaleDistribution": {
283
"type": "linear"
284
},
285
"showPoints": "auto",
286
"spanNulls": false,
287
"stacking": {
288
"group": "A",
289
"mode": "none"
290
},
291
"thresholdsStyle": {
292
"mode": "off"
293
}
294
},
295
"mappings": [],
296
"max": 1,
297
"min": 0,
298
"thresholds": {
299
"mode": "absolute",
300
"steps": [
301
{
302
"color": "green",
303
"value": null
304
},
305
{
306
"color": "red",
307
"value": 80
308
}
309
]
310
},
311
"unit": "percentunit"
312
},
313
"overrides": []
314
},
315
"gridPos": {
316
"h": 9,
317
"w": 11,
318
"x": 2,
319
"y": 17
320
},
321
"id": 104,
322
"options": {
323
"legend": {
324
"calcs": [],
325
"displayMode": "list",
326
"placement": "bottom"
327
},
328
"tooltip": {
329
"mode": "multi",
330
"sort": "none"
331
}
332
},
333
"targets": [
334
{
335
"datasource": {
336
"type": "prometheus",
337
"uid": "$datasource"
338
},
339
"editorMode": "code",
340
"expr": "1 - (\r\n sum(rate(http_prober_probes_failed_total{environment=\"preview-environments\"}[5m]))\r\n /\r\n sum(rate(http_prober_probe_duration_seconds_count{environment=\"preview-environments\"}[5m]))\r\n)",
341
"hide": false,
342
"legendFormat": "Probe success ratio",
343
"range": true,
344
"refId": "B"
345
}
346
],
347
"title": "Preview environments should be able to communicate to the internet",
348
"type": "timeseries"
349
},
350
{
351
"datasource": {
352
"type": "prometheus",
353
"uid": "$datasource"
354
},
355
"fieldConfig": {
356
"defaults": {
357
"color": {
358
"mode": "palette-classic"
359
},
360
"custom": {
361
"axisLabel": "",
362
"axisPlacement": "auto",
363
"barAlignment": 0,
364
"drawStyle": "line",
365
"fillOpacity": 0,
366
"gradientMode": "none",
367
"hideFrom": {
368
"legend": false,
369
"tooltip": false,
370
"viz": false
371
},
372
"lineInterpolation": "linear",
373
"lineWidth": 1,
374
"pointSize": 5,
375
"scaleDistribution": {
376
"type": "linear"
377
},
378
"showPoints": "auto",
379
"spanNulls": false,
380
"stacking": {
381
"group": "A",
382
"mode": "none"
383
},
384
"thresholdsStyle": {
385
"mode": "off"
386
}
387
},
388
"mappings": [],
389
"max": 1,
390
"min": 0,
391
"thresholds": {
392
"mode": "absolute",
393
"steps": [
394
{
395
"color": "green",
396
"value": null
397
},
398
{
399
"color": "red",
400
"value": 80
401
}
402
]
403
},
404
"unit": "percentunit"
405
},
406
"overrides": []
407
},
408
"gridPos": {
409
"h": 9,
410
"w": 11,
411
"x": 13,
412
"y": 17
413
},
414
"id": 112,
415
"options": {
416
"legend": {
417
"calcs": [],
418
"displayMode": "list",
419
"placement": "bottom"
420
},
421
"tooltip": {
422
"mode": "multi",
423
"sort": "none"
424
}
425
},
426
"targets": [
427
{
428
"datasource": {
429
"type": "prometheus",
430
"uid": "$datasource"
431
},
432
"editorMode": "code",
433
"expr": "sum(rate(rest_client_requests_total{code=~\"2..|4..\", host=~\"127.0.0.1.*\", environment=\"preview-environments\"}[5m]))\r\n/ \r\nsum(rate(rest_client_requests_total{host=~\"127.0.0.1.*\", environment=\"preview-environments\"}[5m]))",
434
"legendFormat": "K3s requests success rate",
435
"range": true,
436
"refId": "A"
437
}
438
],
439
"title": "K3s running in preview environments should respond successfully to Read/Write requests",
440
"type": "timeseries"
441
}
442
],
443
"refresh": "30s",
444
"schemaVersion": 36,
445
"style": "dark",
446
"tags": [],
447
"templating": {
448
"list": [
449
{
450
"current": {
451
"selected": false,
452
"text": "VictoriaMetrics",
453
"value": "VictoriaMetrics"
454
},
455
"hide": 0,
456
"includeAll": false,
457
"multi": false,
458
"name": "datasource",
459
"options": [],
460
"query": "prometheus",
461
"queryValue": "",
462
"refresh": 1,
463
"regex": "",
464
"skipUrlSync": false,
465
"type": "datasource"
466
},
467
{
468
"current": {},
469
"datasource": {
470
"uid": "$datasource"
471
},
472
"definition": "label_values(kubevirt_info, cluster)",
473
"hide": 0,
474
"includeAll": true,
475
"label": "cluster",
476
"multi": true,
477
"name": "cluster",
478
"options": [],
479
"query": {
480
"query": "label_values(kubevirt_info, cluster)",
481
"refId": "StandardVariableQuery"
482
},
483
"refresh": 2,
484
"regex": "",
485
"skipUrlSync": false,
486
"sort": 0,
487
"tagValuesQuery": "",
488
"tagsQuery": "",
489
"type": "query",
490
"useTags": false
491
},
492
{
493
"current": {},
494
"datasource": {
495
"uid": "$datasource"
496
},
497
"definition": "label_values(kubevirt_vmi_memory_used_total_bytes{cluster=~\"$cluster\"}, kubernetes_vmi_label_kubevirt_io_nodeName)",
498
"hide": 0,
499
"includeAll": true,
500
"label": "node",
501
"multi": false,
502
"name": "node",
503
"options": [],
504
"query": {
505
"query": "label_values(kubevirt_vmi_memory_used_total_bytes{cluster=~\"$cluster\"}, kubernetes_vmi_label_kubevirt_io_nodeName)",
506
"refId": "StandardVariableQuery"
507
},
508
"refresh": 2,
509
"regex": "",
510
"skipUrlSync": false,
511
"sort": 1,
512
"tagValuesQuery": "",
513
"tagsQuery": "",
514
"type": "query",
515
"useTags": false
516
}
517
]
518
},
519
"time": {
520
"from": "now-1h",
521
"to": "now"
522
},
523
"timepicker": {
524
"refresh_intervals": [
525
"5s",
526
"10s",
527
"30s",
528
"1m",
529
"5m",
530
"15m",
531
"30m",
532
"1h",
533
"2h",
534
"1d"
535
],
536
"time_options": [
537
"5m",
538
"15m",
539
"1h",
540
"6h",
541
"12h",
542
"24h",
543
"2d",
544
"7d",
545
"30d"
546
]
547
},
548
"timezone": "UTC",
549
"title": "Preview Environments",
550
"uid": "preview-environments",
551
"version": 1,
552
"weekStart": ""
553
}
554
555