From 74f975ed0adc743a83787b82f4a9affd49680ec8 Mon Sep 17 00:00:00 2001 From: DrummyFloyd Date: Sun, 24 Aug 2025 22:39:25 +0200 Subject: [PATCH 1/3] fix(prometheus): missing reLalel crunchy containers --- prometheus/containers/crunchy-prometheus.yml.containers | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prometheus/containers/crunchy-prometheus.yml.containers b/prometheus/containers/crunchy-prometheus.yml.containers index 89a627bb..633b001f 100644 --- a/prometheus/containers/crunchy-prometheus.yml.containers +++ b/prometheus/containers/crunchy-prometheus.yml.containers @@ -41,6 +41,9 @@ scrape_configs: # Convert postgres-operator.crunchydata.com/role to role - source_labels: [__meta_kubernetes_pod_label_postgres_operator_crunchydata_com_role] target_label: role + # Concert cluster name to cluster_name + - sourceLabels: [ __meta_kubernetes_pod_label_postgres_operator_crunchydata_com_cluster ] + targetLabel: cluster_name - job_name: 'crunchy-postgres-exporter-v4' kubernetes_sd_configs: From e0e4a4559f6ad803f753d4b052aece9c4d32a094 Mon Sep 17 00:00:00 2001 From: DrummyFloyd Date: Sun, 24 Aug 2025 22:40:16 +0200 Subject: [PATCH 2/3] fix(grafana): use __inputs not harcoded Datasource --- grafana/containers/pgbackrest.json | 12 +++--- grafana/containers/pgbouncer_direct.json | 16 +++---- grafana/containers/pod_details.json | 24 +++++------ grafana/containers/postgresql_details.json | 42 +++++++++---------- grafana/containers/postgresql_overview.json | 4 +- .../containers/postgresql_service_health.json | 12 +++--- grafana/containers/prometheus_alerts.json | 22 +++++----- grafana/containers/query_statistics.json | 28 ++++++------- 8 files changed, 80 insertions(+), 80 deletions(-) diff --git a/grafana/containers/pgbackrest.json b/grafana/containers/pgbackrest.json index d50f5c31..981a4434 100644 --- a/grafana/containers/pgbackrest.json +++ b/grafana/containers/pgbackrest.json @@ -68,7 +68,7 @@ ], "panels": [ { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -139,7 +139,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -267,7 +267,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -390,7 +390,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -517,7 +517,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -637,7 +637,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(pg_cluster)", "description": null, "error": null, diff --git a/grafana/containers/pgbouncer_direct.json b/grafana/containers/pgbouncer_direct.json index a70694f5..d8773341 100644 --- a/grafana/containers/pgbouncer_direct.json +++ b/grafana/containers/pgbouncer_direct.json @@ -61,7 +61,7 @@ ], "panels": [ { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -209,7 +209,7 @@ "type": "timeseries" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -305,7 +305,7 @@ "type": "timeseries" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -403,7 +403,7 @@ "type": "timeseries" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -500,7 +500,7 @@ "type": "timeseries" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -606,7 +606,7 @@ "list": [ { "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(up{exp_type='pgbouncer'},cluster_name)", "hide": 0, "includeAll": false, @@ -630,7 +630,7 @@ }, { "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(up{exp_type='pgbouncer'},pod)", "hide": 0, "includeAll": true, @@ -662,7 +662,7 @@ "$__all" ] }, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(ccp_pgbouncer_databases_pool_size{cluster_name=\"[[cluster_name]]\", pod=\"[[pgbnode]]\"},name)", "hide": 0, "includeAll": true, diff --git a/grafana/containers/pod_details.json b/grafana/containers/pod_details.json index dd704806..508da042 100644 --- a/grafana/containers/pod_details.json +++ b/grafana/containers/pod_details.json @@ -60,7 +60,7 @@ ], "panels": [ { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -112,7 +112,7 @@ "pluginVersion": "9.2.20", "targets": [ { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "editorMode": "code", "exemplar": false, "expr": "ccp_is_in_recovery_status{pod=\"[[pod]]\", pg_cluster=\"[[cluster]]\"}", @@ -136,7 +136,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": {}, @@ -261,7 +261,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": {}, @@ -390,7 +390,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -523,7 +523,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -635,7 +635,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -742,7 +742,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -858,7 +858,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1029,7 +1029,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1168,7 +1168,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(pg_cluster)", "description": null, "error": null, @@ -1195,7 +1195,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values({pg_cluster=\"[[cluster]]\", exp_type!=\"pgbouncer\"},pod)", "description": null, "error": null, diff --git a/grafana/containers/postgresql_details.json b/grafana/containers/postgresql_details.json index b54f304a..776ab80a 100644 --- a/grafana/containers/postgresql_details.json +++ b/grafana/containers/postgresql_details.json @@ -75,7 +75,7 @@ "panels": [ { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -166,7 +166,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -248,7 +248,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -327,7 +327,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -407,7 +407,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -488,7 +488,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -569,7 +569,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -654,7 +654,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -769,7 +769,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -888,7 +888,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -999,7 +999,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -1124,7 +1124,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1268,7 +1268,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1370,7 +1370,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1522,7 +1522,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -1644,7 +1644,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1783,7 +1783,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -1930,7 +1930,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -2042,7 +2042,7 @@ "allFormat": "glob", "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "", "description": null, "error": null, @@ -2070,7 +2070,7 @@ "allFormat": "glob", "allValue": ".*", "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values({pg_cluster=\"[[cluster]]\", exp_type!=\"pgbouncer\"},pod)", "description": null, "error": null, @@ -2098,7 +2098,7 @@ "allFormat": "glob", "allValue": ".*", "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values({pg_cluster=\"[[cluster]]\",pod=~\"[[pod]]\"},dbname)", "description": null, "error": null, diff --git a/grafana/containers/postgresql_overview.json b/grafana/containers/postgresql_overview.json index f9bf2e94..c03851f9 100644 --- a/grafana/containers/postgresql_overview.json +++ b/grafana/containers/postgresql_overview.json @@ -51,7 +51,7 @@ "panels": [ { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -187,7 +187,7 @@ "allFormat": "glob", "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(pg_cluster)", "description": null, "error": null, diff --git a/grafana/containers/postgresql_service_health.json b/grafana/containers/postgresql_service_health.json index de4f7fa1..b7b41a6c 100644 --- a/grafana/containers/postgresql_service_health.json +++ b/grafana/containers/postgresql_service_health.json @@ -66,7 +66,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -179,7 +179,7 @@ "cacheTimeout": null, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -299,7 +299,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "Errors", "fieldConfig": { "defaults": { @@ -440,7 +440,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -572,7 +572,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(pg_cluster)", "description": null, "error": null, @@ -599,7 +599,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values({pg_cluster=\"[[cluster]]\", exp_type!=\"pgbouncer\"},role)", "description": null, "error": null, diff --git a/grafana/containers/prometheus_alerts.json b/grafana/containers/prometheus_alerts.json index e0090cf8..3b7cd569 100644 --- a/grafana/containers/prometheus_alerts.json +++ b/grafana/containers/prometheus_alerts.json @@ -65,7 +65,7 @@ "panels": [ { "collapsed": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 1, "w": 24, @@ -80,7 +80,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -150,7 +150,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -222,7 +222,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { @@ -294,7 +294,7 @@ }, { "collapsed": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 1, "w": 24, @@ -309,7 +309,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -406,7 +406,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -475,7 +475,7 @@ }, { "cacheTimeout": null, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -545,7 +545,7 @@ }, { "collapsed": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 1, "w": 24, @@ -559,7 +559,7 @@ "type": "row" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { @@ -753,7 +753,7 @@ "type": "table" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "color": { diff --git a/grafana/containers/query_statistics.json b/grafana/containers/query_statistics.json index 72f67122..bc5e60f0 100644 --- a/grafana/containers/query_statistics.json +++ b/grafana/containers/query_statistics.json @@ -71,7 +71,7 @@ ], "panels": [ { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -125,7 +125,7 @@ "type": "stat" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -180,7 +180,7 @@ "type": "stat" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -237,7 +237,7 @@ "type": "stat" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, @@ -298,7 +298,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} @@ -393,7 +393,7 @@ } }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { @@ -569,7 +569,7 @@ "type": "table" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { @@ -745,7 +745,7 @@ "type": "table" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { @@ -919,7 +919,7 @@ "type": "table" }, { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { @@ -987,7 +987,7 @@ "pluginVersion": "8.5.15", "targets": [ { - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "expr": "ccp_pg_stat_statements_top_wal_bytes{pg_cluster=\"[[cluster]]\", dbname=~\"[[dbname]]\", role=\"[[role]]\"}", "format": "table", "instant": true, @@ -1040,7 +1040,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(pg_cluster)", "description": null, "error": null, @@ -1067,7 +1067,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values({pg_cluster=\"[[cluster]]\", exp_type!=\"pgbouncer\"},role)", "description": null, "error": null, @@ -1094,7 +1094,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(ccp_database_size_bytes{pg_cluster=\"[[cluster]]\"},dbname)", "description": null, "error": null, @@ -1121,7 +1121,7 @@ { "allValue": null, "current": {}, - "datasource": "PROMETHEUS", + "datasource": "${DS_PROMETHEUS}", "definition": "label_values(ccp_pg_stat_statements_total_calls_count{pg_cluster=\"[[cluster]]\", dbname=~\"[[dbname]]\"},exported_role)", "description": null, "error": null, From af1a30878f77b052d733a02843a739393a03b6a1 Mon Sep 17 00:00:00 2001 From: DrummyFloyd Date: Fri, 29 Aug 2025 01:08:30 +0200 Subject: [PATCH 3/3] chore: fix typo --- prometheus/containers/crunchy-prometheus.yml.containers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus/containers/crunchy-prometheus.yml.containers b/prometheus/containers/crunchy-prometheus.yml.containers index 633b001f..76f47406 100644 --- a/prometheus/containers/crunchy-prometheus.yml.containers +++ b/prometheus/containers/crunchy-prometheus.yml.containers @@ -41,7 +41,7 @@ scrape_configs: # Convert postgres-operator.crunchydata.com/role to role - source_labels: [__meta_kubernetes_pod_label_postgres_operator_crunchydata_com_role] target_label: role - # Concert cluster name to cluster_name + # Convert cluster name to cluster_name - sourceLabels: [ __meta_kubernetes_pod_label_postgres_operator_crunchydata_com_cluster ] targetLabel: cluster_name