18 Zieldefinition und Service Discovery

Die Konfiguration von Zieldefinitionen (Targets) und die Nutzung von Service Discovery Mechanismen sind zentrale Aspekte der Prometheus-Konfiguration. Diese bestimmen, welche Endpunkte überwacht werden und wie diese dynamisch entdeckt werden können.

18.1 Statische Zieldefinitionen

Statische Zieldefinitionen sind direkt in der prometheus.yml-Datei konfiguriert und eignen sich für Umgebungen mit festen, wenig variierenden Endpunkten.

  1. Beispielkonfiguration für statische Ziele:

    scrape_configs:
      - job_name: 'webservers'
        static_configs:
          - targets: ['webserver1:9090', 'webserver2:9090']
      - job_name: 'databases'
        static_configs:
          - targets: ['db1:5432', 'db2:5432']

18.2 Dynamische Zieldefinitionen mit Service Discovery

Service Discovery ermöglicht die automatische Erkennung von Targets in dynamischen Umgebungen wie Cloud- und Container-Umgebungen. Prometheus unterstützt mehrere Service Discovery Mechanismen.

  1. Kubernetes Service Discovery:
  2. Consul Service Discovery:
  3. DNS Service Discovery:
  4. File-based Service Discovery:

18.3 Relabeling

Relabeling ermöglicht die Modifikation von Labels der gescrapten Metriken. Dies ist besonders nützlich, um dynamische Konfigurationen zu handhaben oder spezifische Labels hinzuzufügen bzw. zu ändern.

  1. Beispiel für Relabeling-Konfiguration:

    scrape_configs:
      - job_name: 'kubernetes-pods'
        kubernetes_sd_configs:
          - role: pod
        relabel_configs:
          - source_labels: [__meta_kubernetes_pod_label_app]
            action: replace
            target_label: app
          - source_labels: [__meta_kubernetes_namespace]
            action: replace
            target_label: namespace
          - source_labels: [__meta_kubernetes_pod_node_name]
            action: replace
            target_label: node

18.4 Best Practices

  1. Konsistenz in der Namensgebung:
  2. Minimierung des Overheads:
  3. Dynamische Umgebungen:
  4. Sicherheit:

Durch die korrekte Konfiguration von Zieldefinitionen und die effektive Nutzung von Service Discovery Mechanismen können Sie sicherstellen, dass Prometheus zuverlässig und effizient die benötigten Metriken sammelt und überwacht.