46 lines
1.4 KiB
YAML
46 lines
1.4 KiB
YAML
global:
|
|
scrape_interval: 15s
|
|
evaluation_interval: 15s
|
|
|
|
scrape_configs:
|
|
# ── Docker SD: containers with prometheus.io/scrape=true are auto-discovered ──
|
|
- job_name: 'docker'
|
|
docker_sd_configs:
|
|
- host: unix:///var/run/docker.sock
|
|
refresh_interval: 15s
|
|
filters:
|
|
- name: label
|
|
values:
|
|
- prometheus.io/scrape=true
|
|
relabel_configs:
|
|
# 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}'
|
|
# Container name label
|
|
- source_labels: [__meta_docker_container_name]
|
|
regex: '/(.*)'
|
|
replacement: '${1}'
|
|
target_label: container
|
|
|
|
# ── OTel Collector ──
|
|
- job_name: 'otel-collector'
|
|
scrape_interval: 10s
|
|
metrics_path: /metrics
|
|
static_configs:
|
|
- targets: ['otel-collector:8889']
|
|
labels:
|
|
service: otel-collector
|
|
|
|
# ── Node Exporter ──
|
|
- job_name: 'node'
|
|
scrape_interval: 15s
|
|
static_configs:
|
|
- targets: ['node-exporter:9100']
|