From 545397eb1f636f3f82ba3f064b5a715d2f064a45 Mon Sep 17 00:00:00 2001 From: asepharyana Date: Thu, 23 Jul 2026 07:50:20 +0700 Subject: [PATCH] fix(infra): fix Prometheus Docker SD relabel + group_add --- infra/compose/observability.yml | 2 ++ infra/otel/prometheus.yml | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/infra/compose/observability.yml b/infra/compose/observability.yml index 12e342c..ccd00ce 100644 --- a/infra/compose/observability.yml +++ b/infra/compose/observability.yml @@ -56,6 +56,8 @@ services: - ../../infra/otel/prometheus.yml:/etc/prometheus/prometheus.yml:ro - /prometheus - /var/run/docker.sock:/var/run/docker.sock:ro + group_add: + - '988' # ── Node Exporter (Host Metrics: CPU, RAM, Disk) ── node-exporter: diff --git a/infra/otel/prometheus.yml b/infra/otel/prometheus.yml index 52ad7c2..7942b40 100644 --- a/infra/otel/prometheus.yml +++ b/infra/otel/prometheus.yml @@ -13,20 +13,21 @@ scrape_configs: values: - prometheus.io/scrape=true relabel_configs: - - source_labels: [__meta_docker_container_name] - target_label: container - regex: '/(.*)' - replacement: '${1}' - - source_labels: [__meta_docker_container_label_prometheus_io_port] - regex: '(.+)' - target_label: __metrics_path__ - replacement: '/metrics' + # Address: use container name + label port (Docker DNS resolves names) + - source_labels: [__meta_docker_container_name, __meta_docker_container_label_prometheus_io_port] + regex: '/(.*);(\d+)' + replacement: '${1}:${2}' + target_label: __address__ + # Metrics path from label (default /metrics) - source_labels: [__meta_docker_container_label_prometheus_io_path] regex: '(.+)' target_label: __metrics_path__ replacement: '${1}' - - source_labels: [__address__] - target_label: instance + # Container name label + - source_labels: [__meta_docker_container_name] + regex: '/(.*)' + replacement: '${1}' + target_label: container # ── OTel Collector ── - job_name: 'otel-collector'