Logging und Monitoring

Anthos-Cluster auf VMware bietet mehrere Optionen für das Cluster-Logging und -Monitoring, darunter cloudbasierte verwaltete Dienste, Open-Source-Tools und validierte Kompatibilität mit kommerziellen Lösungen von Drittanbietern. In diesem Dokument werden diese Optionen beschrieben. Außerdem erhalten Sie grundlegende Informationen zur Auswahl der richtigen Lösung für Ihre Umgebung.

Optionen für Anthos-Cluster auf VMware

Sie haben mehrere Logging- und Monitoring-Optionen für Anthos-Cluster auf VMware:

  • Cloud Logging und Cloud Monitoring, die von In-Cluster-Agents aktiviert werden, die mit Anthos-Cluster auf VMware bereitgestellt werden
  • Prometheus und Grafana, die standardmäßig deaktiviert sind
  • Validierte Konfigurationen mit Lösungen von Drittanbietern.

Cloud Logging und Cloud Monitoring

Die Operations-Suite von Google Cloud (ehemals Stackdriver) ist die integrierte Beobachtbarkeitslösung für Google Cloud. Sie bietet eine vollständig verwaltete Logging-Lösung, Messwerterfassung, Monitoring, Dashboards und Benachrichtigungen. Cloud Monitoring überwacht Anthos-Cluster auf VMware-Cluster ähnlich wie cloudbasierte GKE-Cluster.

Sie können die clusterinternen Agents für den Umfang des Monitoring und Logging sowie die Ebene der erfassten Messwerte konfigurieren:

  • Der Umfang des Logging und Monitoring kann nur auf Systemkomponenten (Standardeinstellung) oder auf Systemkomponenten und Anwendungen festgelegt werden
  • Die Ebene der erfassten Messwerte kann für einen optimierten Satz von Messwerten oder für vollständige Messwerte konfiguriert werden

Weitere Informationen finden Sie in diesem Dokument unter Logging- und Monitoring-Agents für Anthos-Cluster auf VMware konfigurieren.

Cloud Logging und Cloud Monitoring sind die ideale Lösung für Kunden, die eine einzige, einfach zu konfigurierende und leistungsstarke cloudbasierte Beobachtbarkeitslösung benötigen. Wir empfehlen dringend Logging und Monitoring, wenn Sie Arbeitslasten nur in Anthos-Cluster auf VMware oder Arbeitslasten auf GKE- und Anthos-Clustern in VMware ausführen. Für Anwendungen mit Komponenten, die auf Anthos-Cluster auf VMware und in einer herkömmlichen lokalen Infrastruktur ausgeführt werden, können Sie andere Lösungen für eine End-to-End-Ansicht dieser Anwendungen in Betracht ziehen.

Prometheus und Grafana

Prometheus und Grafana sind zwei beliebte Open-Source-Monitoring-Produkte:

  • Prometheus erfasst Anwendungs- und Systemmesswerte.

  • Alertmanager kümmert sich um das Senden von Benachrichtigungen über verschiedene Mechanismen.

  • Grafana ist ein Dashboard-Tool.

Prometheus und Grafana können in jedem Administrator- und Nutzercluster aktiviert werden. Prometheus und Grafana werden für Anwendungsteams empfohlen, die bereits Erfahrung mit diesen Produkten haben, oder für operative Teams, die Anwendungsmesswerte im Cluster behalten möchten, sowie zur Behebung von Problemen, wenn die Netzwerkverbindung unterbrochen wird.

Drittanbieterlösungen

Google hat mit mehreren Logging- und Monitoring-Drittanbietern zusammengearbeitet, damit ihre Produkte mit Anthos-Cluster auf VMware kompatibel sind. Dazu gehören Datadog, Elastic und Splunk. Weitere validierte Drittanbieter werden in Zukunft hinzugefügt.

Weitere Informationen zum Verwenden von Drittanbieterlösungen mit Anthos-Cluster auf VMware finden Sie hier:

Funktionsweise von Logging und Monitoring für Anthos-Cluster auf VMware

Logging- und Monitoring-Agents werden in jedem Cluster installiert und aktiviert, wenn Sie einen neuen Administrator- oder Nutzercluster erstellen. Die Agents erfassen Daten zu Systemkomponenten – der Umfang, den Sie konfigurieren können.

Wenn Sie die erfassten Daten in der Google Cloud Console ansehen möchten, müssen Sie das Google Cloud-Projekt konfigurieren, in dem die gewünschten Logs und Messwerte gespeichert werden.

Zu den Logging- und Monitoring-Agents in jedem Cluster gehören:

  • GKE-Messwert-Agent (gke-metrics-agent). Ein DaemonSet, das Messwerte an die Cloud Monitoring API sendet.

  • Log Forwarder (stackdriver-log-forwarder-*). Ein Fluent Bit-DaemonSet, das Logs von jeder Maschine an Cloud Logging weiterleitet. Der Log Forwarder puffert die Logeinträge auf dem Knoten lokal und sendet sie bis zu vier Stunden lang noch einmal. Wenn der Zwischenspeicher voll ist oder der Log-Forwarder die Cloud Logging API länger als vier Stunden nicht erreichen kann, werden Logs gelöscht.

  • Globaler GKE-Messwert-Agent (gke-metrics-agent-global). Ein Deployment, das Messwerte an die Cloud Monitoring API sendet.

  • Metadata-Agent (stackdriver-metadata-agent). Ein Modul, das Metadaten für Kubernetes-Ressourcen wie Pods, Deployments, Knoten usw. an die Stackdriver Resource Metadata API sendet. Anhand dieser Daten können Sie Messwertabfragen anreichern und Abfragen nach Deployment-Name, Knotenname oder auch Kubernetes-Dienstname ausführen.

Mit dem folgenden Befehl können Sie alle Deployment-Agents aufrufen:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces

Dabei ist CLUSTER_KUBECONFIG der Pfad der kubeconfig-Datei für den Cluster.

Die Ausgabe dieses Befehls sieht so aus:

gke-metrics-agent-global                      1/1     Running   0   4h31m
stackdriver-metadata-agent-cluster-level      1/1     Running   0   4h31m

Mit dem folgenden Befehl können Sie alle DaemonSet-Agents aufrufen:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces

Die Ausgabe dieses Befehls sieht so aus:

gke-metrics-agent                             1/1     Running   0   4h31m
stackdriver-log-forwarder                     1/1     Running   0   4h31m

Logging- und Monitoring-Agents für Anthos-Cluster auf VMware konfigurieren

Die mit Anthos-Cluster auf VMware installierten Agents erfassen abhängig von den Einstellungen und Konfigurationen Daten zu Systemkomponenten, um Probleme mit Ihren Clustern zu warten und zu beheben.

Nur Systemkomponenten (Standardbereich)

Bei der Installation erfassen Agents Logs und Messwerte, einschließlich Leistungsdetails (z. B. CPU- und Speicherauslastung) und ähnliche Metadaten für von Google bereitgestellte Systemkomponenten. Dazu gehören alle Arbeitslasten im Administratorcluster und in Nutzerclustern Arbeitslasten in den Namespaces kube-system, gke-system, gke-connect, istio-system und config-management-system. Sie können die Agents wie in den folgenden Abschnitten beschrieben konfigurieren oder deaktivieren.

Der Umfang der erfassten Logs und Messwerte kann auch um Anwendungen erweitert werden. Anleitungen zum Aktivieren von Anwendungs-Logging und -Monitoring finden Sie unter Logging und Monitoring für Nutzeranwendungen aktivieren.

Optimierte Messwerte (Standardmesswerte)

Standardmäßig erfassen die im Cluster ausgeführten Messwert-Agents einen optimierten Satz von Container- und Kubelet-Messwerten und melden ihn an die Operations-Suite von Google Cloud (ehemals Stackdriver). Es sind weniger Ressourcen erforderlich, um diese optimierten Messwerte zu erfassen, was die Gesamtleistung und die Skalierbarkeit verbessert. Dies ist besonders für Messwerte auf Containerebene wichtig, da die Anzahl der zu überwachenden Objekte sehr groß ist.

Setzen Sie das Feld optimizedMetrics in Ihrer benutzerdefinierten Stackdriver-Ressource auf false, um optimierte Messwerte zu deaktivieren (nicht empfohlen). Weitere Informationen zum Ändern Ihrer benutzerdefinierten Stackdriver-Ressource finden Sie unter Stackdriver-Komponentenressourcen konfigurieren. Alle Anthos-Cluster auf VMware-Messwerte, einschließlich der standardmäßig ausgeschlossenen Messwerte, sind unter Anthos-Messwerte beschrieben.

Stackdriver aktivieren und deaktivieren

Sie können Logging- und Monitoring-Agents vollständig aktivieren oder deaktivieren. Dazu aktivieren oder deaktivieren Sie die benutzerdefinierte Stackdriver-Ressource. Bevor Sie die Logging- und Monitoring-Agents deaktivieren, sollten Sie sich auf der Supportseite informieren, wie sich dies auf die SLAs des Google Cloud-Supports auswirkt.

So deaktivieren Sie die benutzerdefinierte Stackdriver-Ressource für Anthos-Cluster auf VMware:

  1. Skalieren Sie den Stackdriver-Operator herunter:

    kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-system scale deploy stackdriver-operator --replicas=0
    
  2. Prüfen Sie, ob der Stackdriver-Operator-Pod beendet wurde:

    kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-system get pods -l k8s-app=stackdriver-operator
    
  3. Löschen Sie die Logging- und Monitoring-Pipeline-Agents. Führen Sie beispielsweise den folgenden Befehl aus, um den Log-Forwarder zu löschen :

    kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-system delete daemonset stackdriver-log-forwarder
    
  4. Wenn Sie Stackdriver noch einmal bereitstellen möchten, skalieren Sie den Operator mit folgendem Befehl wieder hoch:

    kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-system scale deploy stackdriver-operator --replicas=1
    

Logging- und Monitoring-Agents erfassen lokal gespeicherte Daten entsprechend Ihrer Speicher- und Aufbewahrungskonfiguration. Die Daten werden in das bei der Installation angegebene Google Cloud-Projekt repliziert. Dazu wird ein Dienstkonto verwendet, das berechtigt ist, Daten in das Projekt zu schreiben. Sie können diese Agents jederzeit deaktivieren, wie zuvor beschrieben.

Sie können auch Daten verwalten und löschen, die von den Logging- und Monitoring-Agents an Cloud Logging und Cloud Monitoring gesendet wurden. Weitere Informationen finden Sie in der Cloud Monitoring-Dokumentation.

Konfigurationsanforderungen für Logging und Monitoring

Wenn Sie Cloud Logging- und Cloud Monitoring-Daten ansehen möchten, müssen Sie das Google Cloud-Projekt konfigurieren, in dem die anzuzeigenden Logs und Messwerte gespeichert werden. Dieses Google Cloud-Projekt wird als Logging-Monitoring-Projekt bezeichnet.

  1. Aktivieren Sie die folgenden APIs in Ihrem Logging-Monitoring-Projekt:

  2. Weisen Sie Ihrem Logging-Monitoring-Dienstkonto in Ihrem Logging-Monitoring-Projekt die folgenden IAM-Rollen zu.

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor
    • opsconfigmonitoring.resourceMetadata.writer

Preise

Für die Systemlogs und -messwerte von Anthos fallen keine Gebühren an.

In einem Anthos-Cluster auf einem VMware-Cluster enthalten die Systemlogs und -messwerte von Anthos Folgendes:

  • Logs und Messwerte aus allen Komponenten in einem Administratorcluster
  • Logs und Messwerte aus Komponenten in diesen Namespaces in einem Nutzercluster:kube-system .gke-system .gke-connect ,knative-serving .istio-system ,monitoring-system .config-management-system ,gatekeeper-system .cnrm-system

Weitere Informationen finden Sie unter Preise für die Operations-Suite von Google Cloud.

Wenn Sie weitere Informationen wünschen und mehr über Guthaben für Cloud Logging-Messwerte wissen möchten, wenden Sie sich an den Vertrieb.

So funktionieren Prometheus und Grafana für Anthos-Cluster auf VMware

Anthos-Cluster auf VMware-Cluster werden standardmäßig mit Prometheus und Grafana erstellt. Informationen zum Aktivieren finden Sie im Installationshandbuch.

Der Prometheus-Server wird in einer hochverfügbaren Konfiguration mit zwei Replikaten eingerichtet, die auf zwei separaten Knoten ausgeführt werden. Die Ressourcenanforderungen werden an Cluster mit bis zu fünf Knoten angepasst, von denen jeder bis zu 30 Pods verarbeiten kann, die benutzerdefinierte Messwerte bereitstellen. Prometheus hat ein dediziertes PersistentVolume mit vorab zugewiesenem Speicherplatz, um Daten für eine Aufbewahrungsdauer von vier Tagen unterzubringen, sowie einen zusätzlichen Sicherheitspuffer.

Die Administrator-Steuerungsebene und alle Nutzercluster haben je einen eigenen Monitoring-Stack, den Sie unabhängig konfigurieren können. Jeder Administrator- und Nutzercluster umfasst einen Monitoring-Stack, der eine Reihe von Features bietet: Prometheus-Server für Monitoring, Grafana für Beobachtbarkeit und Prometheus Alertmanager für Benachrichtigungen.

Alle Monitoring-Endpunkte, alle übertragenen Messwertdaten und alle Monitoring-APIs werden über mTLS- und RBAC-Regeln mit Istio-Komponenten gesichert. Der Zugriff auf Monitoring-Daten ist Clusteradministratoren vorbehalten.

Von Prometheus erfasste Messwerte

Prometheus erfasst die folgenden Messwerte und Metadaten von der Administrator-Steuerungsebene und den Nutzerclustern:

  • Ressourcennutzung, z. B. CPU-Auslastung auf Pods und Knoten
  • Messwerte der Kubernetes-Steuerungsebene
  • Messwerte aus Add-ons und Kubernetes-Systemkomponenten, die auf Knoten ausgeführt werden, z. B. kubelet
  • Clusterstatus, z. B. Status von Pods in einem Deployment
  • Anwendungsmesswerte
  • Maschinenmesswerte wie Netzwerk, Entropie und Inodes

Monitoring mehrerer Cluster

Die im Administratorcluster installierte Prometheus- und Grafana-Instanz wurde speziell konfiguriert, um Einblicke in die gesamte Anthos-Cluster auf VMware-Instanz einschließlich des Administratorclusters und der einzelnen Nutzercluster zu ermöglichen. Dadurch haben Sie folgende Möglichkeiten:

  • Sie können ein Grafana-Dashboard verwenden, um auf Messwerte aus allen Nutzer- und Administratorclustern zuzugreifen.
  • Sie können Messwerte einzelner Nutzercluster in Grafana-Dashboards darstellen. Die Messwerte stehen für direkte Abfragen in vollständiger Auflösung zur Verfügung.
  • Sie können auf die Knoten- und Arbeitslastmesswerte von Nutzerclustern für aggregierte Abfragen, Dashboards und Benachrichtigungen zugreifen. Arbeitslastmesswerte sind auf Arbeitslasten beschränkt, die im kube-system-Namespace ausgeführt werden.
  • Sie haben die Möglichkeit, Benachrichtigungen für bestimmte Cluster zu konfigurieren.

Nächste Schritte