|
1 | 1 | # Vertical Pod Autoscaler Metrics
|
2 | 2 |
|
3 |
| -| Metric name | Metric type | Labels/tags | Status | |
4 |
| -| -------------------------------- | ----------- | ------------------------------------------------------------- | ------ | |
5 |
| -| kube_verticalpodautoscaler_annotations | Gauge | `annotation_app`=<foo> <br> `namespace`=<namespace> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
6 |
| -| kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_minallowed | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
7 |
| -| kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_maxallowed | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
8 |
| -| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_lowerbound | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
9 |
| -| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_target | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
10 |
| -| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_uncappedtarget | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
11 |
| -| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_upperbound | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
12 |
| -| kube_verticalpodautoscaler_labels | Gauge | `label_app`=<foo> <br> `namespace`=<namespace> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
13 |
| -| kube_verticalpodautoscaler_spec_updatepolicy_updatemode | Gauge | `namespace`=<namespace> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `update_mode`=<foo> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | EXPERIMENTAL | |
| 3 | +## DEPRECATION NOTICE |
| 4 | + |
| 5 | +From v2.9.0 onwards, `vericalpodautoscalers` will be removed from the list of default resources. This means that specifying that in the `--resource` flag will **not** generate metrics for the same. In order to generate `verticalpodautoscalers` metrics, you will have to explicitly specify it in `--custom-resource-state-config*` (either the inline yaml, or the configuration file), like so: |
| 6 | +```yaml |
| 7 | +# Using --resource=verticalpodautoscalers, we get the following output: |
| 8 | +# HELP kube_verticalpodautoscaler_annotations (Deprecated since v2.9.0) Kubernetes annotations converted to Prometheus labels. |
| 9 | +# TYPE kube_verticalpodautoscaler_annotations gauge |
| 10 | +# kube_verticalpodautoscaler_annotations{namespace="default",verticalpodautoscaler="hamster-vpa",target_api_version="apps/v1",target_kind="Deployment",target_name="hamster"} 1 |
| 11 | +# A similar result can be achieved by specifying the following in --custom-resource-state-config: |
| 12 | +kind: CustomResourceStateMetrics |
| 13 | +spec: |
| 14 | + resources: |
| 15 | + - groupVersionKind: |
| 16 | + group: autoscaling.k8s.io |
| 17 | + kind: "VerticalPodAutoscaler" |
| 18 | + version: "v1" |
| 19 | + labelsFromPath: |
| 20 | + verticalpodautoscaler: [metadata, name] |
| 21 | + namespace: [metadata, namespace] |
| 22 | + target_api_version: [apiVersion] |
| 23 | + target_kind: [spec, targetRef, kind] |
| 24 | + target_name: [spec, targetRef, name] |
| 25 | + metrics: |
| 26 | + - name: "annotations" |
| 27 | + help: "Kubernetes annotations converted to Prometheus labels." |
| 28 | + each: |
| 29 | + type: Gauge |
| 30 | + gauge: |
| 31 | + path: [metadata, annotations] |
| 32 | +# This will output the following metric: |
| 33 | +# HELP kube_crd_autoscaling_k8s_io_v1_VerticalPodAutoscaler_annotations Kubernetes annotations converted to Prometheus labels. |
| 34 | +# TYPE kube_crd_autoscaling_k8s_io_v1_VerticalPodAutoscaler_annotations gauge |
| 35 | +# kube_crd_autoscaling_k8s_io_v1_VerticalPodAutoscaler_annotations{namespace="default",target_api_version="autoscaling.k8s.io/v1",target_kind="Deployment",target_name="hamster",verticalpodautoscaler="hamster-vpa"} 123 |
| 36 | +``` |
| 37 | +PS. The above configuration was tested on [this](https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml) VPA configuration, with an added annotation (`foo: 123`). |
| 38 | +*** |
| 39 | + |
| 40 | +| Metric name | Metric type | Labels/tags | Status | |
| 41 | +| -------------------------------- | ----------- | ------------------------------------------------------------- | ------ | |
| 42 | +| kube_verticalpodautoscaler_annotations | Gauge | `annotation_app`=<foo> <br> `namespace`=<namespace> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 43 | +| kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_minallowed | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 44 | +| kube_verticalpodautoscaler_spec_resourcepolicy_container_policies_maxallowed | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 45 | +| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_lowerbound | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 46 | +| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_target | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 47 | +| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_uncappedtarget | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 48 | +| kube_verticalpodautoscaler_status_recommendation_containerrecommendations_upperbound | Gauge | `container`=<container name> <br> `namespace`=<namespace> <br> `resource`=<cpu memory> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `unit`=<core byte> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 49 | +| kube_verticalpodautoscaler_labels | Gauge | `label_app`=<foo> <br> `namespace`=<namespace> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
| 50 | +| kube_verticalpodautoscaler_spec_updatepolicy_updatemode | Gauge | `namespace`=<namespace> <br> `target_api_version`=<api version> <br> `target_kind`=<target kind> <br> `target_name`=<target name> <br> `update_mode`=<foo> <br> `verticalpodautoscaler`=<vertical pod autoscaler name> | DEPRECATED | |
14 | 51 |
|
15 | 52 | ## Configuration
|
16 | 53 |
|
|
0 commit comments