Zum Hauptinhalt springen
Version: 1.99.x (Q3 26)

Cluster-Monitoring

Codesphere bietet zwei Monitoring-Optionen für die Private Cloud-Installation: Cluster-Level-Monitoring für die Überwachung einzelner Cluster und aggregiertes Monitoring über mehrere Cluster hinweg für unternehmensweite Transparenz. Wähle die Option, die am besten zu den betrieblichen Anforderungen passt.

Cluster-Level-Monitoring (Grafana)

Als Teil der regulären Codesphere-Installation wird automatisch eine Grafana-Instanz mit vordefinierten Dashboards im Cluster bereitgestellt. Die Anmeldedaten werden automatisch generiert. Die Grafana-Oberfläche kann über Port-Forwarding auf localhost erreicht werden.

Schritte, um auf die Grafana-Instanz zuzugreifen:

  1. Anmeldedaten abrufen:
    1. Benutzername: admin
    2. Passwort: kubectl get secret grafana -n monitoring -o jsonpath={.data.admin-password} | base64 -d
  2. Zugriff auf Grafana im lokalen Browser:
    1. Port-Forward starten mit kubectl port-forward deployment/grafana 3000:3000 -n monitoring
    2. Im lokalen Browser localhost:3000 aufrufen
    3. Mit den Anmeldedaten aus dem vorherigen Schritt einloggen.
  3. Hinweis: Falls nur Zugriff via kubectl über z. B. einen Jumphost besteht, kann SSH-Port-Forwarding genutzt werden, um bis zum lokalen Rechner weiterzuleiten: ssh -L 3000:localhost:3000 user@jumphost

Aggregiertes Multi-Cluster-Monitoring

Für Organisationen, die mehrere Codesphere-Cluster verwalten, bietet aggregiertes Monitoring zentrale Transparenz über alle Installationen hinweg. Diese Option ermöglicht Prometheus Remote Write für Metriken, zentralen OpenTelemetry-Export für Traces und aus Spans abgeleitete Metriken sowie auf Grafana Alloy basierende Weiterleitung von Logs an Loki.

Codesphere empfiehlt Thanos als zentrales Monitoring-System für aggregierte Metriken. Thanos passt direkt zur OMS Remote Write-Konfiguration und eignet sich gut für die Aufnahme von Prometheus-Daten aus mehreren Clustern, Langzeitspeicherung und zentrale Abfragen.

Aggregiertes Monitoring aktivieren

Um aggregiertes Monitoring zu aktivieren, konfiguriere die folgenden Einstellungen in der Installations-Values-Datei, wie im Installationsleitfaden beschrieben:

cluster:
monitoring:
prometheus:
remoteWrite:
enabled: true
clusterName: production-eu-west
url: https://thanos-receive.example.com/api/v1/receive
grafanaAlloy:
enabled: true
loki:
endpoint: https://loki.example.com/loki/api/v1/push
user: loki-user
centralOtelExport:
enabled: true

codesphere:
telemetryExport:
remoteEndpoint: https://otel.example.com
remoteExport: true
traces: true
traceEndpoint: https://tempo.example.com/v1/traces
spanMetrics: true

Konfigurationsparameter

  • cluster.monitoring.prometheus.remoteWrite.enabled: Aktiviert Prometheus Remote Write.
  • cluster.monitoring.prometheus.remoteWrite.clusterName: Eindeutige Kennung für diesen Cluster im zentralen Monitoring-System.
  • cluster.monitoring.prometheus.remoteWrite.url: Remote-Write-Endpunkt des zentralen Metriken-Backends. Bei Thanos ist dies typischerweise der Thanos Receive-Endpunkt.
  • cluster.monitoring.grafanaAlloy.enabled: Aktiviert Grafana Alloy, um Cluster-Logs an Loki zu exportieren.
  • cluster.monitoring.grafanaAlloy.loki.endpoint: Loki-Push-Endpunkt für die zentrale Log-Aggregation.
  • cluster.monitoring.grafanaAlloy.loki.user: Optionaler Basic-Auth-Benutzername für Loki.
  • cluster.monitoring.centralOtelExport.enabled: Aktiviert die Anbindung der Zugangsdaten für den zentralen OpenTelemetry-Export.
  • codesphere.telemetryExport.remoteEndpoint: Optionaler OTLP/HTTP-Endpunkt des zentralen OpenTelemetry-Collectors, der Telemetrie-Exporte empfängt.
  • codesphere.telemetryExport.remoteExport: Optionaler Boolean-Wert, der den Export an codesphere.telemetryExport.remoteEndpoint aktiviert.
  • codesphere.telemetryExport.traces: Optionaler Boolean-Wert, der den Trace-Export an ein externes Tracing-Backend wie Tempo aktiviert.
  • codesphere.telemetryExport.traceEndpoint: Optionaler OTLP-Endpunkt des externen Tracing-Backends. Erforderlich, wenn codesphere.telemetryExport.traces auf true gesetzt ist.
  • codesphere.telemetryExport.spanMetrics: Optionaler Boolean-Wert, der die Erzeugung und den Export von Span-basierten Metriken über den Spanmetrics-Connector aktiviert.

Zugangsdaten

OMS speichert die Passwörter für Prometheus Remote Write, Loki und zentrales OpenTelemetry im generierten Secrets Vault statt in einfachem YAML. In der Praxis bedeutet das:

Diese Einträge zu prod.vault.yaml hinzufügen:

secrets:
- name: promRemoteWriteUser
fields:
password: <prometheus-remote-write-user>
- name: promRemoteWritePassword
fields:
password: <prometheus-remote-write-password>
- name: lokiGatewayBasicAuthPassword
fields:
password: <loki-password>
- name: centralOtelCreds
fields:
username: <central-otel-export-username>
password: <central-otel-export-password>

hinweis

Aggregiertes Monitoring erfordert eine vorherige Abstimmung mit dem Codesphere SRE-Team. Kontaktiere deinen Codesphere-Ansprechpartner, um die zentrale Monitoring-Infrastruktur einzurichten, bevor diese Funktion aktiviert wird.