@@ -6,7 +6,7 @@ local utils = import 'mixin-utils/utils.libsonnet';
6
6
gateway_job_matcher: $.jobMatcher($._config.job_names.gateway),
7
7
gateway_write_routes_regex: 'api_(v1|prom)_push' ,
8
8
gateway_read_routes_regex: '(prometheus|api_prom)_api_v1_.+' ,
9
- all_services_regex: std.join ('|' , ['cortex-gw' , 'distributor' , 'ingester' , 'query-frontend' , 'querier' , 'compactor' , 'store-gateway' , 'ruler' , 'alertmanager' ]),
9
+ all_services_regex: std.join ('|' , ['cortex-gw' , 'distributor' , 'ingester.* ' , 'query-frontend' , 'querier' , 'compactor' , 'store-gateway' , 'ruler' , 'alertmanager' ]),
10
10
},
11
11
12
12
'cortex-rollout-progress.json' :
@@ -22,29 +22,61 @@ local utils = import 'mixin-utils/utils.libsonnet';
22
22
//
23
23
$.panel('Rollout progress' ) +
24
24
$.barGauge([
25
+ // Multi-zone deployments are grouped together removing the "zone-X" suffix.
26
+ // After the grouping, the resulting label is called "cortex_service".
25
27
|||
26
28
(
27
- kube_statefulset_status_replicas_updated{%(namespace_matcher)s,statefulset=~"%(all_services_regex)s"}
29
+ sum by(cortex_service) (
30
+ label_replace(
31
+ kube_statefulset_status_replicas_updated{%(namespace_matcher)s,statefulset=~"%(all_services_regex)s"},
32
+ "cortex_service", "$1", "statefulset", "(.*?)(?:-zone-[a-z])?"
33
+ )
34
+ )
28
35
/
29
- kube_statefulset_replicas{%(namespace_matcher)s}
36
+ sum by(cortex_service) (
37
+ label_replace(
38
+ kube_statefulset_replicas{%(namespace_matcher)s},
39
+ "cortex_service", "$1", "statefulset", "(.*?)(?:-zone-[a-z])?"
40
+ )
41
+ )
30
42
) and (
31
- kube_statefulset_replicas{%(namespace_matcher)s}
43
+ sum by(cortex_service) (
44
+ label_replace(
45
+ kube_statefulset_replicas{%(namespace_matcher)s},
46
+ "cortex_service", "$1", "statefulset", "(.*?)(?:-zone-[a-z])?"
47
+ )
48
+ )
32
49
> 0
33
50
)
34
51
||| % config,
35
52
|||
36
53
(
37
- kube_deployment_status_replicas_updated{%(namespace_matcher)s,deployment=~"%(all_services_regex)s"}
54
+ sum by(cortex_service) (
55
+ label_replace(
56
+ kube_deployment_status_replicas_updated{%(namespace_matcher)s,deployment=~"%(all_services_regex)s"},
57
+ "cortex_service", "$1", "deployment", "(.*?)(?:-zone-[a-z])?"
58
+ )
59
+ )
38
60
/
39
- kube_deployment_spec_replicas{%(namespace_matcher)s}
61
+ sum by(cortex_service) (
62
+ label_replace(
63
+ kube_deployment_spec_replicas{%(namespace_matcher)s},
64
+ "cortex_service", "$1", "deployment", "(.*?)(?:-zone-[a-z])?"
65
+ )
66
+ )
40
67
) and (
41
- kube_deployment_spec_replicas{%(namespace_matcher)s}
68
+ sum by(cortex_service) (
69
+ label_replace(
70
+ kube_deployment_spec_replicas{%(namespace_matcher)s},
71
+ "cortex_service", "$1", "deployment", "(.*?)(?:-zone-[a-z])?"
72
+ )
73
+ )
42
74
> 0
43
75
)
44
76
||| % config,
45
77
], legends=[
46
- '{{statefulset }}' ,
47
- '{{deployment }}' ,
78
+ '{{cortex_service }}' ,
79
+ '{{cortex_service }}' ,
48
80
], thresholds=[
49
81
{ color: 'yellow' , value: null },
50
82
{ color: 'yellow' , value: 0.999 },
0 commit comments