23
23
24
24
aggregation_functions :
25
25
- function : ' avg'
26
- query : ' avg( kube_pod_container_resource_requests{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", container="$CONTAINER_NAME$ ", namespace="$NAMESPACE ", resource="cpu", unit="core"})'
26
+ query : ' avg by(container, namespace) ( kube_pod_container_resource_requests{container!= '' , container!=" ", container!="POD ", pod!=" ", resource="cpu", unit="core" ,namespace="$NAMESPACE$",container="$CONTAINER_NAME$ "})'
27
27
28
28
# Show sum of cpu requests in bytes for a container in a deployment
29
29
- function : ' sum'
30
- query : ' sum( kube_pod_container_resource_requests{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", container="$CONTAINER_NAME$ ", namespace="$NAMESPACE ", resource="cpu", unit="core"})'
30
+ query : ' sum by(container, namespace) ( kube_pod_container_resource_requests{container!= '' , container!=" ", container!="POD ", pod!=" ", resource="cpu", unit="core" ,namespace="$NAMESPACE$",container="$CONTAINER_NAME$ "})'
31
31
32
+ - function : ' min'
33
+ query : ' min by(container, namespace) (kube_pod_container_resource_requests{container!='' , container!="", container!="POD", pod!="", resource="cpu", unit="core" ,namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})'
34
+
35
+ - function : ' max'
36
+ query : ' max by(container, namespace) (kube_pod_container_resource_requests{container!='' , container!="", container!="POD", pod!="", resource="cpu", unit="core" ,namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})'
32
37
33
38
# CPU Limit
34
39
# Show cpu limits in bytes for a container in a deployment
39
44
40
45
aggregation_functions :
41
46
- function : avg
42
- query : ' avg( kube_pod_container_resource_limits{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", container="$CONTAINER_NAME$ ", namespace="$NAMESPACE ", resource="cpu", unit="core"})'
47
+ query : ' avg by(container,namespace) ( kube_pod_container_resource_limits{container!= '' , container!=" ", container!="POD ", pod!=" ", resource="cpu", unit="core",namespace="$NAMESPACE$",container="$CONTAINER_NAME$ "})'
43
48
44
49
# Show sum of cpu limits in bytes for a container in a deployment
45
50
- function : sum
46
- query : ' sum(kube_pod_container_resource_limits{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$", container="$CONTAINER_NAME$", namespace="$NAMESPACE$", resource="cpu", unit="core"})'
51
+ query : ' sum by(container,namespace) (kube_pod_container_resource_limits{container!='' ,container!="", container!="POD", pod!="", resource="cpu", unit="core",namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})'
52
+
53
+ - function : ' max'
54
+ query : ' max by(container,namespace) (kube_pod_container_resource_limits{container!='' , container!="", container!="POD", pod!="", resource="cpu", unit="core",namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})'
55
+
56
+ - function : ' max'
57
+ query : ' min by(container,namespace) (kube_pod_container_resource_limits{container!='' , container!="", container!="POD", pod!="", resource="cpu", unit="core",namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})'
47
58
48
59
49
60
# CPU Usage
65
76
# For openshift versions <=4.8
66
77
aggregation_functions :
67
78
- function : avg
68
- query : ' avg( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container=” $CONTAINER_NAME$”}[15m ]))'
79
+ query : ' avg by(container, namespace)( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{container!= '' , container!="POD ", pod!="", namespace="$NAMESPACE$",container=" $CONTAINER_NAME$" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
69
80
versions : " <=4.8"
70
81
71
82
# For openshift versions >=4.9
72
83
- function : avg
73
- query : ' avg( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container=” $CONTAINER_NAME$”}[15m ]))'
84
+ query : ' avg by(container, namespace)( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{container!= '' , container!="POD ", pod!="", namespace="$NAMESPACE$",container=" $CONTAINER_NAME$" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
74
85
versions : " >4.9"
75
86
76
87
# Approx minimum CPU per container in a deployment
77
88
# For openshift versions <=4.8
78
89
- function : min
79
- query : ' min( min_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container="$CONTAINER_NAME$"}[15m ]))'
90
+ query : ' min by(container, namespace)( min_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\ "$CONTAINER_NAME$\" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
80
91
versions : " <=4.8"
81
92
82
93
# For openshift versions >=4.9
83
94
- function : min
84
- query : ' min( min_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container="$CONTAINER_NAME$"}[15m ]))'
95
+ query : ' min by(container, namespace)( min_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\ "$CONTAINER_NAME$\ "}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
85
96
versions : " >4.9"
86
97
87
98
# Approx maximum CPU per container in a deployment
88
99
# For openshift versions <=4.8
89
100
- function : max
90
- query : ' max( max_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container="$CONTAINER_NAME$"}[15m ]))'
101
+ query : ' max by(container, namespace)( max_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\ "$CONTAINER_NAME$\" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
91
102
versions : " <=4.8"
92
103
93
104
# For openshift versions >=4.9
94
105
- function : max
95
- query : ' max( max_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container="$CONTAINER_NAME$"}[15m ]))'
106
+ query : ' max by(container, namespace)( max_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\ "$CONTAINER_NAME$\" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
96
107
versions : " >4.9"
97
108
98
109
# Sum of CPU usage for a container in all pods of a deployment
99
110
# For openshift versions <=4.8
100
111
- function : sum
101
- query : ' sum( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container="$CONTAINER_NAME$"}[15m ]))'
112
+ query : ' sum by(container, namespace)( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\ "$CONTAINER_NAME$\" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
102
113
versions : " <=4.8"
103
114
104
115
# For openshift versions >=4.9
105
116
- function : sum
106
- query : ' sum( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container="$CONTAINER_NAME$"}[15m ]))'
117
+ query : ' sum by(container, namespace)( avg_over_time(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\ "$CONTAINER_NAME$\" }[$MEASUREMENT_DURATION_IN_MIN$m ]))'
107
118
versions : " >4.9"
108
119
109
120
@@ -116,15 +127,19 @@ slo:
116
127
aggregation_functions :
117
128
# Average CPU throttling per container in a deployment
118
129
- function : avg
119
- query : ' avg( rate(container_cpu_cfs_throttled_seconds_total{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container=” $CONTAINER_NAME$”}[15m ]))'
130
+ query : ' avg by(container,namespace) ( rate(container_cpu_cfs_throttled_seconds_total{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\" $CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
120
131
121
132
# Maximum CPU throttling per container in a deployment
122
133
- function : max
123
- query : ' max(rate(container_cpu_cfs_throttled_seconds_total{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$", namespace="$NAMESPACE$", container=”$CONTAINER_NAME$”}[15m]))'
134
+ query : ' max by(container,namespace) (rate(container_cpu_cfs_throttled_seconds_total{container!='' , container!="POD", pod!="",namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m])))'
135
+
136
+ # Min of CPU throttling for a container in all pods of a deployment
137
+ - function : min
138
+ query : ' min by(container,namespace) (rate(container_cpu_cfs_throttled_seconds_total{container!='' , container!="POD", pod!="",namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m])'
124
139
125
140
# Sum of CPU throttling for a container in all pods of a deployment
126
141
- function : sum
127
- query : ' sum( rate(container_cpu_cfs_throttled_seconds_total{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace="$NAMESPACE$", container=” $CONTAINER_NAME$”}[15m ]))'
142
+ query : ' sum by(container,namespace) ( rate(container_cpu_cfs_throttled_seconds_total{container!= '' , container!="POD ", pod!="", namespace=\ "$NAMESPACE$\", container=\" $CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
128
143
129
144
130
145
@@ -139,11 +154,17 @@ slo:
139
154
140
155
aggregation_functions :
141
156
- function : avg
142
- query : ' avg( kube_pod_container_resource_requests{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$" , container=”$CONTAINER_NAME$”, namespace=”$NAMESPACE” , resource="memory", unit="byte"})'
157
+ query : ' avg by(container, namespace) ( kube_pod_container_resource_requests{container!= '' , container!="POD", pod!="" , resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\ "})'
143
158
144
159
# Show sum of memory requests in bytes for a container in a deployment
145
160
- function : sum
146
- query : ' sum(kube_pod_container_resource_requests{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$", container=”$CONTAINER_NAME$”, namespace=”$NAMESPACE”, resource="memory", unit="byte"})'
161
+ query : ' sum by(container, namespace) (kube_pod_container_resource_requests{container!='' , container!="POD", pod!="", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"})'
162
+
163
+ - function : max
164
+ query : ' max by(container, namespace) (kube_pod_container_resource_requests{container!='' , container!="POD", pod!="", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"})'
165
+
166
+ - function : min
167
+ query : ' min by(container, namespace) (kube_pod_container_resource_requests{container!='' , container!="POD", pod!="", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"})'
147
168
148
169
149
170
# Memory Limit
@@ -155,12 +176,17 @@ slo:
155
176
156
177
aggregation_functions :
157
178
- function : avg
158
- query : ' avg( kube_pod_container_resource_limits{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$" , container="$CONTAINER_NAME$ ", namespace="$NAMESPACE ", resource="memory", unit="byte"})'
179
+ query : ' avg by(container,namespace) ( kube_pod_container_resource_limits{container!= '' , container!="POD ", pod!=" ", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\ "})'
159
180
160
181
# Show sum of memory limits in bytes for a container in a deployment
161
182
- function : sum
162
- query : ' sum(kube_pod_container_resource_limits{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$", container=”$CONTAINER_NAME$”, namespace=”$NAMESPACE”, resource="memory", unit="byte"})'
183
+ query : ' sum by(container,namespace) (kube_pod_container_resource_limits{container!='' , container!="POD", pod!="", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"})'
184
+
185
+ - function : max
186
+ query : ' max by(container,namespace) (kube_pod_container_resource_limits{container!='' , container!="POD", pod!="", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"})'
163
187
188
+ - function : min
189
+ query : ' min by(container,namespace) (kube_pod_container_resource_limits{container!='' , container!="POD", pod!="", resource="memory", unit="byte" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"})'
164
190
165
191
# Memory Usage
166
192
# Average memory per container in a deployment
@@ -171,19 +197,19 @@ slo:
171
197
172
198
aggregation_functions :
173
199
- function : avg
174
- query : ' avg( avg_over_time(container_memory_working_set_bytes{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container=” $CONTAINER_NAME$”}[15m ]))'
200
+ query : ' avg by(container, namespace) ( avg_over_time(container_memory_working_set_bytes{container!= '' , container!="POD", pod!=" ", namespace=\" $NAMESPACE$\", container=\" $CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
175
201
176
202
# Approx minimum memory per container in a deployment
177
203
- function : min
178
- query : ' min( min_over_time(container_memory_working_set_bytes{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container="$CONTAINER_NAME$"}[15m]) )'
204
+ query : ' min by(container, namespace) ( min_over_time(container_memory_working_set_bytes{container!= '' , container!="POD", pod!=" ", namespace=\" $NAMESPACE$\", container=\ "$CONTAINER_NAME$\" }[$MEASUREMENT_DURATION_IN_MIN$m] )'
179
205
180
206
# Approx maximum memory per container in a deployment
181
207
- function : max
182
- query : ' max( max_over_time(container_memory_working_set_bytes{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container="$CONTAINER_NAME$"}[15m ]))'
208
+ query : ' max by(container, namespace) ( max_over_time(container_memory_working_set_bytes{container!= '' , container!="POD", pod!=" ", namespace=\" $NAMESPACE$\", container=\ "$CONTAINER_NAME$\ "}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
183
209
184
210
# Sum of memory usage for a contianer in all pods of a deployment
185
211
- function : sum
186
- query : ' sum( avg_over_time(container_memory_working_set_bytes{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container="$CONTAINER_NAME$"}[15m ]))'
212
+ query : ' sum by(container, namespace) ( avg_over_time(container_memory_working_set_bytes{container!= '' , container!="POD", pod!=" ", namespace=\" $NAMESPACE$\", container=\ "$CONTAINER_NAME$\ "}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
187
213
188
214
189
215
# 2.4 Memory RSS
@@ -195,17 +221,28 @@ slo:
195
221
aggregation_functions :
196
222
# Average memory RSS per container in a deployment
197
223
- function : avg
198
- query : ' avg( avg_over_time(container_memory_rss{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container=” $CONTAINER_NAME$”}[15m ]))'
224
+ query : ' avg by(container, namespace) ( avg_over_time(container_memory_rss{container!= '' , container!="POD ", pod!="" , namespace=\" $NAMESPACE$\", container=\" $CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
199
225
200
226
# Approx minimum memory RSS per container in a deployment
201
227
- function : min
202
- query : ' min( min_over_time(container_memory_rss{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container="$CONTAINER_NAME$"}[15m]) )'
228
+ query : ' min by(container, namespace) ( min_over_time(container_memory_rss{container!= '' , container!="POD ", pod!="" , namespace=\" $NAMESPACE$\", container=\ "$CONTAINER_NAME$\ "}[$MEASUREMENT_DURATION_IN_MIN$m] )'
203
229
204
230
205
231
# Approx maximum memory RSS per container in a deployment
206
232
- function : max
207
- query : ' max( max_over_time(container_memory_rss{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$ ", namespace=$NAMESPACE$, container="$CONTAINER_NAME$"}[15m ]))'
233
+ query : ' max by(container, namespace) ( max_over_time(container_memory_rss{container!= '' , container!="POD ", pod!="" , namespace=\" $NAMESPACE$\", container=\ "$CONTAINER_NAME$\ "}[$MEASUREMENT_DURATION_IN_MIN$m ]))'
208
234
209
235
# Sum of memory RSS for a contianer in all pods of a deployment
210
236
- function : sum
211
- query : ' sum(avg_over_time(container_memory_rss{pod=~"$DEPLOYMENT_NAME$-[^-]*-[^-]*$", namespace=$NAMESPACE$, container=”$CONTAINER_NAME$”}[15m]))'
237
+ query : ' sum by(container, namespace) (avg_over_time(container_memory_rss{container!='' , container!="POD", pod!="" ,namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"}[$MEASUREMENT_DURATION_IN_MIN$m]))'
238
+
239
+
240
+ # Container Last Active Timestamp
241
+ - name : maxDate
242
+ datasource : prometheus
243
+ value_type : " double"
244
+ kubernetes_object : " container"
245
+
246
+ aggregation_functions :
247
+ - function : max
248
+ query : ' max by(namespace,container) (last_over_time((timestamp(container_cpu_usage_seconds_total{namespace=\"$NAMESPACE$\",container=\"$CONTAINER_NAME$\"} > 0))[15d:]))'
0 commit comments