13 Installation

13.1 Installationsmethoden

Prometheus kann auf verschiedene Arten installiert werden, abhängig von den spezifischen Anforderungen und der Umgebung, in der es betrieben werden soll. Hier sind die gängigsten Installationsmethoden:

13.1.1 Binary Downloads

  1. Download der Binärdateien:
  2. Installation:
  3. Starten von Prometheus:

13.1.2 Docker

  1. Docker Image:
  2. Container starten:
  3. Verwaltung des Containers:

13.1.3 Kubernetes

  1. Helm Chart:
  2. Kustomize und YAML-Dateien:
  3. Monitoring und Verwaltung:

13.1.4 Systemd

  1. Systemd Unit File:
  2. Dienst starten:
  3. Verwaltung des Dienstes:

Diese Installationsmethoden bieten Flexibilität und Anpassungsmöglichkeiten, um Prometheus in verschiedenen Umgebungen und Szenarien zu betreiben. Wählen Sie die Methode, die am besten zu Ihren Anforderungen passt, und folgen Sie den Best Practices für die Installation und Konfiguration.

13.1.5 Binary Downloads

Die Installation von Prometheus über vorkompilierte Binärdateien ist eine einfache und weit verbreitete Methode. Hier sind die Schritte, um Prometheus mittels Binary Downloads zu installieren und zu konfigurieren:

  1. Download der Binärdateien:
  2. Entpacken des Archivs:
  3. Konfiguration von Prometheus:
  4. Starten von Prometheus:
  5. Überprüfung des Betriebs:
  6. Systemd-Integration (optional):
  7. Verwaltung des Dienstes:

Durch die Verwendung der Binary Downloads Methode erhalten Sie eine einfache und schnelle Möglichkeit, Prometheus zu installieren und zu betreiben. Diese Methode ist besonders nützlich für Einzelinstanzen oder Testumgebungen und bietet eine solide Grundlage für die weitere Konfiguration und Skalierung.

13.1.6 Docker

Die Installation von Prometheus mittels Docker bietet eine flexible und portable Möglichkeit, Prometheus schnell zu deployen. Diese Methode ist besonders nützlich für Entwickler, die eine einfache Möglichkeit suchen, Prometheus in verschiedenen Umgebungen zu testen oder zu betreiben.

  1. Voraussetzungen:
  2. Docker Image herunterladen:
  3. Konfiguration erstellen:
  4. Container starten:
  5. Überprüfung des Betriebs:
  6. Container-Verwaltung:
  7. Persistente Speicherung (optional):
  8. Netzwerkkonfiguration (optional):

Durch die Verwendung von Docker zur Installation von Prometheus können Sie den Overhead der direkten Installation auf dem Host-System vermeiden und von der Portabilität und Isolierung profitieren, die Docker bietet. Diese Methode ist ideal für Entwicklungs- und Testumgebungen sowie für produktive Systeme, die eine einfache Verwaltung und Skalierbarkeit erfordern.

13.1.7 Kubernetes

Die Installation von Prometheus auf Kubernetes bietet eine robuste und skalierbare Möglichkeit, Prometheus in einer containerisierten Umgebung zu betreiben. Dies ist besonders vorteilhaft für große und dynamische Umgebungen, in denen hohe Verfügbarkeit und automatische Skalierung erforderlich sind.

  1. Voraussetzungen:

  2. Helm-Installation (empfohlene Methode):

    1. Helm-Repository hinzufügen:

      helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
      helm repo update
    2. Prometheus-Chart installieren:

      helm install prometheus prometheus-community/prometheus
      • Dieser Befehl installiert das Prometheus-Chart in Ihrem Kubernetes-Cluster mit den Standardeinstellungen.

      • Sie können die Installation anpassen, indem Sie eine eigene values.yaml-Datei erstellen und diese mit dem -f-Flag angeben:

        helm install prometheus -f values.yaml prometheus-community/prometheus
  3. Manuelle Installation mittels YAML-Dateien:

    1. Erstellen eines Namespace:
      • Es wird empfohlen, einen eigenen Namespace für Prometheus zu erstellen:

        kubectl create namespace monitoring
    2. Deployment und Service konfigurieren:
      • Erstellen Sie eine Konfigurationsdatei für das Prometheus-Deployment (prometheus-deployment.yaml):

        apiVersion: apps/v1
        kind: Deployment
        metadata:
          name: prometheus
          namespace: monitoring
        spec:
          replicas: 1
          selector:
            matchLabels:
              app: prometheus
          template:
            metadata:
              labels:
                app: prometheus
            spec:
              containers:
              - name: prometheus
                image: prom/prometheus
                ports:
                - containerPort: 9090
                volumeMounts:
                - name: config-volume
                  mountPath: /etc/prometheus/
                - name: storage-volume
                  mountPath: /prometheus
              volumes:
              - name: config-volume
                configMap:
                  name: prometheus-config
              - name: storage-volume
                emptyDir: {}
    3. Service konfigurieren:
      • Erstellen Sie eine Service-Konfigurationsdatei (prometheus-service.yaml):

        apiVersion: v1
        kind: Service
        metadata:
          name: prometheus
          namespace: monitoring
        spec:
          type: NodePort
          ports:
          - port: 9090
            targetPort: 9090
            nodePort: 30000
          selector:
            app: prometheus
    4. Konfigurations-ConfigMap erstellen:
      • Erstellen Sie eine ConfigMap für die Prometheus-Konfiguration (prometheus-config.yaml):

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: prometheus-config
          namespace: monitoring
        data:
          prometheus.yml: |
            global:
              scrape_interval: 15s
        
            scrape_configs:
              - job_name: 'prometheus'
                static_configs:
                  - targets: ['localhost:9090']
    5. Ressourcen anwenden:
      • Wenden Sie die Konfigurationsdateien auf Ihr Kubernetes-Cluster an:

        kubectl apply -f prometheus-config.yaml
        kubectl apply -f prometheus-deployment.yaml
        kubectl apply -f prometheus-service.yaml
  4. Verwaltung und Zugriff:

  5. Prometheus Operator (optional):

Durch die Installation von Prometheus auf Kubernetes können Sie die Vorteile einer containerisierten Umgebung nutzen, einschließlich Skalierbarkeit, Flexibilität und einfache Verwaltung. Dies macht Kubernetes zu einer idealen Plattform für die Bereitstellung von Prometheus in produktiven Umgebungen.