Mit Anthos Service Mesh in der Google Cloud Console vertraut machen

Die Seiten von Anthos Service Mesh in der Google Cloud Console bieten sowohl Zusammenfassungen als auch ausführliche Messwerte, Diagramme und Grafiken, mit denen Sie das Dienstverhalten beobachten können. Sie können den Gesamtstatus Ihrer Dienste überwachen oder einen bestimmten Dienst aufschlüsseln, um ein Service Level Objective (SLO) festzulegen oder ein Problem zu beheben.

Zusammenfassung des SLO und Dienststatus ansehen

Die Seite Anthos Service Mesh ist Ihr Einstiegspunkt. Am oberen Rand der Seite wird eine Zusammenfassung Ihrer Benachrichtigungen und SLOs angezeigt.

Image

Unter dem Abschnitt "SLO-Status" finden Sie eine Übersicht über den Status Ihrer Dienste im Service Mesh:

Bild

Die Symbole neben den Dienstnamen geben den SLO-Status des Dienstes an. Klicken Sie auf den Dienstnamen, um Details zu einem bestimmten Dienst zu überwachen oder anzuzeigen. Sie können Filter anwenden, um zu steuern, welche Dienste in der Tabelle angezeigt werden:

  • Klicken Sie im Abschnitt "SLO-Status" auf den Link Filtern nach, um nur die entsprechenden Dienste in der Tabelle aufzurufen. Sie können die Tabelle beispielsweise so filtern, dass nur die Dienste angezeigt werden, für die kein SLO festgelegt wurde.
  • Klicken Sie oben links in der Tabelle auf Filter-Services, um zusätzliche Bedingungen anzuwenden.

In der rechten oberen Ecke des Fensters finden Sie die folgenden Steuerelemente:

Image

  • Klicken Sie auf die Drop-down-Liste Zeitspanne, um die Statusinformationen für einen bestimmten Zeitraum anzuzeigen.
  • Klicken Sie auf Topologie, um das Servicediagramm anzuzeigen.
  • Klicken Sie auf Tabelle, um zur Tabellenansicht zurückzukehren.

Dienstdiagramm ansehen

Sie können eine Grafik zur Diensttopologie untersuchen, die Folgendes zeigt:

  • Die Dienste Ihres Mesh-Netzwerks.
  • Die Kubernetes-Arbeitslasten, die diese Dienste unterstützen.
  • Die Beziehungen zwischen den Diensten.

Im folgenden Screenshot wird der Frontend-Dienst von einer einzelnen Frontend-Kubernetes-Arbeitslast unterstützt. Die Arbeitslast wiederum sendet Anfragen an mehrere andere Dienste. Die Symbole neben den einzelnen Diensten sind dieselben SLO-Statussymbole, die in der Tabellenansicht angezeigt werden.

Image

Wenn Sie auf ein Dienstsymbol klicken, wird eine Karte mit Details zum Dienst angezeigt, einschließlich einiger wichtiger Messwerte. Die Karte enthält auch einen Link zur Seite Übersicht für den jeweiligen Dienst.

Image

Es gibt mehrere Möglichkeiten, mit der Grafik zu interagieren:

  • Klicken Sie auf den Hintergrund und ziehen Sie ihn, um die Grafik zu schwenken.
  • Verwenden Sie das Mausrad, um das Diagramm zu vergrößern.
  • Klicken Sie auf den Grafikknoten und ziehen ihn an eine andere Stelle, um Dienste und Arbeitslasten im Diagramm neu anzuordnen.

Sie können eine Arbeitslast auf die zugrunde liegenden Komponenten erweitern, indem Sie den Mauszeiger über ein Arbeitslastsymbol bewegen und auf das Pluszeichen klicken, das rechts oben im Symbol angezeigt wird. Wenn Sie noch mehrmals auf das Pluszeichen klicken, können Sie weitere Details nach Arbeitslast, Deployment, Replikatsatz, Pod und sogar Container aufschlüsseln.

Wenn sich die Dienste und ihre Kommunikationsmuster im Laufe der Zeit ändern, erfasst der Dienst die Änderungen. Mit der Zeitleiste unten auf der Seite können Sie einen Zeitpunkt festlegen, um den Status des Diagramms anzuzeigen. Die Legende zeigt das Zeitintervall für die Grafik an.

Image

Kommunikationsbeziehungen basieren auf beobachtetem Netzwerkverkehr. Wenn Dienste zur angegebenen Zeit nicht kommunizieren, ist zwischen diesen Diensten kein Edge-Vorgang vorhanden.

Rechts über der Zeitachse befindet sich das Symbol Zeitunterschiedsvergleich aktivieren: Zeitunterschiedsvergleich aktivieren

Wenn Sie auf dieses Symbol klicken, öffnet die Grafik den diff mode, mit dem Sie die Grafik zu zwei Zeitpunkten vergleichen können.
Im Differenzierungsmodus können Sie mithilfe der Symbole zwischen verschiedenen Visualisierungen wechseln: Symbole für den Differenzierungsmodus

Die Zeitachse unten im Fenster steuert die beiden Zeitpunkte, die Sie vergleichen. Sie können die beiden Schieberegler anpassen, um den Zeitraum zu ändern.

Image

Bestimmten Dienst überwachen

Auf der Seite Service Mesh können Sie einen Dienst zur Überwachung der Tabellen- oder Topologiesicht auswählen. Nachdem Sie einen Dienst ausgewählt haben, wird eine linke Navigationsleiste mit Links zu den folgenden Seiten angezeigt:

  • Auf der Seite Übersicht werden der SLO-Status, wichtige Messwerte und Details zum Dienst angezeigt.

  • Auf der Seite Status werden SLO-Details angezeigt.

  • Auf der Seite Messwerte werden Diagramme für Schlüssel- und Infrastrukturmesswerte angezeigt. Sie können die Messwerte auf verschiedene Arten aufschlüsseln, z. B. nach Cluster und Pod.

  • Auf der Seite Verbundene Dienste werden Details zu eingehenden und ausgehenden Anfragen angezeigt.

  • Auf der Seite Diagnose werden Fehlerlogs angezeigt.

  • Auf der Seite Infrastruktur werden die wichtigsten Messwerte und Details zu jedem Pod angezeigt. Sie können auf den Pod-Namen klicken, um die Seite Arbeitslasten in der Google Cloud Console aufzurufen.

Mit der Zeitachse arbeiten

Sie können oben auf jeder Seite für einen bestimmten Dienst auf die Drop-down-Liste Zeispanne klicken, um Informationen für einen bestimmten Zeitraum aufzurufen.

Image

Klicken Sie zum Festlegen einer benutzerdefinierten Zeit auf Zeitachse aufrufen.

Image

Sie können die Zeitachse verwenden, um das Zeitintervall zu optimieren, das auf die Seite angewendet wird. Die gesamte Zeitspanne, die durch die Zeitachse angezeigt wird, wird über die Drop-down-Liste Zeitspanne gesteuert. Wenn Sie eine neue Zeitspanne auswählen, werden die Zeitachse und andere Elemente auf der Seite entsprechend aktualisiert. Beispiel: Die Grafiken auf der Seite Messwerte zeigen Daten an, die dem von Ihnen ausgewählten Zeitraum entsprechen. Wenn Sie die Zeitspanne weiter eingrenzen möchten, ziehen Sie die blauen Schieberegler.

Image

Auf Cloud Logging zugreifen

Die Anthos Service Mesh-Seiten enthalten die folgenden Links zu Cloud Logging:

  • Klicken Sie auf der Seite Messwerte unter dem Link Filter auswählen auf den Link Trafficlogs ansehen, um alle Logs für den Dienst innerhalb des angegebenen Zeitraums aufzurufen.

  • Klicken Sie auf der Seite Diagnose rechts oben im Fenster auf den Link In Logging öffnen, um die Fehlerlogs für den angegebenen Zeitraum aufzurufen.

Das Traffic-Log heißt server-accesslog-stackdriver und ist der überwachten Ressource k8s_container angehängt. Das Traffic-Log enthält die folgenden Informationen:

  • HTTP-Anfrageattribute, z. B. ID, URL, Größe, Latenz und allgemeine Header.

  • Informationen zu Quell- und Zielarbeitslast, z. B. Name, Namespace, Identität und allgemeine Labels.

  • Wenn Tracing aktiviert ist, werden Trace-Informationen wie Stichprobenerfassung, Trace-ID und Span-ID angezeigt.

Sie können das Traffic-Log auf verschiedene Arten verwenden. Beispiel:

Ein Beispiel für einen Logeintrag sieht so aus:

{
  insertId: "1awb4hug5pos2qi"
  httpRequest: {
    requestMethod: "GET"
    requestUrl: "YOUR-INGRESS/productpage"
    requestSize: "952"
    status: 200
    responseSize: "5875"
    remoteIp: "10.8.0.44:0"
    serverIp: "10.56.4.25:9080"
    latency: "1.587232023s"
    protocol: "http"
  }
  resource: {
    type: "k8s_container"
    labels: {
      location: "us-central1-a"
      project_id: "YOUR-PROJECT"
      pod_name: "productpage-v1-76589d9fdc-ptnt9"
      cluster_name: "YOUR-CLUSTER-NAME"
      container_name: "productpage"
      namespace_name: "default"
    }
  }
  timestamp: "2020-04-28T19:55:21.056759Z"
  severity: "INFO"
  labels: {
    destination_principal: "spiffe://cluster.local/ns/default/sa/bookinfo-productpage"
    response_flag: "-"
    destination_service_host: "productpage.default.svc.cluster.local"
    source_app: "istio-ingressgateway"
    service_authentication_policy: "MUTUAL_TLS"
    source_name: "istio-ingressgateway-5ff85d8dd8-mwplb"
    mesh_uid: "YOUR-MESH-UID"
    request_id: "021ce752-9001-4ac6-b6d6-3b15f5d3632"
    destination_namespace: "default"
    source_principal:  "spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account"
    destination_workload: "productpage-v1"
    destination_version: "v1"
    source_namespace: "istio-system"
    source_workload: "istio-ingressgateway"
    destination_name: "productpage-v1-76589d9fdc-ptnt9"
    destination_app: "productpage"
  }
  trace: "projects/YOUR-PROJECT/traces/d4197f59b7a43e3aeff3571bac99d536"
  receiveTimestamp: "2020-04-29T03:07:14.362416217Z"
  spanId: "43226343ca2bb2b1"
  traceSampled: true
  logName: "projects/YOUR-PROJECT/logs/server-accesslog-stackdriver"
  receiveTimestamp: "2020-04-28T19:55:32.185229100Z"
}

Nächste Schritte