diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2419ab0a9538bc23f4a0d151fb9e230128403c56..1e086708379c2065dade77f0154e7d95a7776399 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,8 +3,8 @@ on: - push - pull_request env: - golang-version: '1.19' - kind-version: 'v0.19.0' + golang-version: '1.20' + kind-version: 'v0.20.0' jobs: generate: runs-on: ${{ matrix.os }} @@ -83,8 +83,8 @@ jobs: strategy: matrix: kind-image: - - 'kindest/node:v1.27.1' - - 'kindest/node:v1.26.4' + - 'kindest/node:v1.28.0' + - 'kindest/node:v1.27.3' steps: - uses: actions/checkout@v3 with: diff --git a/README.md b/README.md index eeb20b4a7324272fda70fd665f263d80787698d9..3323dad6747dfd9851bbb70b5c2d1f87b938adcc 100644 --- a/README.md +++ b/README.md @@ -40,13 +40,13 @@ no effect, but is still deployed. The following Kubernetes versions are supported and work as we test against these versions in their respective branches. But note that other versions might work! -| kube-prometheus stack | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | Kubernetes 1.24 | Kubernetes 1.25 | Kubernetes 1.26 | Kubernetes 1.27 | -|--------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| -| [`release-0.9`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.9) | ✔ | ✔ | ✗ | ✗ | ✗ | x | x | -| [`release-0.10`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.10) | ✗ | ✔ | ✔ | ✗ | ✗ | x | x | -| [`release-0.11`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.11) | ✗ | ✗ | ✔ | ✔ | ✗ | x | x | -| [`release-0.12`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.12) | ✗ | ✗ | ✗ | ✔ | ✔ | x | x | -| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | ✗ | ✗ | x | ✔ | ✔ | +| kube-prometheus stack | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | Kubernetes 1.24 | Kubernetes 1.25 | Kubernetes 1.26 | Kubernetes 1.27 | Kubernetes 1.28 | +|--------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| +| [`release-0.9`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.9) | ✔ | ✔ | ✗ | ✗ | ✗ | x | x | x | +| [`release-0.10`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.10) | ✗ | ✔ | ✔ | ✗ | ✗ | x | x | x | +| [`release-0.11`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.11) | ✗ | ✗ | ✔ | ✔ | ✗ | x | x | x | +| [`release-0.12`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.12) | ✗ | ✗ | ✗ | ✔ | ✔ | x | x | x | +| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | ✗ | ✗ | x | x | ✔ | ✔ | ## Quickstart diff --git a/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet b/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet index 06051f18f77e14076b49ef32c183a597dda3b83c..d390d61f305d93f5fb1529751eb5e876e14bf8ad 100644 --- a/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet +++ b/jsonnet/kube-prometheus/addons/dropping-deprecated-metrics-relabelings.libsonnet @@ -14,7 +14,7 @@ // Drop all apiserver metrics which are deprecated in kubernetes. { sourceLabels: ['__name__'], - regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers)', + regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers|storage_db_total_size_in_bytes)', action: 'drop', }, // Drop all docker metrics which are deprecated in kubernetes. diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json index 2c927ee1b2c50e44cdd49e11d2bc2f2fc3bc22f0..ce9333279f0f78a395f473681ec0d01f15ad414d 100644 --- a/jsonnetfile.lock.json +++ b/jsonnetfile.lock.json @@ -18,7 +18,7 @@ "subdir": "contrib/mixin" } }, - "version": "d09b8d474a01ab4ebf4a7bd877962c1036fb2b68", + "version": "2888a95d5d4f20e7e852214e888d79ead642300b", "sum": "GdePvMDfLQcVhwzk/Ephi/jC27ywGObLB5t0eC0lXd4=" }, { @@ -58,7 +58,7 @@ "subdir": "grafana-builder" } }, - "version": "62aec8403a5c38d5dc97ba596703753289b1c33b", + "version": "c0abc546c782a095a22c277d36f871bb94ffc944", "sum": "xEFMv4+ObwP5L1Wu0XK5agWci4AJzNApys6iKAQxLlQ=" }, { @@ -68,8 +68,8 @@ "subdir": "" } }, - "version": "a10227e04218679b5e0e1d50784a4251bf3bdaf3", - "sum": "bpHFTDHKyY6ESLCtRqpzEQTWDZw3AiYC8fyuZX+KDWE=" + "version": "63337d921db856bbcd2e91814a0ac90c250410d6", + "sum": "x8/bMVUaNMZEh6mcwhLmTlBJnaleRqhhV+w/+h0H0Pc=" }, { "source": { @@ -78,7 +78,7 @@ "subdir": "jsonnet/kube-state-metrics" } }, - "version": "6b1daa7191327e774249cc0b6f3d2033cc370b74", + "version": "dbd456831b5adfc8642d5c7793c6cdad59c2e975", "sum": "+dOzAK+fwsFf97uZpjcjTcEJEC1H8hh/j8f5uIQK/5g=" }, { @@ -88,7 +88,7 @@ "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "6b1daa7191327e774249cc0b6f3d2033cc370b74", + "version": "dbd456831b5adfc8642d5c7793c6cdad59c2e975", "sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c=" }, { @@ -98,7 +98,7 @@ "subdir": "jsonnet/mixin" } }, - "version": "9bcab0e468bc428c0ba8488c5f931d0a04380523", + "version": "0209080d37fc4293cfa6be252dcfec926fdfc39a", "sum": "n3flMIzlADeyygb0uipZ4KPp2uNSjdtkrwgHjTC7Ca4=", "name": "prometheus-operator-mixin" }, @@ -109,8 +109,8 @@ "subdir": "jsonnet/prometheus-operator" } }, - "version": "9bcab0e468bc428c0ba8488c5f931d0a04380523", - "sum": "eiYusxOF4yc8UoQZncjPwGBtKwAbPJ4cQL7P6eO7PUo=" + "version": "0209080d37fc4293cfa6be252dcfec926fdfc39a", + "sum": "Gr+fwRoLDcx3fVegJJRQzFCWUugbFQXO/l1Pz2TNYzI=" }, { "source": { @@ -119,7 +119,7 @@ "subdir": "doc/alertmanager-mixin" } }, - "version": "4f1f020fe5e695105a0bee4511feed159f416842", + "version": "6cbe2eb21f7cd770d8f247c545941f3a8c97f6a0", "sum": "1d7ZKYArJKacAWXLUz0bRC1uOkozee/PPw97/W5zGhc=", "name": "alertmanager" }, @@ -140,7 +140,7 @@ "subdir": "documentation/prometheus-mixin" } }, - "version": "1b9a53b5eea62e82a65bb65a8139c38dbd8f259e", + "version": "c5e1498ae243bbf0b8363786de065bf98acd1edb", "sum": "8OngT76gVXOUROOOeP9yTe6E/dn+2D2J34Dn690QCG0=", "name": "prometheus" }, @@ -151,8 +151,8 @@ "subdir": "config/crd/bases" } }, - "version": "4ff55db55dafd7270e0610adc55ce5809c461b99", - "sum": "L3lljFFoFB+nhXnyo8Yl1hKqe60nhHXY0IZCO3H2iVk=" + "version": "b81fbf22bec162581c78b449f9a95f63d9d4d527", + "sum": "v0uv2DLx8qjW+OviUfzTFOzZ+0IizXqBhuglGHIhGmo=" }, { "source": { @@ -161,7 +161,7 @@ "subdir": "mixin" } }, - "version": "429e3e708e1be2aae1eba4f1af0936647e45e1ef", + "version": "7b20b1db38857ee69abe6cb1e7e3c67ef4b96fe8", "sum": "WhheqsiX0maUXByZFsb9xhCEsGXK2955bPmPPf1x+Cs=", "name": "thanos-mixin" }, diff --git a/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml b/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml index 95f4e33839d41f5086a6df663a8a8a8a31bacc67..bfc1f315455176330572d5b5c56a91089cea2879 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorApiserver.yaml @@ -20,7 +20,7 @@ spec: sourceLabels: - __name__ - action: drop - regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers) + regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers|storage_db_total_size_in_bytes) sourceLabels: - __name__ - action: drop diff --git a/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml b/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml index efd7135f4f7bb38c17072fed320a9c93cf3cff41..1a71e8e458338c384986f6fa3765ea6ed8839b09 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorKubeControllerManager.yaml @@ -20,7 +20,7 @@ spec: sourceLabels: - __name__ - action: drop - regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers) + regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers|storage_db_total_size_in_bytes) sourceLabels: - __name__ - action: drop diff --git a/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml b/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml index d0d2611f4405161501ee055f3dd027fb3eae8791..96bbdbab726b2ae0ede0de78015674c7321d83d7 100644 --- a/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml +++ b/manifests/kubernetesControlPlane-serviceMonitorKubelet.yaml @@ -21,7 +21,7 @@ spec: sourceLabels: - __name__ - action: drop - regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers) + regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers|storage_db_total_size_in_bytes) sourceLabels: - __name__ - action: drop diff --git a/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml b/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml index 65b606d401c831a7c62c9a5234b47e7af3bc379f..ff049bea383107b09b2a06b0de66ea00fcfc82a6 100644 --- a/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml +++ b/manifests/setup/0scrapeconfigCustomResourceDefinition.yaml @@ -657,6 +657,63 @@ spec: description: Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer. format: int64 type: integer + metricRelabelings: + description: MetricRelabelConfigs to apply to samples before ingestion. + items: + description: "RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. \n More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config" + properties: + action: + default: replace + description: "Action to perform based on the regex matching. \n `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. \n Default: \"Replace\"" + enum: + - replace + - Replace + - keep + - Keep + - drop + - Drop + - hashmod + - HashMod + - labelmap + - LabelMap + - labeldrop + - LabelDrop + - labelkeep + - LabelKeep + - lowercase + - Lowercase + - uppercase + - Uppercase + - keepequal + - KeepEqual + - dropequal + - DropEqual + type: string + modulus: + description: "Modulus to take of the hash of the source label values. \n Only applicable when the action is `HashMod`." + format: int64 + type: integer + regex: + description: Regular expression against which the extracted value is matched. + type: string + replacement: + description: "Replacement value against which a Replace action is performed if the regular expression matches. \n Regex capture groups are available." + type: string + separator: + description: Separator is the string between concatenated SourceLabels. + type: string + sourceLabels: + description: The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression. + items: + description: LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores. + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + type: array + targetLabel: + description: "Label to which the resulting string is written in a replacement. \n It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions. \n Regex capture groups are available." + type: string + type: object + type: array metricsPath: description: MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics). type: string