-
Notifications
You must be signed in to change notification settings - Fork 2.4k
/
documentation.md
461 lines (306 loc) · 14.4 KB
/
documentation.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
[comment]: <> (Code generated by mdatagen. DO NOT EDIT.)
# k8s_cluster
## Default Metrics
The following metrics are emitted by default. Each of them can be disabled by applying the following configuration:
```yaml
metrics:
<metric_name>:
enabled: false
```
### k8s.container.cpu_limit
Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {cpu} | Gauge | Double |
### k8s.container.cpu_request
Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {cpu} | Gauge | Double |
### k8s.container.ephemeralstorage_limit
Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.container.ephemeralstorage_request
Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.container.memory_limit
Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.container.memory_request
Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.container.ready
Whether a container has passed its readiness probe (0 for no, 1 for yes)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| | Gauge | Int |
### k8s.container.restarts
How many times the container has restarted in the recent past. This value is pulled directly from the K8s API and the value can go indefinitely high and be reset to 0 at any time depending on how your kubelet is configured to prune dead containers. It is best to not depend too much on the exact value but rather look at it as either == 0, in which case you can conclude there were no restarts in the recent past, or > 0, in which case you can conclude there were restarts in the recent past, and not try and analyze the value beyond that.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {restart} | Gauge | Int |
### k8s.container.storage_limit
Maximum resource limit set for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.container.storage_request
Resource requested for the container. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core for details
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| By | Gauge | Int |
### k8s.cronjob.active_jobs
The number of actively running jobs for a cronjob
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {job} | Gauge | Int |
### k8s.daemonset.current_scheduled_nodes
Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {node} | Gauge | Int |
### k8s.daemonset.desired_scheduled_nodes
Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {node} | Gauge | Int |
### k8s.daemonset.misscheduled_nodes
Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {node} | Gauge | Int |
### k8s.daemonset.ready_nodes
Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {node} | Gauge | Int |
### k8s.deployment.available
Total number of available pods (ready for at least minReadySeconds) targeted by this deployment
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.deployment.desired
Number of desired pods in this deployment
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.hpa.current_replicas
Current number of pod replicas managed by this autoscaler.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.hpa.desired_replicas
Desired number of pod replicas managed by this autoscaler.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.hpa.max_replicas
Maximum number of replicas to which the autoscaler can scale up.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.hpa.min_replicas
Minimum number of replicas to which the autoscaler can scale up.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.job.active_pods
The number of actively running pods for a job
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.job.desired_successful_pods
The desired number of successfully finished pods the job should be run with
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.job.failed_pods
The number of pods which reached phase Failed for a job
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.job.max_parallel_pods
The max desired number of pods the job should run at any given time
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.job.successful_pods
The number of pods which reached phase Succeeded for a job
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.namespace.phase
The current phase of namespaces (1 for active and 0 for terminating)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| | Gauge | Int |
### k8s.pod.phase
Current phase of the pod (1 - Pending, 2 - Running, 3 - Succeeded, 4 - Failed, 5 - Unknown)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| | Gauge | Int |
### k8s.replicaset.available
Total number of available pods (ready for at least minReadySeconds) targeted by this replicaset
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.replicaset.desired
Number of desired pods in this replicaset
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.replication_controller.available
Total number of available pods (ready for at least minReadySeconds) targeted by this replication_controller
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.replication_controller.desired
Number of desired pods in this replication_controller
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.resource_quota.hard_limit
The upper limit for a particular resource in a specific namespace. Will only be sent if a quota is specified. CPU requests/limits will be sent as millicores
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {resource} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| resource | the name of the resource on which the quota is applied | Any Str |
### k8s.resource_quota.used
The usage for a particular resource in a specific namespace. Will only be sent if a quota is specified. CPU requests/limits will be sent as millicores
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {resource} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| resource | the name of the resource on which the quota is applied | Any Str |
### k8s.statefulset.current_pods
The number of pods created by the StatefulSet controller from the StatefulSet version
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.statefulset.desired_pods
Number of desired pods in the stateful set (the `spec.replicas` field)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.statefulset.ready_pods
Number of pods created by the stateful set that have the `Ready` condition
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### k8s.statefulset.updated_pods
Number of pods created by the StatefulSet controller from the StatefulSet version
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {pod} | Gauge | Int |
### openshift.appliedclusterquota.limit
The upper limit for a particular resource in a specific namespace.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {resource} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| k8s.namespace.name | The k8s namespace name. | Any Str |
| resource | the name of the resource on which the quota is applied | Any Str |
### openshift.appliedclusterquota.used
The usage for a particular resource in a specific namespace.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {resource} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| k8s.namespace.name | The k8s namespace name. | Any Str |
| resource | the name of the resource on which the quota is applied | Any Str |
### openshift.clusterquota.limit
The configured upper limit for a particular resource.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {resource} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| resource | the name of the resource on which the quota is applied | Any Str |
### openshift.clusterquota.used
The usage for a particular resource with a configured limit.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {resource} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| resource | the name of the resource on which the quota is applied | Any Str |
## Optional Metrics
The following metrics are not emitted by default. Each of them can be enabled by applying the following configuration:
```yaml
metrics:
<metric_name>:
enabled: true
```
### k8s.node.condition
The condition of a particular Node.
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| {condition} | Gauge | Int |
#### Attributes
| Name | Description | Values |
| ---- | ----------- | ------ |
| condition | the name of Kubernetes Node condition. Example: Ready, Memory, PID, DiskPressure | Any Str |
### k8s.pod.status_reason
Current status reason of the pod (1 - Evicted, 2 - NodeAffinity, 3 - NodeLost, 4 - Shutdown, 5 - UnexpectedAdmissionError, 6 - Unknown)
| Unit | Metric Type | Value Type |
| ---- | ----------- | ---------- |
| | Gauge | Int |
## Resource Attributes
| Name | Description | Values | Enabled |
| ---- | ----------- | ------ | ------- |
| container.id | The container id. | Any Str | true |
| container.image.name | The container image name | Any Str | true |
| container.image.tag | The container image tag | Any Str | true |
| container.runtime | The container runtime used by Kubernetes Node. | Any Str | false |
| container.runtime.version | The version of container runtime used by Kubernetes Node. | Any Str | false |
| k8s.container.name | The k8s container name | Any Str | true |
| k8s.container.status.last_terminated_reason | Last terminated reason of a container. | Any Str | false |
| k8s.cronjob.name | The k8s CronJob name | Any Str | true |
| k8s.cronjob.uid | The k8s CronJob uid. | Any Str | true |
| k8s.daemonset.name | The k8s daemonset name. | Any Str | true |
| k8s.daemonset.uid | The k8s daemonset uid. | Any Str | true |
| k8s.deployment.name | The name of the Deployment. | Any Str | true |
| k8s.deployment.uid | The UID of the Deployment. | Any Str | true |
| k8s.hpa.name | The k8s hpa name. | Any Str | true |
| k8s.hpa.uid | The k8s hpa uid. | Any Str | true |
| k8s.job.name | The k8s pod name. | Any Str | true |
| k8s.job.uid | The k8s job uid. | Any Str | true |
| k8s.kubelet.version | The version of Kubelet running on the node. | Any Str | false |
| k8s.namespace.name | The k8s namespace name. | Any Str | true |
| k8s.namespace.uid | The k8s namespace uid. | Any Str | true |
| k8s.node.name | The k8s node name. | Any Str | true |
| k8s.node.uid | The k8s node uid. | Any Str | true |
| k8s.pod.name | The k8s pod name. | Any Str | true |
| k8s.pod.qos_class | The k8s pod qos class name. One of Guaranteed, Burstable, BestEffort. | Any Str | false |
| k8s.pod.uid | The k8s pod uid. | Any Str | true |
| k8s.replicaset.name | The k8s replicaset name | Any Str | true |
| k8s.replicaset.uid | The k8s replicaset uid | Any Str | true |
| k8s.replicationcontroller.name | The k8s replicationcontroller name. | Any Str | true |
| k8s.replicationcontroller.uid | The k8s replicationcontroller uid. | Any Str | true |
| k8s.resourcequota.name | The k8s resourcequota name. | Any Str | true |
| k8s.resourcequota.uid | The k8s resourcequota uid. | Any Str | true |
| k8s.statefulset.name | The k8s statefulset name. | Any Str | true |
| k8s.statefulset.uid | The k8s statefulset uid. | Any Str | true |
| openshift.clusterquota.name | The k8s ClusterResourceQuota name. | Any Str | true |
| openshift.clusterquota.uid | The k8s ClusterResourceQuota uid. | Any Str | true |
| os.description | The os description used by Kubernetes Node. | Any Str | false |
| os.type | The os type used by Kubernetes Node. | Any Str | false |