gc-infra/iac/ansible/resources/monitoring/config/prometheus.v3.yml

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