From 9b429db7d259a127e7b5bf085e8de258c68d29a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Orzech?= Date: Sun, 3 Aug 2025 13:22:49 +0200 Subject: [PATCH] Update prometheus.yml --- templates/monitoring/prometheus.yml | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/templates/monitoring/prometheus.yml b/templates/monitoring/prometheus.yml index e032cb0..1af5fee 100644 --- a/templates/monitoring/prometheus.yml +++ b/templates/monitoring/prometheus.yml @@ -16,22 +16,32 @@ scrape_configs: - targets: ['localhost:9090'] - job_name: 'docker-services' - dockerswarm_sd_configs: + docker_sd_configs: - host: unix:///var/run/docker.sock - role: tasks relabel_configs: # Scrape only containers that have a prometheus.scrape=true label - - source_labels: [__meta_dockerswarm_task_label_prometheus_scrape] + - source_labels: [__meta_docker_container_label_prometheus_scrape] action: keep regex: true # Use the container name as the instance label - - source_labels: [__meta_dockerswarm_task_desired_state, __meta_dockerswarm_task_name] + - source_labels: [__meta_docker_container_name] action: replace target_label: instance - regex: 'running;(.+)' + regex: '/(.+)' # Allow overriding the port - - source_labels: [__meta_dockerswarm_task_label_prometheus_port] + - source_labels: [__meta_docker_container_label_prometheus_port] action: replace target_label: __address__ regex: '(.+)' - replacement: '${1}' \ No newline at end of file + replacement: '${1}' + # Use the custom port if specified, otherwise use the first exposed port + - source_labels: [__meta_docker_container_label_prometheus_port, __meta_docker_port_private] + action: replace + target_label: __address__ + regex: '([^;]+);.*' + replacement: '${1}' + - source_labels: [__address__, __meta_docker_container_label_prometheus_port] + action: replace + target_label: __address__ + regex: '([^:]+)(?::\d+)?;(\d+)' + replacement: '${1}:${2}'