From f71537e8fa5eca9453a1125ecdb1ab7fd171a8fa Mon Sep 17 00:00:00 2001 From: furyhawk Date: Sun, 12 Jul 2026 21:46:14 +0800 Subject: [PATCH] fix: update Prometheus datasource URL and improve Grafana setup logic --- makefile | 6 +++--- swarm/grafana/provisioning/datasources/prometheus.yml | 6 +++--- swarm/prometheus-grafana.yml | 1 - swarm/prometheus.yml | 1 - 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/makefile b/makefile index 92a9944..a58531b 100644 --- a/makefile +++ b/makefile @@ -227,8 +227,8 @@ setup-grafana: { \ echo "Setting up grafana config on host..." ;\ mkdir -p /var/data/grafana/provisioning/datasources /var/data/grafana/dashboards ;\ - cp -n ./swarm/grafana/grafana.ini /var/data/grafana/grafana.ini 2>/dev/null || echo "grafana.ini already exists, skipping" ;\ - cp -n ./swarm/grafana/provisioning/datasources/prometheus.yml /var/data/grafana/provisioning/datasources/prometheus.yml 2>/dev/null || echo "prometheus datasource already exists, skipping" ;\ + cmp -s ./swarm/grafana/grafana.ini /var/data/grafana/grafana.ini 2>/dev/null || cp ./swarm/grafana/grafana.ini /var/data/grafana/grafana.ini ;\ + cmp -s ./swarm/grafana/provisioning/datasources/prometheus.yml /var/data/grafana/provisioning/datasources/prometheus.yml 2>/dev/null || cp ./swarm/grafana/provisioning/datasources/prometheus.yml /var/data/grafana/provisioning/datasources/prometheus.yml ;\ } deploy-grafana: pull setup-grafana { \ @@ -250,7 +250,7 @@ setup-prometheus: { \ echo "Setting up prometheus config on host..." ;\ mkdir -p /var/data/prometheus ;\ - cp -n ./swarm/prometheus/prometheus.yml /var/data/prometheus/prometheus.yml 2>/dev/null || echo "prometheus.yml already exists, skipping" ;\ + cmp -s ./swarm/prometheus/prometheus.yml /var/data/prometheus/prometheus.yml 2>/dev/null || cp ./swarm/prometheus/prometheus.yml /var/data/prometheus/prometheus.yml ;\ } deploy-monitoring: pull setup-grafana setup-prometheus { \ diff --git a/swarm/grafana/provisioning/datasources/prometheus.yml b/swarm/grafana/provisioning/datasources/prometheus.yml index 8203b42..64fe179 100644 --- a/swarm/grafana/provisioning/datasources/prometheus.yml +++ b/swarm/grafana/provisioning/datasources/prometheus.yml @@ -1,13 +1,13 @@ # Provisioning config for the Prometheus datasource in Grafana. -# Both services are on the traefik-public overlay network, -# so 'prometheus' resolves via Swarm DNS. +# The service VIP for 'prometheus' on traefik-public is not reliably routing +# in this stack, so use task DNS to reach the live Prometheus task directly. apiVersion: 1 datasources: - name: Prometheus type: prometheus access: proxy - url: http://prometheus:9090 + url: http://tasks.prometheus:9090 isDefault: true editable: true jsonData: diff --git a/swarm/prometheus-grafana.yml b/swarm/prometheus-grafana.yml index c8b7c17..4c3d722 100644 --- a/swarm/prometheus-grafana.yml +++ b/swarm/prometheus-grafana.yml @@ -18,7 +18,6 @@ services: - '--web.enable-lifecycle' volumes: - prometheus_data:/prometheus - - /var/data/prometheus/rules:/etc/prometheus/rules:ro - /var/data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro networks: - traefik-public diff --git a/swarm/prometheus.yml b/swarm/prometheus.yml index a828d3d..dd7a850 100644 --- a/swarm/prometheus.yml +++ b/swarm/prometheus.yml @@ -17,7 +17,6 @@ services: - '--web.enable-lifecycle' volumes: - prometheus_data:/prometheus - - /var/data/prometheus/rules:/etc/prometheus/rules:ro - /var/data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro networks: - traefik-public