57 lines
2.3 KiB
YAML
57 lines
2.3 KiB
YAML
global:
|
|
scrape_interval: 15s # Wie oft Ziele abgefragt werden
|
|
evaluation_interval: 15s # Wie oft Regeln ausgewertet werden
|
|
|
|
scrape_configs:
|
|
- job_name: 'prometheus'
|
|
# Prometheus überwacht sich selbst
|
|
static_configs:
|
|
- targets: ['localhost:9090']
|
|
|
|
- job_name: 'node-exporter'
|
|
# Docker Swarm Service Discovery für den Node Exporter
|
|
dockerswarm_sd_configs:
|
|
- host: unix:///var/run/docker.sock
|
|
role: tasks
|
|
port: 9100 # Standard-Port vom Node Exporter
|
|
relabel_configs:
|
|
# Nur Tasks im Zustand 'running' verwenden
|
|
- source_labels: [__meta_dockerswarm_task_desired_state]
|
|
regex: running
|
|
action: keep
|
|
# Nur Tasks des 'node-exporter' Services aus diesem Stack auswählen
|
|
# Passe den Regex ggf. an, wenn dein Stack anders heißt (hier Annahme: Stack-Name enthält 'monitoring')
|
|
- source_labels: [__meta_dockerswarm_service_name]
|
|
regex: ^monitoring_node-exporter$ # Regex an Stack-Namen anpassen!
|
|
action: keep
|
|
# Verwende den Hostnamen des Swarm Nodes als Instance Label
|
|
- source_labels: [__meta_dockerswarm_node_hostname]
|
|
target_label: instance
|
|
# Setze die Zieladresse korrekt auf IP:Port
|
|
- source_labels: [__address__]
|
|
regex: '(.*):.*' # Extrahiere die IP-Adresse
|
|
replacement: '${1}:9100' # Setze den korrekten Port (9100)
|
|
target_label: __address__
|
|
|
|
- job_name: 'cadvisor'
|
|
dockerswarm_sd_configs:
|
|
- host: unix:///var/run/docker.sock
|
|
role: tasks
|
|
port: 8080 # Standard-Port von cAdvisor
|
|
relabel_configs:
|
|
# Nur Tasks im Zustand 'running' verwenden
|
|
- source_labels: [__meta_dockerswarm_task_desired_state]
|
|
regex: running
|
|
action: keep
|
|
# Nur Tasks des 'cadvisor' Services aus diesem Stack auswählen
|
|
# Passe den Regex an deinen Stack-Namen an!
|
|
- source_labels: [__meta_dockerswarm_service_name]
|
|
regex: .*(monitoring|mon)_cadvisor.* # Regex an Stack-Namen anpassen!
|
|
action: keep
|
|
# Verwende den Hostnamen des Swarm Nodes als Instance Label
|
|
- source_labels: [__meta_dockerswarm_node_hostname]
|
|
target_label: instance
|
|
# WICHTIG: Setze den Metrik-Pfad, da cAdvisor ihn unter /metrics bereitstellt
|
|
- action: replace
|
|
target_label: __metrics_path__
|
|
replacement: /metrics |