CodeGym /Kurse /Docker SELF /Einrichtung der Container-Überwachung mit Prometheus

Einrichtung der Container-Überwachung mit Prometheus

Docker SELF
Level 21 , Lektion 3
Verfügbar

4.1 Installation von Prometheus

Prometheus ist ein leistungsstarkes Open-Source-Monitoring- und Benachrichtigungssystem, das entwickelt wurde, um Metriken aus verschiedenen Quellen, einschließlich Docker-Containern, zu sammeln und zu speichern. In dieser Vorlesung werden wir uns den Prozess der Einrichtung des Container-Monitorings mit Prometheus genauer ansehen, einschließlich der Installation, Einrichtung der Metrikensammlung und Integration mit Docker.

1. Herunterladen und Installieren von Prometheus

Lade zunächst die neueste Version von Prometheus von der offiziellen Website herunter:

Terminal

wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz

Entpacke das Archiv:

Terminal

tar xvfz prometheus-*.tar.gz
cd prometheus-*      

Verschiebe die Binärdateien nach /usr/local/bin:

Terminal

sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/

4.2 Einrichten der Prometheus-Konfigurationsdatei

Prometheus verwendet eine Konfigurationsdatei namens prometheus.yml, um die Quellen für Metriken und die Einstellungen zur Datenerfassung zu definieren. Erstellt oder bearbeitet die Datei prometheus.yml:

Yaml

global:
  scrape_interval: 15s  # Intervall für das Sammeln von Metriken
      
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
      
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['localhost:8080']

Diese Konfigurationsdatei enthält zwei Aufträge (jobs):

  1. prometheus: Zur Erfassung von Metriken direkt von Prometheus.
  2. cadvisor: Zur Erfassung von Metriken von cAdvisor, der verwendet wird, um Docker-Container zu überwachen.

5.3 Starten von Prometheus

Starte Prometheus mit der erstellten Konfigurationsdatei:

Terminal

prometheus --config.file=prometheus.yml

Prometheus wird unter der Adresse http://localhost:9090 verfügbar sein.

5.4 Installation und Konfiguration von cAdvisor

cAdvisor (Container Advisor) — ist ein Tool zur Überwachung von Containern, das Metriken für Docker-Container sammelt und bereitstellt. Um es zu verwenden, folge diesen Schritten:

Starte cAdvisor in einem Docker-Container:

Terminal

docker run -d \
  --name=cadvisor \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --privileged \
  gcr.io/cadvisor/cadvisor:latest

cAdvisor wird unter der Adresse http://localhost:8080 verfügbar sein.

5.5 Aktualisierung der Prometheus-Konfiguration für cAdvisor

Stelle sicher, dass die Prometheus-Konfiguration ein Job für cAdvisor enthält. Ein Beispiel für die Konfiguration wurde oben angegeben.

Starte Prometheus neu, um die Änderungen anzuwenden:

Terminal

prometheus --config.file=prometheus.yml

5.6 Überprüfung der Metrik-Sammlung

Gehe zur Web-Oberfläche von Prometheus unter der Adresse http://localhost:9090 und stelle sicher, dass Prometheus Metriken von cAdvisor sammelt. Führe dazu die folgende Abfrage in Prometheus aus:

Terminal

container_cpu_usage_seconds_total

Du solltest die Daten sehen, die von den Docker-Containern gesammelt wurden.

5.7 Hinzufügen zusätzlicher Metriken

Du kannst zusätzliche Metriken in die Konfigurationsdatei von Prometheus hinzufügen, um mehr Daten über deine Container zu sammeln. Beispiel für zusätzliche Metriken:

Yaml

  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

Dafür musst du node_exporter installieren, der Metriken über den Zustand des Hostsystems bereitstellt.

Lade node_exporter herunter und installiere ihn:

Terminal

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo mv node_exporter-1.2.2.linux-amd64/node_exporter /usr/local/bin/

Starte node_exporter:

Terminal

node_exporter &

Jetzt ist node_exporter unter http://localhost:9100 verfügbar.

5.8 Erstellen von Alert-Regeln

Prometheus unterstützt das Erstellen von Alert-Regeln, um Administratoren über Probleme zu informieren. Füge die Alert-Regeln zur Konfigurationsdatei prometheus.yml hinzu:

Yaml

rule_files:
  - "alert.rules"
      
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - "localhost:9093"

Erstelle eine Datei alert.rules mit einem Beispiel für Regeln:

Yaml

groups:
- name: beispiel
  rules:
  - alert: HighCPUUsage
    expr: container_cpu_usage_seconds_total{job="cadvisor"} > 0.85
    for: 1m
    labels:
      severity: warnung
    annotations:
      summary: "Hohe CPU-Auslastung erkannt"
      description: "Der Container verwendet mehr als 85% CPU für mehr als 1 Minute."
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION