@leverege/build-tools 2.99.1 → 2.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1241 @@
1
+ {
2
+ "annotations": {
3
+ "list": [
4
+ {
5
+ "builtIn": 1,
6
+ "datasource": { "type": "datasource", "uid": "grafana" },
7
+ "enable": true,
8
+ "hide": true,
9
+ "iconColor": "rgba(0, 211, 255, 1)",
10
+ "limit": 100,
11
+ "name": "Annotations & Alerts",
12
+ "showIn": 0,
13
+ "type": "dashboard"
14
+ }
15
+ ]
16
+ },
17
+ "description": "Cross-service NOC roll-up — Ingress & API layer + Data stores. Rows 1 and 2 of 4.",
18
+ "editable": true,
19
+ "fiscalYearStartMonth": 0,
20
+ "graphTooltip": 1,
21
+ "links": [],
22
+ "panels": [
23
+ {
24
+ "collapsed": false,
25
+ "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 },
26
+ "id": 1,
27
+ "title": "Ingress & API layer",
28
+ "type": "row"
29
+ },
30
+ {
31
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
32
+ "fieldConfig": {
33
+ "defaults": {
34
+ "color": { "mode": "thresholds" },
35
+ "decimals": 1,
36
+ "mappings": [],
37
+ "noValue": "--",
38
+ "thresholds": {
39
+ "mode": "absolute",
40
+ "steps": [
41
+ { "color": "green", "value": null }
42
+ ]
43
+ },
44
+ "unit": "reqps"
45
+ },
46
+ "overrides": []
47
+ },
48
+ "gridPos": { "h": 4, "w": 4, "x": 0, "y": 1 },
49
+ "id": 10,
50
+ "options": {
51
+ "colorMode": "value",
52
+ "graphMode": "area",
53
+ "justifyMode": "auto",
54
+ "orientation": "auto",
55
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
56
+ "textMode": "auto",
57
+ "wideLayout": true
58
+ },
59
+ "pluginVersion": "12.4.1",
60
+ "targets": [
61
+ {
62
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
63
+ "expr": "sum(rate(traefik_service_requests_total{namespace=~\"${namespace}\"}[5m]))",
64
+ "instant": false,
65
+ "legendFormat": "req/s",
66
+ "refId": "A"
67
+ }
68
+ ],
69
+ "title": "Traefik — Request Rate",
70
+ "type": "stat"
71
+ },
72
+ {
73
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
74
+ "fieldConfig": {
75
+ "defaults": {
76
+ "color": { "mode": "thresholds" },
77
+ "decimals": 2,
78
+ "mappings": [],
79
+ "noValue": "--",
80
+ "thresholds": {
81
+ "mode": "absolute",
82
+ "steps": [
83
+ { "color": "green", "value": null },
84
+ { "color": "semi-dark-orange", "value": 1 },
85
+ { "color": "semi-dark-red", "value": 5 }
86
+ ]
87
+ },
88
+ "unit": "percent"
89
+ },
90
+ "overrides": []
91
+ },
92
+ "gridPos": { "h": 4, "w": 4, "x": 4, "y": 1 },
93
+ "id": 11,
94
+ "options": {
95
+ "colorMode": "background",
96
+ "graphMode": "area",
97
+ "justifyMode": "auto",
98
+ "orientation": "auto",
99
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
100
+ "textMode": "auto",
101
+ "wideLayout": true
102
+ },
103
+ "pluginVersion": "12.4.1",
104
+ "targets": [
105
+ {
106
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
107
+ "expr": "100 * sum(rate(traefik_service_requests_total{namespace=~\"${namespace}\", code=~\"5..\"}[5m]))\n/ sum(rate(traefik_service_requests_total{namespace=~\"${namespace}\"}[5m]))",
108
+ "instant": false,
109
+ "legendFormat": "5xx %",
110
+ "refId": "A"
111
+ }
112
+ ],
113
+ "title": "Traefik — 5xx Error Rate",
114
+ "type": "stat"
115
+ },
116
+ {
117
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
118
+ "fieldConfig": {
119
+ "defaults": {
120
+ "color": { "mode": "thresholds" },
121
+ "decimals": 0,
122
+ "mappings": [],
123
+ "noValue": "--",
124
+ "thresholds": {
125
+ "mode": "absolute",
126
+ "steps": [
127
+ { "color": "green", "value": null },
128
+ { "color": "semi-dark-orange", "value": 500 },
129
+ { "color": "semi-dark-red", "value": 2000 }
130
+ ]
131
+ },
132
+ "unit": "ms"
133
+ },
134
+ "overrides": []
135
+ },
136
+ "gridPos": { "h": 4, "w": 4, "x": 8, "y": 1 },
137
+ "id": 12,
138
+ "options": {
139
+ "colorMode": "background",
140
+ "graphMode": "area",
141
+ "justifyMode": "auto",
142
+ "orientation": "auto",
143
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
144
+ "textMode": "auto",
145
+ "wideLayout": true
146
+ },
147
+ "pluginVersion": "12.4.1",
148
+ "targets": [
149
+ {
150
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
151
+ "expr": "1000 * histogram_quantile(0.99,\n sum by (le) (\n rate(traefik_service_request_duration_seconds_bucket{namespace=~\"${namespace}\"}[5m])\n )\n)",
152
+ "instant": false,
153
+ "legendFormat": "P99",
154
+ "refId": "A"
155
+ }
156
+ ],
157
+ "title": "Traefik — P99 Latency",
158
+ "type": "stat"
159
+ },
160
+ {
161
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
162
+ "fieldConfig": {
163
+ "defaults": {
164
+ "color": { "mode": "thresholds" },
165
+ "decimals": 0,
166
+ "mappings": [],
167
+ "noValue": "--",
168
+ "thresholds": {
169
+ "mode": "absolute",
170
+ "steps": [
171
+ { "color": "semi-dark-red", "value": null },
172
+ { "color": "semi-dark-orange", "value": 80 },
173
+ { "color": "green", "value": 100 }
174
+ ]
175
+ },
176
+ "unit": "percent"
177
+ },
178
+ "overrides": []
179
+ },
180
+ "gridPos": { "h": 4, "w": 4, "x": 12, "y": 1 },
181
+ "id": 13,
182
+ "options": {
183
+ "colorMode": "background",
184
+ "graphMode": "none",
185
+ "justifyMode": "auto",
186
+ "orientation": "auto",
187
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
188
+ "textMode": "auto",
189
+ "wideLayout": true
190
+ },
191
+ "pluginVersion": "12.4.1",
192
+ "targets": [
193
+ {
194
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
195
+ "expr": "100 * sum(kube_pod_status_ready{namespace=~\"${namespace}\", condition=\"true\"})\n/ sum(kube_pod_status_ready{namespace=~\"${namespace}\"})",
196
+ "instant": true,
197
+ "legendFormat": "ready %",
198
+ "refId": "A"
199
+ }
200
+ ],
201
+ "title": "Services — Pod Ready %",
202
+ "type": "stat"
203
+ },
204
+ {
205
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
206
+ "fieldConfig": {
207
+ "defaults": {
208
+ "color": { "mode": "thresholds" },
209
+ "decimals": 0,
210
+ "mappings": [],
211
+ "noValue": "--",
212
+ "thresholds": {
213
+ "mode": "absolute",
214
+ "steps": [
215
+ { "color": "green", "value": null },
216
+ { "color": "semi-dark-orange", "value": 1 },
217
+ { "color": "semi-dark-red", "value": 5 }
218
+ ]
219
+ },
220
+ "unit": "short"
221
+ },
222
+ "overrides": []
223
+ },
224
+ "gridPos": { "h": 4, "w": 4, "x": 16, "y": 1 },
225
+ "id": 14,
226
+ "options": {
227
+ "colorMode": "background",
228
+ "graphMode": "area",
229
+ "justifyMode": "auto",
230
+ "orientation": "auto",
231
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
232
+ "textMode": "auto",
233
+ "wideLayout": true
234
+ },
235
+ "pluginVersion": "12.4.1",
236
+ "targets": [
237
+ {
238
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
239
+ "expr": "sum(increase(kube_pod_container_status_restarts_total{namespace=~\"${namespace}\"}[1h]))",
240
+ "instant": false,
241
+ "legendFormat": "restarts",
242
+ "refId": "A"
243
+ }
244
+ ],
245
+ "title": "Services — Restarts (1h)",
246
+ "type": "stat"
247
+ },
248
+ {
249
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
250
+ "fieldConfig": {
251
+ "defaults": {
252
+ "color": { "mode": "thresholds" },
253
+ "decimals": 0,
254
+ "mappings": [],
255
+ "noValue": "--",
256
+ "thresholds": {
257
+ "mode": "absolute",
258
+ "steps": [
259
+ { "color": "semi-dark-red", "value": null },
260
+ { "color": "green", "value": 1 }
261
+ ]
262
+ },
263
+ "unit": "short"
264
+ },
265
+ "overrides": []
266
+ },
267
+ "gridPos": { "h": 4, "w": 4, "x": 20, "y": 1 },
268
+ "id": 15,
269
+ "options": {
270
+ "colorMode": "background",
271
+ "graphMode": "none",
272
+ "justifyMode": "auto",
273
+ "orientation": "auto",
274
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
275
+ "textMode": "auto",
276
+ "wideLayout": true
277
+ },
278
+ "pluginVersion": "12.4.1",
279
+ "targets": [
280
+ {
281
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
282
+ "expr": "sum(kube_node_status_condition{condition=\"Ready\", status=\"true\"})",
283
+ "instant": true,
284
+ "legendFormat": "nodes ready",
285
+ "refId": "A"
286
+ }
287
+ ],
288
+ "title": "GKE — Nodes Ready",
289
+ "type": "stat"
290
+ },
291
+ {
292
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
293
+ "fieldConfig": {
294
+ "defaults": {
295
+ "color": { "mode": "thresholds" },
296
+ "decimals": 2,
297
+ "mappings": [],
298
+ "noValue": "--",
299
+ "thresholds": {
300
+ "mode": "absolute",
301
+ "steps": [
302
+ { "color": "green", "value": null },
303
+ { "color": "semi-dark-orange", "value": 5 },
304
+ { "color": "semi-dark-red", "value": 20 }
305
+ ]
306
+ },
307
+ "unit": "percent"
308
+ },
309
+ "overrides": []
310
+ },
311
+ "gridPos": { "h": 4, "w": 4, "x": 0, "y": 5 },
312
+ "id": 16,
313
+ "options": {
314
+ "colorMode": "background",
315
+ "graphMode": "area",
316
+ "justifyMode": "auto",
317
+ "orientation": "auto",
318
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
319
+ "textMode": "auto",
320
+ "wideLayout": true
321
+ },
322
+ "pluginVersion": "12.4.1",
323
+ "targets": [
324
+ {
325
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
326
+ "expr": "100 * sum(rate(traefik_service_requests_total{namespace=~\"${namespace}\", code=~\"4..\"}[5m]))\n/ sum(rate(traefik_service_requests_total{namespace=~\"${namespace}\"}[5m]))",
327
+ "instant": false,
328
+ "legendFormat": "4xx %",
329
+ "refId": "A"
330
+ }
331
+ ],
332
+ "title": "Traefik — 4xx Rate",
333
+ "type": "stat"
334
+ },
335
+ {
336
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
337
+ "fieldConfig": {
338
+ "defaults": {
339
+ "color": { "mode": "thresholds" },
340
+ "decimals": 1,
341
+ "mappings": [],
342
+ "noValue": "--",
343
+ "thresholds": {
344
+ "mode": "absolute",
345
+ "steps": [
346
+ { "color": "green", "value": null },
347
+ { "color": "semi-dark-orange", "value": 70 },
348
+ { "color": "semi-dark-red", "value": 85 }
349
+ ]
350
+ },
351
+ "unit": "percent"
352
+ },
353
+ "overrides": []
354
+ },
355
+ "gridPos": { "h": 4, "w": 4, "x": 4, "y": 5 },
356
+ "id": 17,
357
+ "options": {
358
+ "colorMode": "background",
359
+ "graphMode": "area",
360
+ "justifyMode": "auto",
361
+ "orientation": "auto",
362
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
363
+ "textMode": "auto",
364
+ "wideLayout": true
365
+ },
366
+ "pluginVersion": "12.4.1",
367
+ "targets": [
368
+ {
369
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
370
+ "expr": "100 * sum(kube_pod_container_resource_requests{resource=\"cpu\", namespace=~\"${namespace}\"})\n/ sum(kube_node_status_allocatable{resource=\"cpu\"})",
371
+ "instant": false,
372
+ "legendFormat": "CPU requested %",
373
+ "refId": "A"
374
+ }
375
+ ],
376
+ "title": "GKE — CPU Request Utilisation",
377
+ "type": "stat"
378
+ },
379
+ {
380
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
381
+ "fieldConfig": {
382
+ "defaults": {
383
+ "color": { "mode": "thresholds" },
384
+ "decimals": 1,
385
+ "mappings": [],
386
+ "noValue": "--",
387
+ "thresholds": {
388
+ "mode": "absolute",
389
+ "steps": [
390
+ { "color": "green", "value": null },
391
+ { "color": "semi-dark-orange", "value": 70 },
392
+ { "color": "semi-dark-red", "value": 85 }
393
+ ]
394
+ },
395
+ "unit": "percent"
396
+ },
397
+ "overrides": []
398
+ },
399
+ "gridPos": { "h": 4, "w": 4, "x": 8, "y": 5 },
400
+ "id": 18,
401
+ "options": {
402
+ "colorMode": "background",
403
+ "graphMode": "area",
404
+ "justifyMode": "auto",
405
+ "orientation": "auto",
406
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
407
+ "textMode": "auto",
408
+ "wideLayout": true
409
+ },
410
+ "pluginVersion": "12.4.1",
411
+ "targets": [
412
+ {
413
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
414
+ "expr": "100 * sum(kube_pod_container_resource_requests{resource=\"memory\", namespace=~\"${namespace}\"})\n/ sum(kube_node_status_allocatable{resource=\"memory\"})",
415
+ "instant": false,
416
+ "legendFormat": "Mem requested %",
417
+ "refId": "A"
418
+ }
419
+ ],
420
+ "title": "GKE — Memory Request Utilisation",
421
+ "type": "stat"
422
+ },
423
+ {
424
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
425
+ "fieldConfig": {
426
+ "defaults": {
427
+ "color": { "mode": "thresholds" },
428
+ "decimals": 0,
429
+ "mappings": [],
430
+ "noValue": "--",
431
+ "thresholds": {
432
+ "mode": "absolute",
433
+ "steps": [
434
+ { "color": "green", "value": null },
435
+ { "color": "semi-dark-red", "value": 1 }
436
+ ]
437
+ },
438
+ "unit": "short"
439
+ },
440
+ "overrides": []
441
+ },
442
+ "gridPos": { "h": 4, "w": 4, "x": 12, "y": 5 },
443
+ "id": 19,
444
+ "options": {
445
+ "colorMode": "background",
446
+ "graphMode": "area",
447
+ "justifyMode": "auto",
448
+ "orientation": "auto",
449
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
450
+ "textMode": "auto",
451
+ "wideLayout": true
452
+ },
453
+ "pluginVersion": "12.4.1",
454
+ "targets": [
455
+ {
456
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
457
+ "expr": "sum(increase(kube_pod_container_status_last_terminated_reason{namespace=~\"${namespace}\", reason=\"OOMKilled\"}[1h]))",
458
+ "instant": false,
459
+ "legendFormat": "OOMKills",
460
+ "refId": "A"
461
+ }
462
+ ],
463
+ "title": "Services — OOMKills (1h)",
464
+ "type": "stat"
465
+ },
466
+ {
467
+ "collapsed": false,
468
+ "gridPos": { "h": 1, "w": 24, "x": 0, "y": 9 },
469
+ "id": 2,
470
+ "title": "Data stores",
471
+ "type": "row"
472
+ },
473
+ {
474
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
475
+ "fieldConfig": {
476
+ "defaults": {
477
+ "color": { "mode": "thresholds" },
478
+ "mappings": [
479
+ {
480
+ "options": {
481
+ "1": { "color": "green", "index": 0, "text": "Green" },
482
+ "2": { "color": "semi-dark-orange", "index": 1, "text": "Yellow" },
483
+ "3": { "color": "semi-dark-red", "index": 2, "text": "Red" }
484
+ },
485
+ "type": "value"
486
+ }
487
+ ],
488
+ "noValue": "--",
489
+ "thresholds": {
490
+ "mode": "absolute",
491
+ "steps": [
492
+ { "color": "green", "value": null },
493
+ { "color": "semi-dark-orange", "value": 2 },
494
+ { "color": "semi-dark-red", "value": 3 }
495
+ ]
496
+ },
497
+ "unit": "short"
498
+ },
499
+ "overrides": []
500
+ },
501
+ "gridPos": { "h": 4, "w": 3, "x": 0, "y": 10 },
502
+ "id": 20,
503
+ "options": {
504
+ "colorMode": "background",
505
+ "graphMode": "none",
506
+ "justifyMode": "auto",
507
+ "orientation": "auto",
508
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
509
+ "textMode": "auto",
510
+ "wideLayout": true
511
+ },
512
+ "pluginVersion": "12.4.1",
513
+ "targets": [
514
+ {
515
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
516
+ "expr": "max(\n elasticsearch_cluster_health_status{color=\"green\"} * 1\n or elasticsearch_cluster_health_status{color=\"yellow\"} * 2\n or elasticsearch_cluster_health_status{color=\"red\"} * 3\n)",
517
+ "instant": true,
518
+ "legendFormat": "",
519
+ "refId": "A"
520
+ }
521
+ ],
522
+ "title": "ES — Cluster Status",
523
+ "type": "stat"
524
+ },
525
+ {
526
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
527
+ "fieldConfig": {
528
+ "defaults": {
529
+ "color": { "mode": "thresholds" },
530
+ "decimals": 0,
531
+ "mappings": [],
532
+ "noValue": "--",
533
+ "thresholds": {
534
+ "mode": "absolute",
535
+ "steps": [
536
+ { "color": "green", "value": null },
537
+ { "color": "semi-dark-orange", "value": 1 },
538
+ { "color": "semi-dark-red", "value": 5 }
539
+ ]
540
+ },
541
+ "unit": "short"
542
+ },
543
+ "overrides": []
544
+ },
545
+ "gridPos": { "h": 4, "w": 3, "x": 3, "y": 10 },
546
+ "id": 21,
547
+ "options": {
548
+ "colorMode": "background",
549
+ "graphMode": "area",
550
+ "justifyMode": "auto",
551
+ "orientation": "auto",
552
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
553
+ "textMode": "auto",
554
+ "wideLayout": true
555
+ },
556
+ "pluginVersion": "12.4.1",
557
+ "targets": [
558
+ {
559
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
560
+ "expr": "sum(elasticsearch_cluster_health_unassigned_shards)",
561
+ "instant": false,
562
+ "legendFormat": "unassigned",
563
+ "refId": "A"
564
+ }
565
+ ],
566
+ "title": "ES — Unassigned Shards",
567
+ "type": "stat"
568
+ },
569
+ {
570
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
571
+ "fieldConfig": {
572
+ "defaults": {
573
+ "color": { "mode": "thresholds" },
574
+ "decimals": 0,
575
+ "mappings": [],
576
+ "noValue": "--",
577
+ "thresholds": {
578
+ "mode": "absolute",
579
+ "steps": [
580
+ { "color": "green", "value": null },
581
+ { "color": "semi-dark-orange", "value": 100 },
582
+ { "color": "semi-dark-red", "value": 500 }
583
+ ]
584
+ },
585
+ "unit": "ms"
586
+ },
587
+ "overrides": []
588
+ },
589
+ "gridPos": { "h": 4, "w": 3, "x": 6, "y": 10 },
590
+ "id": 22,
591
+ "options": {
592
+ "colorMode": "background",
593
+ "graphMode": "area",
594
+ "justifyMode": "auto",
595
+ "orientation": "auto",
596
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
597
+ "textMode": "auto",
598
+ "wideLayout": true
599
+ },
600
+ "pluginVersion": "12.4.1",
601
+ "targets": [
602
+ {
603
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
604
+ "expr": "sum(rate(elasticsearch_indices_search_query_time_seconds[5m]))\n/ sum(rate(elasticsearch_indices_search_query_total[5m])) * 1000",
605
+ "instant": false,
606
+ "legendFormat": "avg query ms",
607
+ "refId": "A"
608
+ }
609
+ ],
610
+ "title": "ES — Avg Search Latency",
611
+ "type": "stat"
612
+ },
613
+ {
614
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
615
+ "fieldConfig": {
616
+ "defaults": {
617
+ "color": { "mode": "thresholds" },
618
+ "decimals": 1,
619
+ "mappings": [],
620
+ "noValue": "--",
621
+ "thresholds": {
622
+ "mode": "absolute",
623
+ "steps": [
624
+ { "color": "green", "value": null },
625
+ { "color": "semi-dark-orange", "value": 75 },
626
+ { "color": "semi-dark-red", "value": 90 }
627
+ ]
628
+ },
629
+ "unit": "percent"
630
+ },
631
+ "overrides": []
632
+ },
633
+ "gridPos": { "h": 4, "w": 3, "x": 9, "y": 10 },
634
+ "id": 23,
635
+ "options": {
636
+ "colorMode": "background",
637
+ "graphMode": "area",
638
+ "justifyMode": "auto",
639
+ "orientation": "auto",
640
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
641
+ "textMode": "auto",
642
+ "wideLayout": true
643
+ },
644
+ "pluginVersion": "12.4.1",
645
+ "targets": [
646
+ {
647
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
648
+ "expr": "100 * max by (name) (\n elasticsearch_jvm_memory_used_bytes{area=\"heap\"}\n / elasticsearch_jvm_memory_max_bytes{area=\"heap\"}\n)",
649
+ "instant": false,
650
+ "legendFormat": "JVM heap %",
651
+ "refId": "A"
652
+ }
653
+ ],
654
+ "title": "ES — JVM Heap Used",
655
+ "type": "stat"
656
+ },
657
+ {
658
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
659
+ "fieldConfig": {
660
+ "defaults": {
661
+ "color": { "mode": "thresholds" },
662
+ "decimals": 0,
663
+ "mappings": [],
664
+ "noValue": "--",
665
+ "thresholds": {
666
+ "mode": "absolute",
667
+ "steps": [
668
+ { "color": "green", "value": null },
669
+ { "color": "semi-dark-orange", "value": 500 },
670
+ { "color": "semi-dark-red", "value": 900 }
671
+ ]
672
+ },
673
+ "unit": "short"
674
+ },
675
+ "overrides": []
676
+ },
677
+ "gridPos": { "h": 4, "w": 3, "x": 12, "y": 10 },
678
+ "id": 30,
679
+ "options": {
680
+ "colorMode": "value",
681
+ "graphMode": "area",
682
+ "justifyMode": "auto",
683
+ "orientation": "auto",
684
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
685
+ "textMode": "auto",
686
+ "wideLayout": true
687
+ },
688
+ "pluginVersion": "12.4.1",
689
+ "targets": [
690
+ {
691
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
692
+ "expr": "sum(redis_connected_clients)",
693
+ "instant": false,
694
+ "legendFormat": "clients",
695
+ "refId": "A"
696
+ }
697
+ ],
698
+ "title": "Valkey — Connected Clients",
699
+ "type": "stat"
700
+ },
701
+ {
702
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
703
+ "fieldConfig": {
704
+ "defaults": {
705
+ "color": { "mode": "thresholds" },
706
+ "decimals": 1,
707
+ "mappings": [],
708
+ "noValue": "--",
709
+ "thresholds": {
710
+ "mode": "absolute",
711
+ "steps": [
712
+ { "color": "green", "value": null },
713
+ { "color": "semi-dark-orange", "value": 70 },
714
+ { "color": "semi-dark-red", "value": 85 }
715
+ ]
716
+ },
717
+ "unit": "percent"
718
+ },
719
+ "overrides": []
720
+ },
721
+ "gridPos": { "h": 4, "w": 3, "x": 15, "y": 10 },
722
+ "id": 31,
723
+ "options": {
724
+ "colorMode": "background",
725
+ "graphMode": "area",
726
+ "justifyMode": "auto",
727
+ "orientation": "auto",
728
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
729
+ "textMode": "auto",
730
+ "wideLayout": true
731
+ },
732
+ "pluginVersion": "12.4.1",
733
+ "targets": [
734
+ {
735
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
736
+ "expr": "100 * max(redis_memory_used_bytes / redis_memory_max_bytes)",
737
+ "instant": false,
738
+ "legendFormat": "mem %",
739
+ "refId": "A"
740
+ }
741
+ ],
742
+ "title": "Valkey — Memory Used",
743
+ "type": "stat"
744
+ },
745
+ {
746
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
747
+ "fieldConfig": {
748
+ "defaults": {
749
+ "color": { "mode": "thresholds" },
750
+ "decimals": 1,
751
+ "mappings": [],
752
+ "noValue": "--",
753
+ "thresholds": {
754
+ "mode": "absolute",
755
+ "steps": [
756
+ { "color": "green", "value": null },
757
+ { "color": "semi-dark-orange", "value": 1 },
758
+ { "color": "semi-dark-red", "value": 10 }
759
+ ]
760
+ },
761
+ "unit": "short"
762
+ },
763
+ "overrides": []
764
+ },
765
+ "gridPos": { "h": 4, "w": 3, "x": 18, "y": 10 },
766
+ "id": 32,
767
+ "options": {
768
+ "colorMode": "background",
769
+ "graphMode": "area",
770
+ "justifyMode": "auto",
771
+ "orientation": "auto",
772
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
773
+ "textMode": "auto",
774
+ "wideLayout": true
775
+ },
776
+ "pluginVersion": "12.4.1",
777
+ "targets": [
778
+ {
779
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
780
+ "expr": "sum(rate(redis_evicted_keys_total[5m]))",
781
+ "instant": false,
782
+ "legendFormat": "evictions/s",
783
+ "refId": "A"
784
+ }
785
+ ],
786
+ "title": "Valkey — Evictions/sec",
787
+ "type": "stat"
788
+ },
789
+ {
790
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
791
+ "fieldConfig": {
792
+ "defaults": {
793
+ "color": { "mode": "thresholds" },
794
+ "decimals": 1,
795
+ "mappings": [],
796
+ "noValue": "--",
797
+ "thresholds": {
798
+ "mode": "absolute",
799
+ "steps": [
800
+ { "color": "semi-dark-red", "value": null },
801
+ { "color": "semi-dark-orange", "value": 80 },
802
+ { "color": "green", "value": 95 }
803
+ ]
804
+ },
805
+ "unit": "percent"
806
+ },
807
+ "overrides": []
808
+ },
809
+ "gridPos": { "h": 4, "w": 3, "x": 21, "y": 10 },
810
+ "id": 33,
811
+ "options": {
812
+ "colorMode": "background",
813
+ "graphMode": "area",
814
+ "justifyMode": "auto",
815
+ "orientation": "auto",
816
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
817
+ "textMode": "auto",
818
+ "wideLayout": true
819
+ },
820
+ "pluginVersion": "12.4.1",
821
+ "targets": [
822
+ {
823
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
824
+ "expr": "100 * sum(rate(redis_keyspace_hits_total[5m]))\n/ (sum(rate(redis_keyspace_hits_total[5m])) + sum(rate(redis_keyspace_misses_total[5m])))",
825
+ "instant": false,
826
+ "legendFormat": "hit ratio %",
827
+ "refId": "A"
828
+ }
829
+ ],
830
+ "title": "Valkey — Cache Hit Ratio",
831
+ "type": "stat"
832
+ },
833
+ {
834
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
835
+ "fieldConfig": {
836
+ "defaults": {
837
+ "color": { "mode": "thresholds" },
838
+ "decimals": 0,
839
+ "mappings": [],
840
+ "noValue": "--",
841
+ "thresholds": {
842
+ "mode": "absolute",
843
+ "steps": [
844
+ { "color": "green", "value": null },
845
+ { "color": "semi-dark-orange", "value": 80 },
846
+ { "color": "semi-dark-red", "value": 95 }
847
+ ]
848
+ },
849
+ "unit": "percent"
850
+ },
851
+ "overrides": []
852
+ },
853
+ "gridPos": { "h": 4, "w": 3, "x": 0, "y": 14 },
854
+ "id": 40,
855
+ "options": {
856
+ "colorMode": "background",
857
+ "graphMode": "area",
858
+ "justifyMode": "auto",
859
+ "orientation": "auto",
860
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
861
+ "textMode": "auto",
862
+ "wideLayout": true
863
+ },
864
+ "pluginVersion": "12.4.1",
865
+ "targets": [
866
+ {
867
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
868
+ "expr": "100 * sum(pg_stat_activity_count{datname!~\"template.*|postgres\"})\n/ sum(pg_settings_max_connections)",
869
+ "instant": false,
870
+ "legendFormat": "conn %",
871
+ "refId": "A"
872
+ }
873
+ ],
874
+ "title": "PG Legacy — Connections %",
875
+ "type": "stat"
876
+ },
877
+ {
878
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
879
+ "fieldConfig": {
880
+ "defaults": {
881
+ "color": { "mode": "thresholds" },
882
+ "decimals": 1,
883
+ "mappings": [],
884
+ "noValue": "--",
885
+ "thresholds": {
886
+ "mode": "absolute",
887
+ "steps": [
888
+ { "color": "green", "value": null },
889
+ { "color": "semi-dark-orange", "value": 30 },
890
+ { "color": "semi-dark-red", "value": 120 }
891
+ ]
892
+ },
893
+ "unit": "s"
894
+ },
895
+ "overrides": []
896
+ },
897
+ "gridPos": { "h": 4, "w": 3, "x": 3, "y": 14 },
898
+ "id": 41,
899
+ "options": {
900
+ "colorMode": "background",
901
+ "graphMode": "area",
902
+ "justifyMode": "auto",
903
+ "orientation": "auto",
904
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
905
+ "textMode": "auto",
906
+ "wideLayout": true
907
+ },
908
+ "pluginVersion": "12.4.1",
909
+ "targets": [
910
+ {
911
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
912
+ "expr": "max(pg_replication_lag)",
913
+ "instant": false,
914
+ "legendFormat": "repl lag",
915
+ "refId": "A"
916
+ }
917
+ ],
918
+ "title": "PG Legacy — Replication Lag",
919
+ "type": "stat"
920
+ },
921
+ {
922
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
923
+ "fieldConfig": {
924
+ "defaults": {
925
+ "color": { "mode": "thresholds" },
926
+ "decimals": 0,
927
+ "mappings": [],
928
+ "noValue": "--",
929
+ "thresholds": {
930
+ "mode": "absolute",
931
+ "steps": [
932
+ { "color": "green", "value": null }
933
+ ]
934
+ },
935
+ "unit": "short"
936
+ },
937
+ "overrides": []
938
+ },
939
+ "gridPos": { "h": 4, "w": 3, "x": 6, "y": 14 },
940
+ "id": 42,
941
+ "options": {
942
+ "colorMode": "value",
943
+ "graphMode": "area",
944
+ "justifyMode": "auto",
945
+ "orientation": "auto",
946
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
947
+ "textMode": "auto",
948
+ "wideLayout": true
949
+ },
950
+ "pluginVersion": "12.4.1",
951
+ "targets": [
952
+ {
953
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
954
+ "expr": "sum(rate(pg_stat_database_xact_commit{datname!~\"template.*|postgres\"}[5m]))\n+ sum(rate(pg_stat_database_xact_rollback{datname!~\"template.*|postgres\"}[5m]))",
955
+ "instant": false,
956
+ "legendFormat": "tps",
957
+ "refId": "A"
958
+ }
959
+ ],
960
+ "title": "PG Legacy — Transaction Rate",
961
+ "type": "stat"
962
+ },
963
+ {
964
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
965
+ "fieldConfig": {
966
+ "defaults": {
967
+ "color": { "mode": "thresholds" },
968
+ "decimals": 0,
969
+ "mappings": [],
970
+ "noValue": "--",
971
+ "thresholds": {
972
+ "mode": "absolute",
973
+ "steps": [
974
+ { "color": "green", "value": null },
975
+ { "color": "semi-dark-red", "value": 1 }
976
+ ]
977
+ },
978
+ "unit": "short"
979
+ },
980
+ "overrides": []
981
+ },
982
+ "gridPos": { "h": 4, "w": 3, "x": 9, "y": 14 },
983
+ "id": 43,
984
+ "options": {
985
+ "colorMode": "background",
986
+ "graphMode": "area",
987
+ "justifyMode": "auto",
988
+ "orientation": "auto",
989
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
990
+ "textMode": "auto",
991
+ "wideLayout": true
992
+ },
993
+ "pluginVersion": "12.4.1",
994
+ "targets": [
995
+ {
996
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
997
+ "expr": "sum(rate(pg_stat_database_deadlocks{datname!~\"template.*|postgres\"}[5m])) * 60",
998
+ "instant": false,
999
+ "legendFormat": "deadlocks/min",
1000
+ "refId": "A"
1001
+ }
1002
+ ],
1003
+ "title": "PG Legacy — Deadlocks/min",
1004
+ "type": "stat"
1005
+ },
1006
+ {
1007
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1008
+ "fieldConfig": {
1009
+ "defaults": {
1010
+ "color": { "mode": "thresholds" },
1011
+ "decimals": 0,
1012
+ "mappings": [
1013
+ {
1014
+ "options": {
1015
+ "1": { "color": "green", "index": 0, "text": "Healthy" },
1016
+ "0": { "color": "semi-dark-red", "index": 1, "text": "Degraded" }
1017
+ },
1018
+ "type": "value"
1019
+ }
1020
+ ],
1021
+ "noValue": "--",
1022
+ "thresholds": {
1023
+ "mode": "absolute",
1024
+ "steps": [
1025
+ { "color": "semi-dark-red", "value": null },
1026
+ { "color": "green", "value": 1 }
1027
+ ]
1028
+ },
1029
+ "unit": "short"
1030
+ },
1031
+ "overrides": []
1032
+ },
1033
+ "gridPos": { "h": 4, "w": 3, "x": 12, "y": 14 },
1034
+ "id": 50,
1035
+ "options": {
1036
+ "colorMode": "background",
1037
+ "graphMode": "none",
1038
+ "justifyMode": "auto",
1039
+ "orientation": "auto",
1040
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
1041
+ "textMode": "auto",
1042
+ "wideLayout": true
1043
+ },
1044
+ "pluginVersion": "12.4.1",
1045
+ "targets": [
1046
+ {
1047
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1048
+ "expr": "min(cnpg_collector_pg_wal_archive_status{namespace=~\"${namespace}\"} == bool 0) or vector(1)",
1049
+ "instant": true,
1050
+ "legendFormat": "",
1051
+ "refId": "A"
1052
+ }
1053
+ ],
1054
+ "title": "CNPG — Cluster Healthy",
1055
+ "type": "stat"
1056
+ },
1057
+ {
1058
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1059
+ "fieldConfig": {
1060
+ "defaults": {
1061
+ "color": { "mode": "thresholds" },
1062
+ "decimals": 0,
1063
+ "mappings": [],
1064
+ "noValue": "--",
1065
+ "thresholds": {
1066
+ "mode": "absolute",
1067
+ "steps": [
1068
+ { "color": "green", "value": null }
1069
+ ]
1070
+ },
1071
+ "unit": "short"
1072
+ },
1073
+ "overrides": []
1074
+ },
1075
+ "gridPos": { "h": 4, "w": 3, "x": 15, "y": 14 },
1076
+ "id": 51,
1077
+ "options": {
1078
+ "colorMode": "value",
1079
+ "graphMode": "none",
1080
+ "justifyMode": "auto",
1081
+ "orientation": "auto",
1082
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
1083
+ "textMode": "auto",
1084
+ "wideLayout": true
1085
+ },
1086
+ "pluginVersion": "12.4.1",
1087
+ "targets": [
1088
+ {
1089
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1090
+ "expr": "sum(cnpg_collector_sync_replicas{namespace=~\"${namespace}\"})",
1091
+ "instant": true,
1092
+ "legendFormat": "sync replicas",
1093
+ "refId": "A"
1094
+ }
1095
+ ],
1096
+ "title": "CNPG — Sync Replicas",
1097
+ "type": "stat"
1098
+ },
1099
+ {
1100
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1101
+ "fieldConfig": {
1102
+ "defaults": {
1103
+ "color": { "mode": "thresholds" },
1104
+ "decimals": 0,
1105
+ "mappings": [],
1106
+ "noValue": "--",
1107
+ "thresholds": {
1108
+ "mode": "absolute",
1109
+ "steps": [
1110
+ { "color": "green", "value": null },
1111
+ { "color": "semi-dark-red", "value": 1 }
1112
+ ]
1113
+ },
1114
+ "unit": "short"
1115
+ },
1116
+ "overrides": []
1117
+ },
1118
+ "gridPos": { "h": 4, "w": 3, "x": 18, "y": 14 },
1119
+ "id": 52,
1120
+ "options": {
1121
+ "colorMode": "background",
1122
+ "graphMode": "area",
1123
+ "justifyMode": "auto",
1124
+ "orientation": "auto",
1125
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
1126
+ "textMode": "auto",
1127
+ "wideLayout": true
1128
+ },
1129
+ "pluginVersion": "12.4.1",
1130
+ "targets": [
1131
+ {
1132
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1133
+ "expr": "sum(increase(cnpg_collector_pg_wal_archive_status{namespace=~\"${namespace}\", status=\"failed\"}[1h]))",
1134
+ "instant": false,
1135
+ "legendFormat": "WAL failures",
1136
+ "refId": "A"
1137
+ }
1138
+ ],
1139
+ "title": "CNPG — WAL Archive Failures (1h)",
1140
+ "type": "stat"
1141
+ },
1142
+ {
1143
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1144
+ "fieldConfig": {
1145
+ "defaults": {
1146
+ "color": { "mode": "thresholds" },
1147
+ "decimals": 1,
1148
+ "mappings": [],
1149
+ "noValue": "--",
1150
+ "thresholds": {
1151
+ "mode": "absolute",
1152
+ "steps": [
1153
+ { "color": "green", "value": null },
1154
+ { "color": "semi-dark-orange", "value": 86400 },
1155
+ { "color": "semi-dark-red", "value": 172800 }
1156
+ ]
1157
+ },
1158
+ "unit": "dtdurations"
1159
+ },
1160
+ "overrides": []
1161
+ },
1162
+ "gridPos": { "h": 4, "w": 3, "x": 21, "y": 14 },
1163
+ "id": 53,
1164
+ "options": {
1165
+ "colorMode": "background",
1166
+ "graphMode": "none",
1167
+ "justifyMode": "auto",
1168
+ "orientation": "auto",
1169
+ "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false },
1170
+ "textMode": "auto",
1171
+ "wideLayout": true
1172
+ },
1173
+ "pluginVersion": "12.4.1",
1174
+ "targets": [
1175
+ {
1176
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1177
+ "expr": "time() - max(cnpg_collector_last_available_backup_timestamp{namespace=~\"${namespace}\"})",
1178
+ "instant": true,
1179
+ "legendFormat": "backup age",
1180
+ "refId": "A"
1181
+ }
1182
+ ],
1183
+ "title": "CNPG — Last Backup Age",
1184
+ "type": "stat"
1185
+ }
1186
+ ],
1187
+ "preload": false,
1188
+ "refresh": "30s",
1189
+ "schemaVersion": 42,
1190
+ "tags": ["noc", "kubernetes", "gke", "prometheus"],
1191
+ "templating": {
1192
+ "list": [
1193
+ {
1194
+ "current": {},
1195
+ "includeAll": false,
1196
+ "label": "Datasource",
1197
+ "name": "datasource",
1198
+ "options": [],
1199
+ "query": "prometheus",
1200
+ "refresh": 1,
1201
+ "type": "datasource"
1202
+ },
1203
+ {
1204
+ "allValue": ".*",
1205
+ "current": { "text": ["All"], "value": ["$__all"] },
1206
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1207
+ "definition": "label_values(kube_pod_info, namespace)",
1208
+ "includeAll": true,
1209
+ "label": "Namespace",
1210
+ "multi": true,
1211
+ "name": "namespace",
1212
+ "options": [],
1213
+ "query": "label_values(kube_pod_info, namespace)",
1214
+ "refresh": 2,
1215
+ "sort": 1,
1216
+ "type": "query"
1217
+ },
1218
+ {
1219
+ "current": { "text": ["All"], "value": ["$__all"] },
1220
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
1221
+ "definition": "label_values(kube_node_info, node)",
1222
+ "includeAll": true,
1223
+ "label": "Node",
1224
+ "multi": true,
1225
+ "name": "node",
1226
+ "options": [],
1227
+ "query": "label_values(kube_node_info, node)",
1228
+ "refresh": 2,
1229
+ "sort": 1,
1230
+ "type": "query"
1231
+ }
1232
+ ]
1233
+ },
1234
+ "time": { "from": "now-3h", "to": "now" },
1235
+ "timepicker": {},
1236
+ "timezone": "browser",
1237
+ "title": "NOC — Infrastructure Overview",
1238
+ "uid": "noc-infra-v1",
1239
+ "version": 1,
1240
+ "weekStart": ""
1241
+ }