Files
asepharyana-hub/infra/otel/prometheus.yml

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']