Service Graph für Cloud-native (Kubernetes) Apps

Mit der Service Graph-Funktion in Citrix ADM können Sie:

  • Sicherstellen der End-to-End-Beobachtbarkeit der Gesamtleistung Ihrer Anwendung

  • Identifizieren von Engpässen, die durch die gegenseitige Abhängigkeit verschiedener Komponenten Ihrer Anwendungen entstehen

  • Sammeln Sie Einblicke in die Abhängigkeiten verschiedener Komponenten Ihrer Anwendungen

  • Überwachung von Diensten innerhalb des Kubernetes-Clusters

  • Überwachen, welcher Dienst Probleme hat

  • Überprüfen Sie die Faktoren, die zu Leistungsproblemen beitragen

  • Detaillierte Sichtbarkeit von Service-HTTP-Transaktionen anzeigen

  • Analysieren Sie die folgenden Metriken:

    • Gesamtzahl der Treffer

    • Service-Reaktionszeit

    • Datenvolumen

    • Fehler

Durch die Visualisierung dieser Metriken in Citrix ADM können Sie die Ursache von Problemen analysieren und die erforderlichen Fehlerbehebungsaktionen schneller durchführen. Service Graph zeigt Ihre Anwendungen in verschiedenen Komponenten-Services an. Diese Dienste, die innerhalb des Kubernetes-Clusters ausgeführt werden, können mit verschiedenen Komponenten innerhalb und außerhalb der Anwendung kommunizieren.

Bevor Sie beginnen

Um das Dienstdiagramm in Citrix ADM zu verwenden, stellen Sie sicher, dass Sie Folgendes haben:

  • Kubernetes-Cluster mit Citrix ADC CPX als Proxy.

  • Citrix ADMAgentinstalliert und konfiguriert, um die Kommunikation zwischen Citrix ADM und Kubernetes-Cluster oder verwalteten Instances in Ihrem Rechenzentrum oder in der Cloud zu ermöglichen.

  • Die erforderlichen Parameter in der CPX-Yaml-Datei wurden hinzugefügt, um eine erfolgreiche CPX-Registrierung mit Citrix ADM sicherzustellen.

  • Statische Routen, die auf dem Citrix ADM Agent konfiguriert sind, um die Kommunikation zwischen Citrix ADM und Citrix ADC CPX zu ermöglichen.

  • Der Kubernetes-Cluster wurde auf Citrix ADM hinzugefügt.

  • Automatische Auswahl virtueller Server, die aktiviert sind, um die virtuellen Server zu lizenzieren.

Konfigurieren des Citrix ADM Agenten für die Registrierung beim Kubernetes-Cluster

Um die Kommunikation zwischen Kubernetes-Cluster und Citrix ADM zu aktivieren, müssen Sie einen Citrix ADM-Agent installieren und konfigurieren. Sie können einen Agenten mit einem Hypervisor, öffentlichen Cloud-Services (wie Microsoft Azure, AWS) oder einem integrierten Agenten konfigurieren, der auf Citrix ADC Instances verfügbar ist (ideal für HA-Bereitstellungen).

Befolgen Sie die Prozedur, um einen Agenten zu konfigurieren.

Hinweis

Sie können auch einen vorhandenen Agenten verwenden.

Parameter in der CPX-Yaml-Datei hinzufügen

Um die CPX-Registrierung mit Citrix ADM sicherzustellen, müssen Sie die folgenden Parameter in die CPX-YAML-Datei aufnehmen:

- name: "NS_MGMT_SERVER"
  value: "10.106.150.72"
- name: "NS_MGMT_FINGERPRINT"
  value: "E3:3A:2B:F7:CC:A6:3D:72:8F:3E:3E:4F:0D:C1"
- name: "NS_HTTP_PORT"
  value: "9080"
- name: "NS_HTTPS_PORT"
  value: 9443"
- name: "LOGSTREAM_COLLECTOR_IP"
  value: "10.106.150.72"

  • NS_MGMT_SERVER — Gibt die IP-Adresse des Citrix ADM Agenten an

  • NS_MGMT_FINGERPRINT — Gibt die Authentifizierung für CPX im Citrix ADM Agent an. So erhalten Sie den Fingerabdruck:

    1. Navigieren Sie in Citrix ADM zu Netzwerken > Agents

    2. Wählen Sie den Agenten aus, und klicken Sie dann auf Fingerabdruck anzeigen

      Fingerabdruck

  • NS_HTTP_PORT — Gibt den HTTP-Port für die Kommunikation an

  • NS_HTTP_PORT — Gibt den HTTPS-Port für die Kommunikation an

  • LOGSTREAM_COLLECTOR_IP — Gibt die IP-Adresse des Citrix ADM Agenten an, bei der das Logstream-Protokoll aktiviert werden muss, um Protokolldaten von CPX an ADM zu übertragen.

Konfigurieren statischer Routen im Citrix ADM Agent

Innerhalb des Kubernetes-Clusters verwenden alle containerisierten Pods ein Overlay-Netzwerk. Eine direkte Kommunikation über diese privaten IP-Adressen ist nicht möglich. Um die Kommunikation von Citrix ADM zum Kubernetes-Cluster zu aktivieren, müssen Sie das statische Routing im Citrix ADM-Agent konfigurieren.

Beachten Sie, dass Sie die folgenden IP-Adressen für Ihren Kubernetes-Cluster haben:

  • Kubernetes-Master — 10.106.157.112

  • Kubernetes Arbeiter 1 — 10.106.157.110

  • Kubernetes Arbeiter 2 — 10.106.157.111

Nach erfolgreicher Konfiguration eines Citrix ADM Agenten:

  1. Melden Sie sich mit einem SSH-Client an Citrix ADM Agent an

  2. Konfigurieren Sie das statische Routing mit dem Befehlroute add -net <public IP address range> <Kubernetes IP address>

    Zum Beispiel:

    route add -net 192.168.0.0/24 10.106.157.112

    route add -net 192.168.1.0/24 10.106.157.111

    route add -net 192.168.2.0/24 10.106.157.110

  3. Überprüfen Sie die Konfiguration mithilfenetstat -rnvon

    statisches Routing

  4. Hängen Sie diese Routenbefehle in/mpsconfig/svm.conf Datei an (in Citrix ADM Agent).

Hinzufügen von Kubernetes-Cluster in Citrix ADM

Nachdem Sie einen Citrix ADM Agent konfiguriert und statische Routen konfiguriert haben, müssen Sie den Kubernetes-Cluster in Citrix ADM hinzufügen.

So fügen Sie den Kubernetes-Cluster hinzu:

  1. Melden Sie sich mit Administratoranmeldeinformationen bei Citrix ADM an.

  2. Navigieren Sie zu Orchestration > Kubernetes > Cluster. Die Seite Cluster wird angezeigt.

  3. Klicken Sie auf Hinzufügen.

  4. Geben Sie auf der Seite Cluster hinzufügen die folgenden Parameter an:

    1. Name - Geben Sie einen Namen Ihrer Wahl an.

    2. API-Server-URL - Sie können die API-Server-URL-Details vom Kubernetes-Master-Knoten abrufen.

      1. Führen Sie den Befehl auf dem Kubernetes-Master-Knoten aus kubectl cluster-info.

        API-Server-URL

      2. Geben Sie die URL ein, die für Kubernetes master is running at angezeigt wird.

    3. Authentifizierungstoken - Geben Sie das Authentifizierungstoken an. Das Authentifizierungstoken ist erforderlich, um den Zugriff für die Kommunikation zwischen dem Kubernetes-Cluster und Citrix ADM zu validieren. So generieren Sie ein Authentifizierungstoken:

      1. Führen Sie auf dem Kubernetes-Master-Knoten die folgenden Befehle aus:

        kubectl get secrets | grep ^default

        kubectl describe secret <SECRET_NAME>

        Hinweis

        Sie können auch RBAC-Rollen- und Dienstkonto-yamls für Ihren Kubernetes-Cluster erstellen und ein Authentifizierungstoken für den Admin-Benutzer erstellen.

      2. Kopieren Sie das erzeugte Token.

        Weitere Informationen finden Sie in der Kubernetes-Dokumentation.

    4. Wählen Sie den Agenten aus der Liste aus.

    5. Klicken Sie auf Erstellen.

      Cluster hinzufügen

      Sie können Daten in Service Graph anzeigen, nachdem Sie die automatisch ausgewählten virtuellen Server für die Lizenzierung aktiviert haben.

Automatische Auswahl virtueller Server für die Lizenzierung aktivieren

Nachdem Sie Kubernetes-Cluster in Citrix ADM hinzugefügt haben, müssen Sie sicherstellen, dass virtuelle Server für die Lizenzierung automatisch ausgewählt werden. Virtuelle Server müssen lizenziert sein, um Daten in Service Graph anzuzeigen. So wählen Sie virtuelle Server automatisch aus:

  1. Navigieren Sie zu Konten > Abonnements.

  2. Aktivieren Sie unter Virtual Server License Summarydie Option Automatische Auswahl virtueller Serverund Automatische Auswahl nicht adressierbarer virtueller Server.

    Virtuellen Server automatisch auswählen

Nachdem Sie den Kubernetes-Cluster hinzugefügt und die automatisch ausgewählten virtuellen Server aktiviert haben, ändern Sie die Web-Transaktionseinstellungen in Alle. So aktivieren Sie diese Einstellungen:

  1. Navigieren Sie zu Analytics > Einstellungen.

    Die Seite Einstellungen wird angezeigt.

  2. Klicken Sie auf Features für Analytics aktivieren.

  3. Wählen Sie unter Webtransaktionseinstellungen die Option Alle aus, und klicken Sie auf OK.

    Web-Transaktionseinstellungen

Details in Service Graph anzeigen

Navigieren Sie zu Anwendung > Dienstdiagramm, und wählen Sie die Zeitdauer aus der Liste aus, um die Details des Service-Diagramms anzuzeigen.

Details-Dienstdiagramm

1 - End-to-End-Netzwerkkarte Ihrer Anwendung, die zeigt, wie Ihre Komponentendienste kommunizieren

2 — Diagramm, das Treffer und Fehler für eine bestimmte Zeitdauer anzeigt

3 — Suchleiste für die Suche nach Diensten

4 — Zeitliste zur Auswahl der Zeitdauer

5 - Anwenden von Filtern für Anzeigedienste

6 — Einstellungssymbol

7 — Ansicht vergrößern und verkleinern

Basierend auf der gewählten Zeitdauer werden die Service-Graph-Details angezeigt. Wählen Sie den Zeitraum aus dem Diagramm aus, der Treffer anzeigt, die weiter aufschlüsselt werden sollen, um weitere Informationen zu erhalten.

Details-service-graph1

Die Details werden angezeigt. Beachten Sie, dass in Ihrem Kubernetes-Cluster die folgenden Dienste ausgeführt werden, wie im Bild gezeigt:

Dienstleistungen-Kubernetes

Sie können den folgenden Status für Ihre Dienste anzeigen:

  • Kritisch (rot) - Gibt an, wann durchschnittliche Service-Reaktionszeit > 200 ms UND Fehleranzahl > 0

  • Überprüfung (orange) - Gibt an, wann die durchschnittliche Service-Reaktionszeit > 200 ms ODER Fehleranzahl > 0

  • Gut (grün) - Zeigt keinen Fehler und durchschnittliche Service-Reaktionszeit < 200 ms

Filter anwenden

Sie können Filter anwenden, um bestimmte Dienstinformationen anzuzeigen. Klicken Sie auf Keine Filter Liste, um die Filteroptionen abzurufen.

Filteroptionen

Wenn Sie z. B. Dienste mit einer Latenz von weniger als 150 ms anzeigen möchten, klicken Sie auf das Balkendiagramm unter Dienstantwortzeit, um die Ergebnisse anzuzeigen.

Filteroptionen

Klicken Sie auf Service-Labels, um Services basierend auf den für Services bereitgestellten Labels anzuzeigen.

Service-Labels

Klicken Sie auf Alle löschen, um alle Filter zu löschen.

Alles klar

Alternativ können Sie auch das Suchtextfeld verwenden und einen Dienstnamen eingeben, um die Ergebnisse im Dienstdiagramm anzuzeigen.

Suchleiste

Verwenden der Option Einstellungen

Einstellungen-Symbol

1 — Symbol Einstellungen

2 — Optionen zum Anzeigen des Service-Graphen als Standardansicht, Ebenenbasierte oder erzwungene Ansichten

3 — Wählen Sie die Optionen aus der Liste aus, um die Services basierend auf Kategorien anzuzeigen. Nachdem Sie eine Kategorie aus der Liste ausgewählt haben, klicken Sie auf + in der Grafik, um alle Dienste anzuzeigen.

Services-Ansichten

4 — Vergrößern und Verkleinern des Service-Graphen

Transaktionsdetails anzeigen

Gemäß dem im Bild gezeigten Beispiel können Sie eine End-to-End-Netzwerkkarte Ihrer Anwendung anzeigen, die zeigt, wie die Komponentendienste kommunizieren.

Wenn Sie den Mauszeiger auf den Ecommerce-Servicebewegen, können Sie Metrikdetails für Ecommerce-Serviceanzeigen.

Fehlerdetails

Treffer — Gibt die Gesamtzahl der vom Dienst empfangenen Treffer an.

Service-Antwortzeit — Gibt die durchschnittliche Antwortzeit an, die der Dienst für die Antwort auf Zeit bis erstes Byte (TTFB) verwendet hat.

Fehler — Gibt die Gesamtfehler an, z. B. 4xx, 5xx usw.

Datenvolumen — Gibt das Gesamtvolumen der vom Dienst verarbeiteten Daten an.

Wie Sie im Bild sehen können, dass Ecommerce-Service Fehler anzeigt, weil es einige Fehler in Inventory-Service, die mit Ecommerce-Service verbunden ist, gibt. Bewegen Sie den Mauszeiger auf Inventory-Service, um die Metriken anzuzeigen.

Fehlerdetails

Web-Transaktionsprotokolle anzeigen

Klicken Sie auf Inventory-Service, um weitere Details anzuzeigen. Die Transaktionsdetails werden für Inventory-Service angezeigt.

Transaktionsübersicht

Sie können die verfügbaren Optionen unter Transaktionsübersichtauswählen.

Transaktionsübersichtsoption

  • Browser - Suchen Sie Transaktionen basierend auf den Browsern, die von den Benutzern verwendet werden.

  • Client-Betriebssystem - Suchen Sie Transaktionen basierend auf den von den Benutzern installierten Betriebssystemen.

  • Anforderungsart — Suchen Sie Transaktionen basierend auf der Anforderung des Service.

  • Antwortcode — Suchen Sie Transaktionen basierend auf der Antwort des Dienstes. Zum Beispiel: 501, 404, 200.

  • Antwort-Inhaltstyp — Suchen Sie Transaktionen basierend auf dem Inhaltstyp. Wenn die Clientanforderung für text/html ist, muss die Antwort des Dienstes text/html sein.

  • SSL-Protokoll — Suche Transaktionen basierend auf den Protokollen, die von den Benutzern verwendet werden.

  • SSL-Verschlüsselungsstärke — Suche Transaktionen basierend auf dem Status wie hoch, mittel und niedrig.

  • SSL-Schlüsselstärke — Suche Transaktionen basierend auf der Länge des Schlüssels, der für die Sicherheit verwendet wird. Zum Beispiel: 2048.

  • SSL Frontend Failure - Suche Transaktionen basierend auf dem Grund für Handshake-Fehler.

Self-Service-Suche

Die Transaktionsübersicht verfügt außerdem über ein Suchtextfeld und eine Liste der Zeitdauer, in der Sie die Transaktionen gemäß Ihrer Anforderung anzeigen können. Wenn Sie auf das Suchfeld klicken, erhalten Sie im Suchfeld eine Liste mit Suchvorschlägen. Sie können auch Operatoren in Ihren Suchanfragen verwenden, um den Fokus Ihrer Suche einzuschränken.

Im Folgenden finden Sie die Operatoren, die Sie für Ihre Suchanfragen verwenden können:

Operatoren Beschreibung Beispiel Ausgeben
= Entspricht einem gewissen Wert App-Antwortzeit = 500 Zeigt alle Transaktionen mit 500 ms Reaktionszeit an
> Größer als ein bestimmter Wert App-Antwortzeit > 500 Zeigt alle Transaktionen mit mehr als 500 ms Reaktionszeit an
< Geringerer als ein Wert App-Antwortzeit < 300 Zeigt alle Transaktionen mit weniger als 300 ms Reaktionszeit an
>= Größer oder gleich einem Wert Client-RTT >= 1024 Zeigt alle Transaktionen mit Client RTT größer oder gleich 1024 kb
<= Kleiner oder gleich einem Wert Client-RTT <= 1024 Zeigt alle Transaktionen mit kleiner oder gleich 1024 kb an
!= Nicht gleich einem Wert Gesamtbytes! = 0 Zeigt alle Transaktionen mit Gesamtbytes an, außer 0 Byte
~ Enthält einen Wert Virtueller Server ~ mas Zeigt alle Transaktionen an, die mit einem virtuellen Server verarbeitet werden, der mas als Name enthält

Transaktionsdetails anzeigen

Sie können detaillierte Informationen zu einer bestimmten Transaktion anzeigen. Beachten Sie, dass Sie Details für 500 Fehlertransaktionen anzeigen möchten. Klicken Sie auf Antwortcode aus Transaktionsübersicht, und wählen Sie 500 aus, um die 500 Fehlertransaktionen anzuzeigen.

5xx-error-transaction

Klicken Sie hier, um Details anzuzeigen, die die Informationen von Ecommerce-Service bis Inventory-Service anzeigen.

Transaktionsdetails

Aus den Details können Sie die Faktoren analysieren, die 500 Fehler verursacht haben, und die notwendigen Maßnahmen ergreifen, um das Problem schneller zu beheben.