Cluster Monitoring
title: "Cluster Monitoring" slug: /private-cloud/cluster-monitoring sidebar_position: 1
Cluster Monitoring
Codesphere bietet zwei Monitoring-Optionen für die Private Cloud Installation: Cluster-Level Monitoring für die Überwachung einzelner Cluster sowie aggregiertes Monitoring über mehrere Cluster hinweg für unternehmensweite Transparenz. Wähle die Option, die am besten zu den betrieblichen Anforderungen passt.
Bestehender monitoring Namespace
Codesphere stellt seinen Monitoring-Stack in einem Namespace mit dem Namen monitoring bereit und
geht davon aus, dass er diesen Namespace besitzt. Wenn ein Cluster bereits einen monitoring-Namespace hat (zum
Beispiel durch ein zentrales Platform-Team), sollte dies vor der Installation geprüft werden – der Name
ist in interne Cluster-URLs eingebunden und lässt sich nach der Installation nicht einfach umbenennen.
Cluster-Level Monitoring (Grafana)
Im Rahmen der regulären Codesphere-Installation wird automatisch eine Grafana-Instanz mit vordefinierten Dashboards im Cluster bereitgestellt. Die Login-Zugangsdaten werden automatisch generiert. Die Grafana-Oberfläche kann über Port-Forwarding auf localhost erreicht werden.
Schritte für den Zugriff auf die Grafana-Instanz:
- Zugangsdaten abrufen:
- Benutzername:
admin - Passwort:
kubectl get secret grafana -n monitoring -o jsonpath={.data.admin-password} | base64 -d
- Benutzername:
- Zugriff auf Grafana im lokalen Browser:
- Port-Forward starten mit
kubectl port-forward deployment/grafana 3000:3000 -n monitoring - Im lokalen Browser
localhost:3000aufrufen - Mit den Zugangsdaten aus dem vorherigen Schritt anmelden.
- Port-Forward starten mit
- Hinweis: Wenn der kubectl-Zugriff nur z. B. über einen Jumphost möglich ist, 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 eine zentrale Übersicht über alle Installationen. Diese Option ermöglicht Prometheus Remote Write für Metriken, zentralen OpenTelemetry-Export für Traces und aus Spans abgeleitete Metriken sowie Grafana-Alloy-basierte 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 ist gut geeignet für die Prometheus-Aufnahme über mehrere Cluster hinweg, Langzeitspeicherung und zentrale Abfragen.
Aktivieren des aggregierten Monitorings
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 in der Regel 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 zentralen OpenTelemetry-Export.codesphere.telemetryExport.remoteEndpoint: Optionaler OTLP/HTTP-Endpunkt des zentralen OpenTelemetry-Collectors, der Telemetrie-Exporte empfängt.codesphere.telemetryExport.remoteExport: Optionaler Boolean, der den Export ancodesphere.telemetryExport.remoteEndpointaktiviert.codesphere.telemetryExport.traces: Optionaler Boolean, der den Trace-Export an ein externes Tracing-Backend wie Tempo aktiviert.codesphere.telemetryExport.traceEndpoint: Optionaler OTLP-Endpunkt des externen Tracing-Backends. Erforderlich, wenncodesphere.telemetryExport.tracesauftruegesetzt ist.codesphere.telemetryExport.spanMetrics: Optionaler Boolean, 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 und nicht im Klartext in YAML. In der Praxis bedeutet das:
Füge diese Einträge zu prod.vault.yaml hinzu:
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 den zuständigen Codesphere-Ansprechpartner, um die zentrale Monitoring-Infrastruktur einzurichten, bevor diese Funktion aktiviert wird.