From 97a1bc2ae776adee411edcced7c5131c2fb23f65 Mon Sep 17 00:00:00 2001 From: Roboquat Date: Mon, 28 Jul 2025 00:22:50 +0000 Subject: [PATCH] [bot] [main] Automated dependencies update --- jsonnetfile.lock.json | 38 ++-- ...0alertmanagerCustomResourceDefinition.yaml | 2 +- .../manifests/grafana/config.yaml | 2 +- .../grafana/dashboardDatasources.yaml | 2 +- .../grafana/dashboardDefinitions.yaml | 172 +++++++-------- .../manifests/grafana/dashboardSources.yaml | 2 +- .../manifests/grafana/deployment.yaml | 12 +- .../manifests/grafana/prometheusRule.yaml | 2 +- .../manifests/grafana/service.yaml | 2 +- .../manifests/grafana/serviceAccount.yaml | 2 +- .../manifests/grafana/serviceMonitor.yaml | 2 +- .../kube-prometheus-rules/rules.yaml | 67 +++++- .../.github/ISSUE_TEMPLATE/bugs.yaml | 2 +- .../.github/workflows/ci.yaml | 2 +- .../.github/workflows/release.yaml | 2 +- .../kubernetes-mixin/.lint | 16 +- .../kubernetes-mixin/DESIGN.md | 206 +++++++++--------- .../alerts/apps_alerts.libsonnet | 8 +- .../alerts/resource_alerts.libsonnet | 63 ++++-- .../kubernetes-mixin/config.libsonnet | 3 + .../kubernetes-mixin/rules/apps.libsonnet | 20 +- .../kubernetes-mixin/rules/kubelet.libsonnet | 6 +- .../kubernetes-mixin/rules/windows.libsonnet | 9 +- .../kubernetes-mixin/tests/tests.yaml | 167 ++++++++++++++ .../jsonnet/kube-prometheus/versions.json | 10 +- .../alertmanagers-crd.json | 2 +- 26 files changed, 539 insertions(+), 282 deletions(-) diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json index 68636d62..34b79bf6 100644 --- a/jsonnetfile.lock.json +++ b/jsonnetfile.lock.json @@ -18,7 +18,7 @@ "subdir": "contrib/mixin" } }, - "version": "c6d220b831511095d6da0c01335d77b22ac746da", + "version": "472662fee06f79e68acf14d9ec4b4168dd59e490", "sum": "XmXkOCriQIZmXwlIIFhqlJMa0e6qGWdxZD+ZDYaN0Po=" }, { @@ -28,7 +28,7 @@ "subdir": "operations/observability/mixins" } }, - "version": "6d00851295a8239e98193443e85ee21e0b76ff98", + "version": "96a792181a7791302b15c3d1b21338a5d337bd33", "sum": "wvuIMANAM9nLAR9RmTl2J7ZkFOV/XtIQ8LwKApfydKc=", "name": "gitpod" }, @@ -39,7 +39,7 @@ "subdir": "grafana-mixin" } }, - "version": "0a44e27aab911fcc9bef5c456fadaadab9c8d619", + "version": "3cdec6626521b1126db47c3b816ffdc485f1291f", "sum": "S8mRTRH4w62kMCa2je3iCtvscYrwQmkyJ7Y/aM14KbE=" }, { @@ -89,7 +89,7 @@ "subdir": "grafana-builder" } }, - "version": "1cd23af7f31e8ee2f4e6abe16b466c7bfc0ce82a", + "version": "6226b75e3f026d26e56103df08b7350b26b7a183", "sum": "G7B6E5sqWirDbMWRhifbLRfGgRFbIh9WCYa6X3kMh6g=" }, { @@ -99,7 +99,7 @@ "subdir": "mixin-utils" } }, - "version": "1cd23af7f31e8ee2f4e6abe16b466c7bfc0ce82a", + "version": "6226b75e3f026d26e56103df08b7350b26b7a183", "sum": "VAik6Sh5MD5H1Km1gSIXG4rwQ4m4zyw7odP5TKu3bGo=" }, { @@ -129,8 +129,8 @@ "subdir": "" } }, - "version": "02b7ba4c005e5c5b4ba25f95ddc8272b489da6cf", - "sum": "Iw3dxtrJJSCpzff/OpVyXSAd3vzoPCiE7/fjP/4nAQ4=" + "version": "1da53ae8652b014b34a0c2346fc67e0bbca7559c", + "sum": "g1CTW1CQwszC4bhp1nHrg7bHzIttvLGPmlKUAhLDzUI=" }, { "source": { @@ -139,7 +139,7 @@ "subdir": "jsonnet/kube-state-metrics" } }, - "version": "f421b9a69a08f3009b959c81f08749176996998a", + "version": "61be81fa1f7a34fc95a2b11ad0f0d49d5056f56e", "sum": "3bioG7CfTfY9zeu5xU4yon6Zt3kYvNkyl492nOhQxnM=" }, { @@ -149,7 +149,7 @@ "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "f421b9a69a08f3009b959c81f08749176996998a", + "version": "61be81fa1f7a34fc95a2b11ad0f0d49d5056f56e", "sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c=" }, { @@ -159,8 +159,8 @@ "subdir": "jsonnet/kube-prometheus" } }, - "version": "4fd9ade510af1d6eefa56fe300b8bec653975b8e", - "sum": "ClY5bR72mU4gIQiWfvcZ+dT2uzqJAOb4oFbXD1h2vQE=" + "version": "4181356aa78a26f80a56c07238253e19eae374f7", + "sum": "Y4zoEK4+AyASCUDOeN9eRnbIFpnuKZKMxFGQ2HPjS1U=" }, { "source": { @@ -169,7 +169,7 @@ "subdir": "jsonnet/mixin" } }, - "version": "5b60eb7f1037736eb540ceded294ea005c4b97ec", + "version": "ba794f47ffbfa4e07f85c73d1a9138f2f01322cd", "sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=", "name": "prometheus-operator-mixin" }, @@ -180,8 +180,8 @@ "subdir": "jsonnet/prometheus-operator" } }, - "version": "5b60eb7f1037736eb540ceded294ea005c4b97ec", - "sum": "ikNhDwJwp2YNd5JPZWL6nkgZ3pzQIYfk3uxO3yQQqg4=" + "version": "ba794f47ffbfa4e07f85c73d1a9138f2f01322cd", + "sum": "sXZVmJX3i3DKDE/zm6fggQ0AYV6mJCAJ62/ugCgMXz0=" }, { "source": { @@ -190,7 +190,7 @@ "subdir": "doc/alertmanager-mixin" } }, - "version": "b046b1763b5c18bfd2f510d7a11ec0fb63d454e7", + "version": "4534c9ac53d6bf502c27bc8fdd24341e9d4f2ba8", "sum": "j5prvRrJdoCv7n45l5Uy2ghl1IDb9BBUqjwCDs4ZJoQ=", "name": "alertmanager" }, @@ -201,7 +201,7 @@ "subdir": "docs/node-mixin" } }, - "version": "581a9090e409d17ee3757e15225b00e7abc3eccf", + "version": "b57f5bab2db45eb5b7cce6b54d2ad15250facc03", "sum": "NcpQ0Hz0qciUqmOYoAR0X8GUK5pH/QiUXm1aDNgvua0=" }, { @@ -211,7 +211,7 @@ "subdir": "documentation/prometheus-mixin" } }, - "version": "3602785a89162ccc99a940fb9d862219a2d02241", + "version": "2c04f2d7b1a7bbd260ffae70d1bd57b20c0c0d4f", "sum": "1+e8HismURh2GEbJPRIxI30M1nsrIuIh0TRUhwylqf4=", "name": "prometheus" }, @@ -222,7 +222,7 @@ "subdir": "jsonnet/controller-gen" } }, - "version": "9ec27b14f3f6c92dc54c2bf37dc0ffae55b4c251", + "version": "1190f25c796e57f03720f82a09b117a5ef2a8e69", "sum": "O3c9Uurei8MWAY0Ad7DOL1fMqSgdHyHB7MpHsxSITKM=", "name": "pyrra" }, @@ -233,7 +233,7 @@ "subdir": "mixin" } }, - "version": "20900389bb7a0c7223a373daceb6a83fc0f44679", + "version": "49a560d09dfa62d396b8070ceb9a31acc6464511", "sum": "ieCD4eMgGbOlrI8GmckGPHBGQDcLasE1rULYq56W/bs=", "name": "thanos-mixin" }, diff --git a/monitoring-satellite/manifests/crds/prometheusOperator-0alertmanagerCustomResourceDefinition.yaml b/monitoring-satellite/manifests/crds/prometheusOperator-0alertmanagerCustomResourceDefinition.yaml index 31c48503..2af9638e 100644 --- a/monitoring-satellite/manifests/crds/prometheusOperator-0alertmanagerCustomResourceDefinition.yaml +++ b/monitoring-satellite/manifests/crds/prometheusOperator-0alertmanagerCustomResourceDefinition.yaml @@ -5620,7 +5620,7 @@ spec: paused: description: |- If set to true all actions on the underlying managed objects are not - goint to be performed, except for delete actions. + going to be performed, except for delete actions. type: boolean persistentVolumeClaimRetentionPolicy: description: |- diff --git a/monitoring-satellite/manifests/grafana/config.yaml b/monitoring-satellite/manifests/grafana/config.yaml index 10b6993a..bab9008d 100644 --- a/monitoring-satellite/manifests/grafana/config.yaml +++ b/monitoring-satellite/manifests/grafana/config.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-config namespace: monitoring-satellite stringData: diff --git a/monitoring-satellite/manifests/grafana/dashboardDatasources.yaml b/monitoring-satellite/manifests/grafana/dashboardDatasources.yaml index 9d437de5..1c6dd38e 100644 --- a/monitoring-satellite/manifests/grafana/dashboardDatasources.yaml +++ b/monitoring-satellite/manifests/grafana/dashboardDatasources.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-datasources namespace: monitoring-satellite stringData: diff --git a/monitoring-satellite/manifests/grafana/dashboardDefinitions.yaml b/monitoring-satellite/manifests/grafana/dashboardDefinitions.yaml index a1d9aaa5..6a264c33 100644 --- a/monitoring-satellite/manifests/grafana/dashboardDefinitions.yaml +++ b/monitoring-satellite/manifests/grafana/dashboardDefinitions.yaml @@ -1915,7 +1915,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-admin-node namespace: monitoring-satellite - apiVersion: v1 @@ -3159,7 +3159,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-admin-workspace namespace: monitoring-satellite - apiVersion: v1 @@ -3667,7 +3667,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-applications namespace: monitoring-satellite - apiVersion: v1 @@ -4761,7 +4761,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-cluster-autoscaler-k3s namespace: monitoring-satellite - apiVersion: v1 @@ -5410,7 +5410,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-connect-server namespace: monitoring-satellite - apiVersion: v1 @@ -6307,7 +6307,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-grpc-client namespace: monitoring-satellite - apiVersion: v1 @@ -7187,7 +7187,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-grpc-server namespace: monitoring-satellite - apiVersion: v1 @@ -11325,7 +11325,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-node-resource-metrics namespace: monitoring-satellite - apiVersion: v1 @@ -12400,7 +12400,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-nodes-overview namespace: monitoring-satellite - apiVersion: v1 @@ -14288,7 +14288,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-overview namespace: monitoring-satellite - apiVersion: v1 @@ -14741,7 +14741,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-slo-workspace-startuptime namespace: monitoring-satellite - apiVersion: v1 @@ -16356,7 +16356,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-redis namespace: monitoring-satellite - apiVersion: v1 @@ -21369,7 +21369,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-argocd namespace: monitoring-satellite - apiVersion: v1 @@ -21381,7 +21381,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-cardinality-management-overview namespace: monitoring-satellite - apiVersion: v1 @@ -21845,7 +21845,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-sh-example-overview namespace: monitoring-satellite - apiVersion: v1 @@ -23297,7 +23297,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-observability namespace: monitoring-satellite - apiVersion: v1 @@ -25421,7 +25421,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-blobserve namespace: monitoring-satellite - apiVersion: v1 @@ -25647,7 +25647,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-browser-overview namespace: monitoring-satellite - apiVersion: v1 @@ -27057,7 +27057,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-code-browser namespace: monitoring-satellite - apiVersion: v1 @@ -28298,7 +28298,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ide-service namespace: monitoring-satellite - apiVersion: v1 @@ -28988,7 +28988,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ide-startup-time namespace: monitoring-satellite - apiVersion: v1 @@ -29267,7 +29267,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-jb namespace: monitoring-satellite - apiVersion: v1 @@ -29870,7 +29870,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-local-ssh namespace: monitoring-satellite - apiVersion: v1 @@ -32221,7 +32221,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-openvsx-mirror namespace: monitoring-satellite - apiVersion: v1 @@ -34337,7 +34337,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-openvsx-proxy namespace: monitoring-satellite - apiVersion: v1 @@ -34815,7 +34815,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ssh-gateway namespace: monitoring-satellite - apiVersion: v1 @@ -35446,7 +35446,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-supervisor namespace: monitoring-satellite - apiVersion: v1 @@ -35791,7 +35791,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-alertmanager-overview namespace: monitoring-satellite - apiVersion: v1 @@ -36673,7 +36673,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-apiserver namespace: monitoring-satellite - apiVersion: v1 @@ -38010,7 +38010,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-cert-manager namespace: monitoring-satellite - apiVersion: v1 @@ -38824,7 +38824,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-cluster-total namespace: monitoring-satellite - apiVersion: v1 @@ -39428,7 +39428,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-controller-manager namespace: monitoring-satellite - apiVersion: v1 @@ -41015,7 +41015,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-cluster namespace: monitoring-satellite - apiVersion: v1 @@ -41656,7 +41656,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-multicluster namespace: monitoring-satellite - apiVersion: v1 @@ -43174,7 +43174,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-namespace namespace: monitoring-satellite - apiVersion: v1 @@ -43855,7 +43855,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-node namespace: monitoring-satellite - apiVersion: v1 @@ -45239,7 +45239,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-pod namespace: monitoring-satellite - apiVersion: v1 @@ -45926,7 +45926,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-windows-cluster namespace: monitoring-satellite - apiVersion: v1 @@ -46380,7 +46380,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-windows-namespace namespace: monitoring-satellite - apiVersion: v1 @@ -46889,7 +46889,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-windows-pod namespace: monitoring-satellite - apiVersion: v1 @@ -47955,7 +47955,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-workload namespace: monitoring-satellite - apiVersion: v1 @@ -49218,7 +49218,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-resources-workloads-namespace namespace: monitoring-satellite - apiVersion: v1 @@ -49634,7 +49634,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-windows-cluster-rsrc-use namespace: monitoring-satellite - apiVersion: v1 @@ -50261,7 +50261,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-k8s-windows-node-rsrc-use namespace: monitoring-satellite - apiVersion: v1 @@ -51514,7 +51514,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-kubelet namespace: monitoring-satellite - apiVersion: v1 @@ -52154,7 +52154,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-namespace-by-pod namespace: monitoring-satellite - apiVersion: v1 @@ -52952,7 +52952,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-namespace-by-workload namespace: monitoring-satellite - apiVersion: v1 @@ -53545,7 +53545,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-node-cluster-rsrc-use namespace: monitoring-satellite - apiVersion: v1 @@ -54149,7 +54149,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-node-rsrc-use namespace: monitoring-satellite - apiVersion: v1 @@ -54872,7 +54872,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-nodes-aix namespace: monitoring-satellite - apiVersion: v1 @@ -55619,7 +55619,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-nodes-darwin namespace: monitoring-satellite - apiVersion: v1 @@ -56358,7 +56358,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-nodes namespace: monitoring-satellite - apiVersion: v1 @@ -56680,7 +56680,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-persistentvolumesusage namespace: monitoring-satellite - apiVersion: v1 @@ -57174,7 +57174,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-pod-total namespace: monitoring-satellite - apiVersion: v1 @@ -57975,7 +57975,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-prometheus-remote-write namespace: monitoring-satellite - apiVersion: v1 @@ -58815,7 +58815,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-prometheus namespace: monitoring-satellite - apiVersion: v1 @@ -59470,7 +59470,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-proxy namespace: monitoring-satellite - apiVersion: v1 @@ -60071,7 +60071,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-scheduler namespace: monitoring-satellite - apiVersion: v1 @@ -60657,7 +60657,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-workload-total namespace: monitoring-satellite - apiVersion: v1 @@ -62064,7 +62064,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-dashboard namespace: monitoring-satellite - apiVersion: v1 @@ -63469,7 +63469,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-db namespace: monitoring-satellite - apiVersion: v1 @@ -65331,7 +65331,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-proxy namespace: monitoring-satellite - apiVersion: v1 @@ -65938,7 +65938,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-server-garbage-collector namespace: monitoring-satellite - apiVersion: v1 @@ -68461,7 +68461,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-server namespace: monitoring-satellite - apiVersion: v1 @@ -69329,7 +69329,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-usage namespace: monitoring-satellite - apiVersion: v1 @@ -71838,7 +71838,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ws-manager-bridge namespace: monitoring-satellite - apiVersion: v1 @@ -72833,7 +72833,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-components-spicedb namespace: monitoring-satellite - apiVersion: v1 @@ -73756,7 +73756,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-meta-overview namespace: monitoring-satellite - apiVersion: v1 @@ -74301,7 +74301,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-meta-services namespace: monitoring-satellite - apiVersion: v1 @@ -75862,7 +75862,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-slo-login namespace: monitoring-satellite - apiVersion: v1 @@ -78732,7 +78732,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-agent-smith namespace: monitoring-satellite - apiVersion: v1 @@ -81300,7 +81300,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-content-service namespace: monitoring-satellite - apiVersion: v1 @@ -83925,7 +83925,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-image-builder namespace: monitoring-satellite - apiVersion: v1 @@ -86946,7 +86946,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-registry-facade namespace: monitoring-satellite - apiVersion: v1 @@ -90385,7 +90385,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ws-daemon namespace: monitoring-satellite - apiVersion: v1 @@ -94740,7 +94740,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ws-manager-mk2 namespace: monitoring-satellite - apiVersion: v1 @@ -96148,7 +96148,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-component-ws-proxy namespace: monitoring-satellite - apiVersion: v1 @@ -96585,7 +96585,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-network-limiting namespace: monitoring-satellite - apiVersion: v1 @@ -96888,7 +96888,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-node-ephemeral-storage namespace: monitoring-satellite - apiVersion: v1 @@ -97650,7 +97650,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-node-problem-detector namespace: monitoring-satellite - apiVersion: v1 @@ -97913,7 +97913,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-node-swap namespace: monitoring-satellite - apiVersion: v1 @@ -98589,7 +98589,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-psi namespace: monitoring-satellite - apiVersion: v1 @@ -100704,7 +100704,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-workspace-coredns namespace: monitoring-satellite - apiVersion: v1 @@ -101178,7 +101178,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-workspace-psi namespace: monitoring-satellite - apiVersion: v1 @@ -101787,7 +101787,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-workspace-registry-facade-blobsource namespace: monitoring-satellite - apiVersion: v1 @@ -102589,7 +102589,7 @@ items: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboard-gitpod-workspace-success-criteria namespace: monitoring-satellite kind: ConfigMapList diff --git a/monitoring-satellite/manifests/grafana/dashboardSources.yaml b/monitoring-satellite/manifests/grafana/dashboardSources.yaml index 48c8e0f9..02649992 100644 --- a/monitoring-satellite/manifests/grafana/dashboardSources.yaml +++ b/monitoring-satellite/manifests/grafana/dashboardSources.yaml @@ -72,6 +72,6 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana-dashboards namespace: monitoring-satellite diff --git a/monitoring-satellite/manifests/grafana/deployment.yaml b/monitoring-satellite/manifests/grafana/deployment.yaml index cad7f84f..bdf7168e 100644 --- a/monitoring-satellite/manifests/grafana/deployment.yaml +++ b/monitoring-satellite/manifests/grafana/deployment.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana namespace: monitoring-satellite spec: @@ -18,14 +18,14 @@ spec: template: metadata: annotations: - checksum/grafana-config: 9443b8a8a41be53be5fefbf73533f451 - checksum/grafana-dashboardproviders: f2281c75aa628d8fbadb9f7c0ead8883 - checksum/grafana-datasources: fcfe3ac868adbdf814c0759c7cccea8d + checksum/grafana-config: 758c43a8c5194ff59b120b57e586a06e + checksum/grafana-dashboardproviders: f34d3fc24d20b6d65efcfebdfe7fd743 + checksum/grafana-datasources: 7ba45ea72bd101994a831d7a50abb442 labels: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 spec: automountServiceAccountToken: false containers: @@ -36,7 +36,7 @@ spec: value: Admin - name: GF_AUTH_DISABLE_LOGIN_FORM value: "true" - image: grafana/grafana:12.0.1 + image: grafana/grafana:12.0.2 name: grafana ports: - containerPort: 3000 diff --git a/monitoring-satellite/manifests/grafana/prometheusRule.yaml b/monitoring-satellite/manifests/grafana/prometheusRule.yaml index bb14bbcd..b3916d99 100644 --- a/monitoring-satellite/manifests/grafana/prometheusRule.yaml +++ b/monitoring-satellite/manifests/grafana/prometheusRule.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 prometheus: k8s role: alert-rules name: grafana-rules diff --git a/monitoring-satellite/manifests/grafana/service.yaml b/monitoring-satellite/manifests/grafana/service.yaml index 3968140c..c03945a9 100644 --- a/monitoring-satellite/manifests/grafana/service.yaml +++ b/monitoring-satellite/manifests/grafana/service.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana namespace: monitoring-satellite spec: diff --git a/monitoring-satellite/manifests/grafana/serviceAccount.yaml b/monitoring-satellite/manifests/grafana/serviceAccount.yaml index 32846057..3f711807 100644 --- a/monitoring-satellite/manifests/grafana/serviceAccount.yaml +++ b/monitoring-satellite/manifests/grafana/serviceAccount.yaml @@ -6,6 +6,6 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana namespace: monitoring-satellite diff --git a/monitoring-satellite/manifests/grafana/serviceMonitor.yaml b/monitoring-satellite/manifests/grafana/serviceMonitor.yaml index 50ceebab..ca29768f 100644 --- a/monitoring-satellite/manifests/grafana/serviceMonitor.yaml +++ b/monitoring-satellite/manifests/grafana/serviceMonitor.yaml @@ -5,7 +5,7 @@ metadata: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus - app.kubernetes.io/version: 12.0.1 + app.kubernetes.io/version: 12.0.2 name: grafana namespace: monitoring-satellite spec: diff --git a/monitoring-satellite/manifests/kube-prometheus-rules/rules.yaml b/monitoring-satellite/manifests/kube-prometheus-rules/rules.yaml index d1a48876..ef508de2 100644 --- a/monitoring-satellite/manifests/kube-prometheus-rules/rules.yaml +++ b/monitoring-satellite/manifests/kube-prometheus-rules/rules.yaml @@ -672,8 +672,8 @@ spec: - expr: | kube_pod_container_resource_limits{resource="cpu",job="kube-state-metrics"} * on (namespace, pod, cluster) group_left() max by (namespace, pod, cluster) ( - (kube_pod_status_phase{phase=~"Pending|Running"} == 1) - ) + (kube_pod_status_phase{phase=~"Pending|Running"} == 1) + ) record: cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits - expr: | sum by (namespace, cluster) ( @@ -776,7 +776,44 @@ spec: labels: workload_type: staticpod record: namespace_workload_pod:kube_pod_owner:relabel - - expr: "group by (cluster, namespace, workload, workload_type, pod) (\n label_join(\n label_join(\n group by (cluster, namespace, job_name, pod) (\n label_join(\n kube_pod_owner{job=\"kube-state-metrics\", owner_kind=\"Job\"}\n , \"job_name\", \"\", \"owner_name\")\n )\n * on (cluster, namespace, job_name) group_left(owner_kind, owner_name)\n group by (cluster, namespace, job_name, owner_kind, owner_name) (\n kube_job_owner{job=\"kube-state-metrics\", owner_kind!=\"Pod\", owner_kind!=\"\"}\n )\n , \"workload\", \"\", \"owner_name\")\n , \"workload_type\", \"\", \"owner_kind\")\n \n OR\n\n label_replace(\n label_replace(\n label_replace(\n kube_pod_owner{job=\"kube-state-metrics\", owner_kind=\"ReplicaSet\"}\n , \"replicaset\", \"$1\", \"owner_name\", \"(.+)\"\n )\n * on(cluster, namespace, replicaset) group_left(owner_kind, owner_name)\n group by (cluster, namespace, replicaset, owner_kind, owner_name) (\n kube_replicaset_owner{job=\"kube-state-metrics\", owner_kind!=\"Deployment\", owner_kind!=\"\"}\n )\n , \"workload\", \"$1\", \"owner_name\", \"(.+)\")\n OR\n label_replace(\n group by (cluster, namespace, pod, owner_name, owner_kind) (\n kube_pod_owner{job=\"kube-state-metrics\", owner_kind!=\"ReplicaSet\", owner_kind!=\"DaemonSet\", owner_kind!=\"StatefulSet\", owner_kind!=\"Job\", owner_kind!=\"Node\", owner_kind!=\"\"}\n )\n , \"workload\", \"$1\", \"owner_name\", \"(.+)\"\n )\n , \"workload_type\", \"$1\", \"owner_kind\", \"(.+)\")\n)\n" + - expr: | + group by (cluster, namespace, workload, workload_type, pod) ( + label_join( + label_join( + group by (cluster, namespace, job_name, pod) ( + label_join( + kube_pod_owner{job="kube-state-metrics", owner_kind="Job"} + , "job_name", "", "owner_name") + ) + * on (cluster, namespace, job_name) group_left(owner_kind, owner_name) + group by (cluster, namespace, job_name, owner_kind, owner_name) ( + kube_job_owner{job="kube-state-metrics", owner_kind!="Pod", owner_kind!=""} + ) + , "workload", "", "owner_name") + , "workload_type", "", "owner_kind") + + OR + + label_replace( + label_replace( + label_replace( + kube_pod_owner{job="kube-state-metrics", owner_kind="ReplicaSet"} + , "replicaset", "$1", "owner_name", "(.+)" + ) + * on(cluster, namespace, replicaset) group_left(owner_kind, owner_name) + group by (cluster, namespace, replicaset, owner_kind, owner_name) ( + kube_replicaset_owner{job="kube-state-metrics", owner_kind!="Deployment", owner_kind!=""} + ) + , "workload", "$1", "owner_name", "(.+)") + OR + label_replace( + group by (cluster, namespace, pod, owner_name, owner_kind) ( + kube_pod_owner{job="kube-state-metrics", owner_kind!="ReplicaSet", owner_kind!="DaemonSet", owner_kind!="StatefulSet", owner_kind!="Job", owner_kind!="Node", owner_kind!=""} + ) + , "workload", "$1", "owner_name", "(.+)" + ) + , "workload_type", "$1", "owner_kind", "(.+)") + ) record: namespace_workload_pod:kube_pod_owner:relabel - name: kube-scheduler.rules rules: @@ -865,15 +902,33 @@ spec: record: cluster:node_cpu:ratio_rate5m - name: kubelet.rules rules: - - expr: "histogram_quantile(\n 0.99, \n sum(rate(kubelet_pleg_relist_duration_seconds_bucket{job=\"kubelet\", metrics_path=\"/metrics\"}[5m])) by (cluster, instance, le) \n * on(cluster, instance) group_left (node) \n max by (cluster, instance, node) (kubelet_node_name{job=\"kubelet\", metrics_path=\"/metrics\"})\n)\n" + - expr: | + histogram_quantile( + 0.99, + sum(rate(kubelet_pleg_relist_duration_seconds_bucket{job="kubelet", metrics_path="/metrics"}[5m])) by (cluster, instance, le) + * on(cluster, instance) group_left (node) + max by (cluster, instance, node) (kubelet_node_name{job="kubelet", metrics_path="/metrics"}) + ) labels: quantile: "0.99" record: node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile - - expr: "histogram_quantile(\n 0.9, \n sum(rate(kubelet_pleg_relist_duration_seconds_bucket{job=\"kubelet\", metrics_path=\"/metrics\"}[5m])) by (cluster, instance, le) \n * on(cluster, instance) group_left (node) \n max by (cluster, instance, node) (kubelet_node_name{job=\"kubelet\", metrics_path=\"/metrics\"})\n)\n" + - expr: | + histogram_quantile( + 0.9, + sum(rate(kubelet_pleg_relist_duration_seconds_bucket{job="kubelet", metrics_path="/metrics"}[5m])) by (cluster, instance, le) + * on(cluster, instance) group_left (node) + max by (cluster, instance, node) (kubelet_node_name{job="kubelet", metrics_path="/metrics"}) + ) labels: quantile: "0.9" record: node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile - - expr: "histogram_quantile(\n 0.5, \n sum(rate(kubelet_pleg_relist_duration_seconds_bucket{job=\"kubelet\", metrics_path=\"/metrics\"}[5m])) by (cluster, instance, le) \n * on(cluster, instance) group_left (node) \n max by (cluster, instance, node) (kubelet_node_name{job=\"kubelet\", metrics_path=\"/metrics\"})\n)\n" + - expr: | + histogram_quantile( + 0.5, + sum(rate(kubelet_pleg_relist_duration_seconds_bucket{job="kubelet", metrics_path="/metrics"}[5m])) by (cluster, instance, le) + * on(cluster, instance) group_left (node) + max by (cluster, instance, node) (kubelet_node_name{job="kubelet", metrics_path="/metrics"}) + ) labels: quantile: "0.5" record: node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/ISSUE_TEMPLATE/bugs.yaml b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/ISSUE_TEMPLATE/bugs.yaml index deb9be57..a54a1a5d 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/ISSUE_TEMPLATE/bugs.yaml +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/ISSUE_TEMPLATE/bugs.yaml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Please use this template while reporting a bug and provide as much information as possible. If the matter is security related, please disclose it privately, see the project [security policy](https://github.com/kubernetes-monitoring/kubernetes-mixin/blob/main/SECURITY.md). + Please use this template while reporting a bug and provide as much information as possible. If the matter is security related, please disclose it privately, see the project [security policy](https://github.com/kubernetes-monitoring/kubernetes-mixin/blob/master/SECURITY.md). - type: textarea id: cause attributes: diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/ci.yaml b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/ci.yaml index 4cb83119..e5f5fd03 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/ci.yaml +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/ci.yaml @@ -3,7 +3,7 @@ permissions: {} on: push: branches: - - main + - master pull_request: jobs: matrix: diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/release.yaml b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/release.yaml index fb0bc8da..0812e145 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/release.yaml +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.github/workflows/release.yaml @@ -15,7 +15,7 @@ jobs: steps: - name: Create release on kubernetes-mixin uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2 - env: + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref_name }} diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.lint b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.lint index 8bc3f37f..e39673e5 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.lint +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/.lint @@ -1,9 +1,9 @@ exclusions: - template-job-rule: - template-instance-rule: - target-job-rule: - target-instance-rule: - panel-title-description-rule: - panel-units-rule: - panel-datasource-rule: - reason: The new Grafonnet promotes the use of datasources at the query level. This should probably end up in the linter as a valid option. + template-job-rule: + template-instance-rule: + target-job-rule: + target-instance-rule: + panel-title-description-rule: + panel-units-rule: + panel-datasource-rule: + reason: The new Grafonnet promotes the use of datasources at the query level. This should probably end up in the linter as a valid option. diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/DESIGN.md b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/DESIGN.md index 563582e0..bd843932 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/DESIGN.md +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/DESIGN.md @@ -39,36 +39,36 @@ Mixins should not however be opinionated about how this configuration should be Jsonnet offers the ability to parameterise configuration, allowing for basic customisation. Furthermore, in Jsonnet one can reference another part of the data structure, reducing repetition. For example, with jsonnet one can specify a default job name, and then have all the alerts use that: ``` -{ - _config+:: { - kubeStateMetricsSelector: ‘job=”default/kube-state-metrics"', - - allowedNotReadyPods: 0, - }, - - groups+: [ - { - name: "kubernetes", - rules: [ - { - alert: "KubePodNotReady", - expr: ||| - sum by (namespace, pod) ( - kube_pod_status_phase{%(kubeStateMetricsSelector)s, phase!~"Running|Succeeded"} - ) > $(allowedNotReadyPods)s - ||| % $._config, - "for": "1h", - labels: { - severity: "critical", - }, - annotations: { - message: "{{ $labels.namespace }}/{{ $labels.pod }} is not ready.", - }, - }, - ], - }, - ], -} +{ + _config+:: { + kubeStateMetricsSelector: ‘job=”default/kube-state-metrics"', + + allowedNotReadyPods: 0, + }, + + groups+: [ + { + name: "kubernetes", + rules: [ + { + alert: "KubePodNotReady", + expr: ||| + sum by (namespace, pod) ( + kube_pod_status_phase{%(kubeStateMetricsSelector)s, phase!~"Running|Succeeded"} + ) > $(allowedNotReadyPods)s + ||| % $._config, + "for": "1h", + labels: { + severity: "critical", + }, + annotations: { + message: "{{ $labels.namespace }}/{{ $labels.pod }} is not ready.", + }, + }, + ], + }, + ], +} ``` **Configuration.* We'd like to suggest some standardisation of how configuration is supplied to mixins. A top level `_config` dictionary should be provided, containing various parameters for substitution into alerts and dashboards. In the above example, this is used to specify the selector for the kube-state-metrics pod, and the threshold for the alert. @@ -76,38 +76,38 @@ Jsonnet offers the ability to parameterise configuration, allowing for basic cus **Extension.** One of jsonnet's basic operations is to "merge” data structures - this also allows you to extend existing configurations. For example, given an existing dashboard: ``` -local g = import "klumps/lib/grafana.libsonnet"; - -{ - dashboards+:: { - "foo.json": g.dashboard("Foo") - .addRow( - g.row("Foo") - .addPanel( - g.panel("Bar") + - g.queryPanel('irate(foor_bar_total[1m])', 'Foo Bar') - ) - ) - }, -} +local g = import "klumps/lib/grafana.libsonnet"; + +{ + dashboards+:: { + "foo.json": g.dashboard("Foo") + .addRow( + g.row("Foo") + .addPanel( + g.panel("Bar") + + g.queryPanel('irate(foor_bar_total[1m])', 'Foo Bar') + ) + ) + }, +} ``` It is relatively easy to import it and add extra rows: ``` -local g = import "foo.libsonnet"; - -{ - dashboards+:: { - "foo.json"+: - super.addRow( - g.row("A new row") - .addPanel( - g.panel("A new panel") + - g.queryPanel('irate(new_total[1m])', 'New') - ) - ) - }, +local g = import "foo.libsonnet"; + +{ + dashboards+:: { + "foo.json"+: + super.addRow( + g.row("A new row") + .addPanel( + g.panel("A new panel") + + g.queryPanel('irate(new_total[1m])', 'New') + ) + ) + }, } ``` @@ -116,37 +116,37 @@ These abilities offered by jsonnet are key to being able to separate out "upstre **Higher Order Abstractions.** jsonnet is a functional programming language, and as such allows you to build higher order abstractions over your configuration. For example, you can build functions to generate recording rules for a set of percentiles and labels aggregations, given a histogram: ``` -local histogramRules(metric, labels) = - local vars = { - metric: metric, - labels_underscore: std.join("_", labels), - labels_comma: std.join(", ", labels), - }; - [ - { - record: "%(labels_underscore)s:%(metric)s:99quantile" % vars, - expr: "histogram_quantile(0.99, sum(rate(%(metric)s_bucket[5m])) by (le, -%(labels_comma)s))" % vars, - }, - { - record: "%(labels_underscore)s:%(metric)s:50quantile" % vars, - expr: "histogram_quantile(0.50, sum(rate(%(metric)s_bucket[5m])) by (le, -%(labels_comma)s))" % vars, - }, - { - record: "%(labels_underscore)s:%(metric)s:avg" % vars, - expr: "sum(rate(%(metric)s_sum[5m])) by (%(labels_comma)s) / -sum(rate(%(metric)s_count[5m])) by (%(labels_comma)s)" % vars, - }, - ]; - -{ - groups+: [{ - name: "frontend_rules", - rules: - histogramRules("frontend_request_duration_seconds", ["job"]) + - histogramRules("frontend_request_duration_seconds", ["job", "route"]), - }], +local histogramRules(metric, labels) = + local vars = { + metric: metric, + labels_underscore: std.join("_", labels), + labels_comma: std.join(", ", labels), + }; + [ + { + record: "%(labels_underscore)s:%(metric)s:99quantile" % vars, + expr: "histogram_quantile(0.99, sum(rate(%(metric)s_bucket[5m])) by (le, +%(labels_comma)s))" % vars, + }, + { + record: "%(labels_underscore)s:%(metric)s:50quantile" % vars, + expr: "histogram_quantile(0.50, sum(rate(%(metric)s_bucket[5m])) by (le, +%(labels_comma)s))" % vars, + }, + { + record: "%(labels_underscore)s:%(metric)s:avg" % vars, + expr: "sum(rate(%(metric)s_sum[5m])) by (%(labels_comma)s) / +sum(rate(%(metric)s_count[5m])) by (%(labels_comma)s)" % vars, + }, + ]; + +{ + groups+: [{ + name: "frontend_rules", + rules: + histogramRules("frontend_request_duration_seconds", ["job"]) + + histogramRules("frontend_request_duration_seconds", ["job", "route"]), + }], } ``` @@ -157,19 +157,19 @@ Other potential examples include functions to generate alerts at different thres **Package Management.** The current proof of concepts for mixins (see below) use the new package manager [jsonnet-bundler](#Notes) enabling the following workflow: ``` -$ jb install kausal github.com/kausalco/public/consul-mixin +$ jb install kausal github.com/kausalco/public/consul-mixin ``` This downloads a copy of the mixin into `vendor/consul-mixin` and allows users to include the mixin in their ksonnet config like so: ``` -local prometheus = import "prometheus-ksonnet/prometheus-ksonnet.libsonnet"; -local consul_mixin = import "consul-mixin/mixin.libsonnet"; - -prometheus + consul_mixin { - _config+:: { - namespace: "default", - }, +local prometheus = import "prometheus-ksonnet/prometheus-ksonnet.libsonnet"; +local consul_mixin = import "consul-mixin/mixin.libsonnet"; + +prometheus + consul_mixin { + _config+:: { + namespace: "default", + }, } ``` @@ -186,13 +186,13 @@ However, we think this is a wider problem than just monitoring mixins, and are e Each of these values will be expressed as jsonnet objects - not strings. It is the responsibility of the tool consuming the mixin to render these out as JSON or YAML. Jsonnet scripts to do this for you will be provided. ``` -{ - grafanaDashboards+:: { - "dashboard-name.json”: {...}, - }, - prometheusAlerts+:: [...], - prometheusRules+:: [...], -} +{ + grafanaDashboards+:: { + "dashboard-name.json”: {...}, + }, + prometheusAlerts+:: [...], + prometheusRules+:: [...], +} ``` **Consuming a mixin.** diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/apps_alerts.libsonnet b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/apps_alerts.libsonnet index 5d2d8f37..d6c7b314 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/apps_alerts.libsonnet +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/apps_alerts.libsonnet @@ -197,19 +197,19 @@ local utils = import '../lib/utils.libsonnet'; ( ( kube_daemonset_status_current_number_scheduled{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} - != + != kube_daemonset_status_desired_number_scheduled{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} ) or ( kube_daemonset_status_number_misscheduled{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} - != + != 0 ) or ( kube_daemonset_status_updated_number_scheduled{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} - != + != kube_daemonset_status_desired_number_scheduled{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} ) or ( kube_daemonset_status_number_available{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} - != + != kube_daemonset_status_desired_number_scheduled{%(prefixedNamespaceSelector)s%(kubeStateMetricsSelector)s} ) ) and ( diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/resource_alerts.libsonnet b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/resource_alerts.libsonnet index 006e5929..ad662f07 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/resource_alerts.libsonnet +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/alerts/resource_alerts.libsonnet @@ -36,18 +36,34 @@ local utils = import '../lib/utils.libsonnet'; } + if $._config.showMultiCluster then { expr: ||| - sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - (sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) - max(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s)) > 0 + (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - + sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) > 0 and - (sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) - max(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s)) > 0 + count by (%(clusterLabel)s) (max by (%(clusterLabel)s, node) (kube_node_role{%(kubeStateMetricsSelector)s, role="control-plane"})) < 3) + or + (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - + (sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) - + max(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s)) > 0 + and + (sum(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s) - + max(kube_node_status_allocatable{%(kubeStateMetricsSelector)s,resource="cpu"}) by (%(clusterLabel)s)) > 0) ||| % $._config, annotations+: { description: 'Cluster {{ $labels.%(clusterLabel)s }} has overcommitted CPU resource requests for Pods by {{ printf "%%.2f" $value }} CPU shares and cannot tolerate node failure.' % $._config, }, } else { expr: ||| - sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - (sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) - max(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s})) > 0 + (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - + sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) > 0 + and + count(max by (node) (kube_node_role{%(kubeStateMetricsSelector)s, role="control-plane"})) < 3) + or + (sum(namespace_cpu:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - + (sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) - + max(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s})) > 0 and - (sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) - max(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s})) > 0 + (sum(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s}) - + max(kube_node_status_allocatable{resource="cpu", %(kubeStateMetricsSelector)s})) > 0) ||| % $._config, annotations+: { description: 'Cluster has overcommitted CPU resource requests for Pods by {{ $value }} CPU shares and cannot tolerate node failure.' % $._config, @@ -65,24 +81,39 @@ local utils = import '../lib/utils.libsonnet'; } + if $._config.showMultiCluster then { expr: ||| - sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) - max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s)) > 0 + (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - + sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) > 0 and - (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) - max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s)) > 0 + count by (%(clusterLabel)s) (max by (%(clusterLabel)s, node) (kube_node_role{%(kubeStateMetricsSelector)s, role="control-plane"})) < 3) + or + (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) by (%(clusterLabel)s) - + (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) - + max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s)) > 0 + and + (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s) - + max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) by (%(clusterLabel)s)) > 0) ||| % $._config, annotations+: { description: 'Cluster {{ $labels.%(clusterLabel)s }} has overcommitted memory resource requests for Pods by {{ $value | humanize }} bytes and cannot tolerate node failure.' % $._config, }, - } else - { - expr: ||| - sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) - max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s})) > 0 - and - (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) - max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s})) > 0 - ||| % $._config, - annotations+: { - description: 'Cluster has overcommitted memory resource requests for Pods by {{ $value | humanize }} bytes and cannot tolerate node failure.', - }, + } else { + expr: ||| + (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - + sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) > 0 + and + count(max by (node) (kube_node_role{%(kubeStateMetricsSelector)s, role="control-plane"})) < 3) + or + (sum(namespace_memory:kube_pod_container_resource_requests:sum{%(ignoringOverprovisionedWorkloadSelector)s}) - + (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) - + max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s})) > 0 + and + (sum(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s}) - + max(kube_node_status_allocatable{resource="memory", %(kubeStateMetricsSelector)s})) > 0) + ||| % $._config, + annotations+: { + description: 'Cluster has overcommitted memory resource requests for Pods by {{ $value | humanize }} bytes and cannot tolerate node failure.', }, + }, { alert: 'KubeCPUQuotaOvercommit', labels: { diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/config.libsonnet b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/config.libsonnet index 4b2615ed..2fe5de17 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/config.libsonnet +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/config.libsonnet @@ -119,5 +119,8 @@ // Default timeout value for k8s Jobs. The jobs which are active beyond this duration would trigger KubeJobNotCompleted alert. kubeJobTimeoutDuration: 12 * 60 * 60, + + // Controls workload_type label value format: false = lowercase, true = PascalCase + usePascalCaseForWorkloadTypeLabelValues: false, }, } diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/apps.libsonnet b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/apps.libsonnet index 44583817..d333702d 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/apps.libsonnet +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/apps.libsonnet @@ -182,8 +182,8 @@ expr: ||| kube_pod_container_resource_limits{resource="cpu",%(kubeStateMetricsSelector)s} * on (namespace, pod, %(clusterLabel)s) group_left() max by (namespace, pod, %(clusterLabel)s) ( - (kube_pod_status_phase{phase=~"Pending|Running"} == 1) - ) + (kube_pod_status_phase{phase=~"Pending|Running"} == 1) + ) ||| % $._config, }, { @@ -224,7 +224,7 @@ ) ||| % $._config, labels: { - workload_type: 'replicaset', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'ReplicaSet' else 'replicaset', }, }, // workload aggregation for deployments @@ -246,7 +246,7 @@ ) ||| % $._config, labels: { - workload_type: 'deployment', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'Deployment' else 'deployment', }, }, // workload aggregation for daemonsets @@ -261,7 +261,7 @@ ) ||| % $._config, labels: { - workload_type: 'daemonset', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'DaemonSet' else 'daemonset', }, }, // workload aggregation for statefulsets @@ -275,7 +275,7 @@ ) ||| % $._config, labels: { - workload_type: 'statefulset', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'StatefulSet' else 'statefulset', }, }, // backwards compatibility for jobs @@ -297,7 +297,7 @@ ) ||| % $._config, labels: { - workload_type: 'job', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'Job' else 'job', }, }, // workload aggregation for barepods @@ -311,7 +311,7 @@ ) ||| % $._config, labels: { - workload_type: 'barepod', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'BarePod' else 'barepod', }, }, // workload aggregation for staticpods @@ -325,7 +325,7 @@ ) ||| % $._config, labels: { - workload_type: 'staticpod', + workload_type: if $._config.usePascalCaseForWorkloadTypeLabelValues then 'StaticPod' else 'staticpod', }, }, // workload aggregation for non-standard types (jobs, replicasets) @@ -346,7 +346,7 @@ ) , "workload", "", "owner_name") , "workload_type", "", "owner_kind") - + OR label_replace( diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/kubelet.libsonnet b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/kubelet.libsonnet index a13a1de1..a3ebeb36 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/kubelet.libsonnet +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/kubelet.libsonnet @@ -12,9 +12,9 @@ record: 'node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile', expr: ||| histogram_quantile( - %(quantile)s, - sum(rate(kubelet_pleg_relist_duration_seconds_bucket{%(kubeletSelector)s}[5m])) by (%(clusterLabel)s, instance, le) - * on(%(clusterLabel)s, instance) group_left (node) + %(quantile)s, + sum(rate(kubelet_pleg_relist_duration_seconds_bucket{%(kubeletSelector)s}[5m])) by (%(clusterLabel)s, instance, le) + * on(%(clusterLabel)s, instance) group_left (node) max by (%(clusterLabel)s, instance, node) (kubelet_node_name{%(kubeletSelector)s}) ) ||| % ({ quantile: quantile } + $._config), diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/windows.libsonnet b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/windows.libsonnet index c46f0304..f4bc1215 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/windows.libsonnet +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/rules/windows.libsonnet @@ -122,7 +122,7 @@ expr: ||| avg by (%(clusterLabel)s, instance) ( (irate(windows_logical_disk_read_seconds_total{%(windowsExporterSelector)s}[1m]) + - irate(windows_logical_disk_write_seconds_total{%(windowsExporterSelector)s}[1m])) + irate(windows_logical_disk_write_seconds_total{%(windowsExporterSelector)s}[1m])) ) ||| % $._config, }, @@ -130,9 +130,10 @@ record: 'node:windows_node_filesystem_usage:', expr: ||| max by (%(clusterLabel)s,instance,volume)( - (windows_logical_disk_size_bytes{%(windowsExporterSelector)s} - - windows_logical_disk_free_bytes{%(windowsExporterSelector)s}) - / windows_logical_disk_size_bytes{%(windowsExporterSelector)s} + (windows_logical_disk_size_bytes{%(windowsExporterSelector)s} - + windows_logical_disk_free_bytes{%(windowsExporterSelector)s}) + / + windows_logical_disk_size_bytes{%(windowsExporterSelector)s} ) ||| % $._config, }, diff --git a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/tests/tests.yaml b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/tests/tests.yaml index c9d4b3b5..5e600b65 100644 --- a/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/tests/tests.yaml +++ b/vendor/github.com/kubernetes-monitoring/kubernetes-mixin/tests/tests.yaml @@ -1424,3 +1424,170 @@ tests: runbook_url: "https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetreplicasmismatch" summary: "StatefulSet has not matched the expected number of replicas." +- name: KubeCPUOvercommit alert (single-node) + interval: 1m + input_series: + - series: 'namespace_cpu:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="default"}' + values: '1x10' + - series: 'namespace_cpu:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="kube-system"}' + values: '1x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n1", resource="cpu", job="kube-state-metrics"}' + values: '1.9x10' # This value was seen on a 2x vCPU node + - series: 'kube_node_role{cluster="kubernetes", node="n1", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + alert_rule_test: + - eval_time: 9m + alertname: KubeCPUOvercommit + - eval_time: 10m + alertname: KubeCPUOvercommit + exp_alerts: + - exp_labels: + severity: warning + exp_annotations: + description: Cluster has overcommitted CPU resource requests for Pods by 0.10000000000000009 CPU shares and cannot tolerate node failure. + runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit + summary: Cluster has overcommitted CPU resource requests. + +- name: KubeCPUOvercommit alert (multi-node; non-HA) + interval: 1m + input_series: + - series: 'namespace_cpu:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="default"}' + values: '2x10' + - series: 'namespace_cpu:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="kube-system"}' + values: '2x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n1", resource="cpu", job="kube-state-metrics"}' + values: '1.9x10' # This value was seen on a 2x vCPU node + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n2", resource="cpu", job="kube-state-metrics"}' + values: '1.9x10' + - series: 'kube_node_role{cluster="kubernetes", node="n1", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + - series: 'kube_node_role{cluster="kubernetes", node="n2", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + alert_rule_test: + - eval_time: 9m + alertname: KubeCPUOvercommit + - eval_time: 10m + alertname: KubeCPUOvercommit + exp_alerts: + - exp_labels: + severity: warning + exp_annotations: + description: Cluster has overcommitted CPU resource requests for Pods by 0.20000000000000018 CPU shares and cannot tolerate node failure. + runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit + summary: Cluster has overcommitted CPU resource requests. + +- name: KubeCPUOvercommit alert (multi-node; HA) + interval: 1m + input_series: + - series: 'namespace_cpu:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="default"}' + values: '2x10' + - series: 'namespace_cpu:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="kube-system"}' + values: '2x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n1", resource="cpu", job="kube-state-metrics"}' + values: '1.9x10' # This value was seen on a 2x vCPU node + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n2", resource="cpu", job="kube-state-metrics"}' + values: '1.9x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n3", resource="cpu", job="kube-state-metrics"}' + values: '1.9x10' + - series: 'kube_node_role{cluster="kubernetes", node="n1", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + - series: 'kube_node_role{cluster="kubernetes", node="n2", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + - series: 'kube_node_role{cluster="kubernetes", node="n3", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + alert_rule_test: + - eval_time: 9m + alertname: KubeCPUOvercommit + - eval_time: 10m + alertname: KubeCPUOvercommit + exp_alerts: + - exp_labels: + severity: warning + exp_annotations: + description: Cluster has overcommitted CPU resource requests for Pods by 0.20000000000000062 CPU shares and cannot tolerate node failure. + runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit + summary: Cluster has overcommitted CPU resource requests. + +- name: KubeMemoryOvercommit alert (single-node) + interval: 1m + input_series: + - series: 'namespace_memory:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="default"}' + values: '1000000000x10' # 1 GB + - series: 'namespace_memory:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="kube-system"}' + values: '1000000000x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n1", resource="memory", job="kube-state-metrics"}' + values: '1000000000x10' + - series: 'kube_node_role{cluster="kubernetes", node="n1", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + alert_rule_test: + - eval_time: 9m + alertname: KubeMemoryOvercommit + - eval_time: 10m + alertname: KubeMemoryOvercommit + exp_alerts: + - exp_labels: + severity: warning + exp_annotations: + description: Cluster has overcommitted memory resource requests for Pods by 1G bytes and cannot tolerate node failure. + runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememoryovercommit + summary: Cluster has overcommitted memory resource requests. + +- name: KubeMemoryOvercommit alert (multi-node; non-HA) + interval: 1m + input_series: + - series: 'namespace_memory:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="default"}' + values: '2000000000x10' # 2 GB + - series: 'namespace_memory:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="kube-system"}' + values: '2000000000x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n1", resource="memory", job="kube-state-metrics"}' + values: '1000000000x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n2", resource="memory", job="kube-state-metrics"}' + values: '1000000000x10' + - series: 'kube_node_role{cluster="kubernetes", node="n1", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + - series: 'kube_node_role{cluster="kubernetes", node="n2", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + alert_rule_test: + - eval_time: 9m + alertname: KubeMemoryOvercommit + - eval_time: 10m + alertname: KubeMemoryOvercommit + exp_alerts: + - exp_labels: + severity: warning + exp_annotations: + description: Cluster has overcommitted memory resource requests for Pods by 2G bytes and cannot tolerate node failure. + runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememoryovercommit + summary: Cluster has overcommitted memory resource requests. + +- name: KubeMemoryOvercommit alert (multi-node; HA) + interval: 1m + input_series: + - series: 'namespace_memory:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="default"}' + values: '2000000000x10' # 2 GB + - series: 'namespace_memory:kube_pod_container_resource_requests:sum{cluster="kubernetes", namespace="kube-system"}' + values: '2000000000x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n1", resource="memory", job="kube-state-metrics"}' + values: '1000000000x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n2", resource="memory", job="kube-state-metrics"}' + values: '1000000000x10' + - series: 'kube_node_status_allocatable{cluster="kubernetes", node="n3", resource="memory", job="kube-state-metrics"}' + values: '1000000000x10' + - series: 'kube_node_role{cluster="kubernetes", node="n1", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + - series: 'kube_node_role{cluster="kubernetes", node="n2", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + - series: 'kube_node_role{cluster="kubernetes", node="n3", role="control-plane", job="kube-state-metrics"}' + values: '1x10' + alert_rule_test: + - eval_time: 9m + alertname: KubeMemoryOvercommit + - eval_time: 10m + alertname: KubeMemoryOvercommit + exp_alerts: + - exp_labels: + severity: warning + exp_annotations: + description: Cluster has overcommitted memory resource requests for Pods by 2G bytes and cannot tolerate node failure. + runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememoryovercommit + summary: Cluster has overcommitted memory resource requests. diff --git a/vendor/github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/versions.json b/vendor/github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/versions.json index 353ca60c..b3fa472a 100644 --- a/vendor/github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/versions.json +++ b/vendor/github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/versions.json @@ -1,12 +1,12 @@ { "alertmanager": "0.28.1", - "blackboxExporter": "0.26.0", - "grafana": "12.0.1", - "kubeStateMetrics": "2.15.0", + "blackboxExporter": "0.27.0", + "grafana": "12.0.2", + "kubeStateMetrics": "2.16.0", "nodeExporter": "1.9.1", - "prometheus": "3.4.0", + "prometheus": "3.5.0", "prometheusAdapter": "0.12.0", - "prometheusOperator": "0.83.0", + "prometheusOperator": "0.84.0", "kubeRbacProxy": "0.19.1", "configmapReload": "0.15.0", "pyrra": "0.8.4" diff --git a/vendor/github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/alertmanagers-crd.json b/vendor/github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/alertmanagers-crd.json index 5e105bc5..d1007049 100644 --- a/vendor/github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/alertmanagers-crd.json +++ b/vendor/github.com/prometheus-operator/prometheus-operator/jsonnet/prometheus-operator/alertmanagers-crd.json @@ -5294,7 +5294,7 @@ "type": "object" }, "paused": { - "description": "If set to true all actions on the underlying managed objects are not\ngoint to be performed, except for delete actions.", + "description": "If set to true all actions on the underlying managed objects are not\ngoing to be performed, except for delete actions.", "type": "boolean" }, "persistentVolumeClaimRetentionPolicy": {