Service Graph pour les applications cloud natives (Kubernetes)

À l’aide de la fonctionnalité Service Graph dans Citrix ADM, vous pouvez :

  • Garantir l’observabilité de bout en bout des performances globales de votre application

  • Identifier les goulots d’étranglement créés par l’interdépendance des différents composants de vos applications

  • Recueillir des informations sur les dépendances des différents composants de vos applications

  • Surveillance des services au sein du cluster Kubernetes

  • Surveiller le service qui présente des problèmes

  • Vérifier les facteurs qui contribuent aux problèmes de performance

  • Afficher la visibilité détaillée des transactions HTTP de service

  • Analysez les mesures suivantes :

    • Nombre total de visites

    • Temps de réponse du service

    • Volume de données

    • Erreurs

En visualisant ces mesures dans Citrix ADM, vous pouvez analyser la cause première des problèmes et prendre plus rapidement les actions de dépannage nécessaires. Service Graph affiche vos applications dans divers services de composants. Ces services s’exécutant à l’intérieur du cluster Kubernetes peuvent communiquer avec divers composants à l’intérieur et à l’extérieur de l’application.

Avant de commencer

Pour utiliser un graphique de service dans Citrix ADM, assurez-vous que vous disposez des éléments suivants :

  • Cluster Kubernetes avec Citrix ADC CPX en tant que proxy.

  • Citrix ADMagentest installé et configuré pour activer la communication entre Citrix ADM et les instances de cluster ou gérées Kubernetes dans votre datacenter ou cloud.

  • Ajout des paramètres requis dans le fichier Yaml CPX pour assurer la réussite de l’enregistrement CPX avec Citrix ADM.

  • Routes statiques configurées sur l’agent Citrix ADM pour activer la communication entre Citrix ADM et Citrix ADC CPX.

  • Cluster Kubernetes ajouté sur Citrix ADM.

  • Sélectionnez automatiquement Serveurs virtuels activés pour concéder une licence aux serveurs virtuels.

Configurer l’agent Citrix ADM pour qu’il s’enregistre auprès du cluster Kubernetes

Pour activer la communication entre le cluster Kubernetes et Citrix ADM, vous devez installer et configurer un agent Citrix ADM. Vous pouvez configurer un agent à l’aide d’un Hypervisor, de services de cloud public (tels que Microsoft Azure, AWS) ou d’un agent intégré disponible sur les instances Citrix ADC (idéal pour les déploiements HA).

Suivez laprocédurepour configurer un agent.

Remarque

Vous pouvez également utiliser un agent existant.

Ajouter des paramètres dans le fichier CPX yaml

Vous devez inclure les paramètres suivants dans le fichier CPX yaml pour garantir l’enregistrement CPX auprès de Citrix ADM :

- 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 — Indique l’adresse IP de l’agent Citrix ADM

  • NS_MGMT_FINGERPRINT — Indique l’authentification pour CPX dans l’agent Citrix ADM. Pour obtenir l’empreinte digitale :

    1. Dans Citrix ADM, accédez à Réseaux > Agents

    2. Sélectionnez l’agent, puis cliquez sur Afficher les empreintes digitales

      Empreinte digitale

  • NS_HTTP_PORT — Indique le port HTTP pour la communication

  • NS_HTTPS_PORT — Indique le port HTTPS pour la communication

  • LOGSTREAM_COLLECTOR_IP — Indique l’adresse IP de l’agent Citrix ADM, où le protocole Logstream doit être activé pour transférer les données du journal de CPX vers ADM

Configurer des routes statiques dans l’agent Citrix ADM

À l’intérieur du cluster Kubernetes, tous les gousses conteneurisées utilisent un réseau de superposition. Il n’est pas possible d’établir directement la communication en utilisant ces adresses IP privées. Pour activer la communication entre Citrix ADM et le cluster Kubernetes, vous devez configurer le routage statique dans l’agent Citrix ADM.

Considérez que vous disposez des adresses IP suivantes pour votre cluster Kubernetes :

  • Kubernetes maître — 10.106.157.112

  • Kubernetes travailleur 1 — 10.106.157.110

  • Kubernetes travailleur 2 — 10.106.157.111

Après avoir correctement configuré un agent Citrix ADM :

  1. À l’aide d’un client SSH, connectez-vous à l’agent Citrix ADM

  2. Configurez le routage statique à l’aide de la commanderoute add -net <public IP address range> <Kubernetes IP address>

    Par exemple :

    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. Vérifiez la configuration en utilisantnetstat -rn

    routage statique

  4. Ajoutez ces commandes de routage dans/mpsconfig/svm.conf le fichier (dans Citrix ADM Agent).

Ajouter un cluster Kubernetes dans Citrix ADM

Après avoir configuré un agent Citrix ADM et configuré des routes statiques, vous devez ajouter le cluster Kubernetes dans Citrix ADM.

Pour ajouter le cluster Kubernetes :

  1. Connectez-vous à Citrix ADM avec les informations d’identification de l’administrateur.

  2. Accédez à Orchestration > Kubernetes > Cluster . La page Clusters s’affiche.

  3. Cliquez sur Ajouter.

  4. Dans la page Ajouter un cluster, spécifiez les paramètres suivants :

    1. Nom - Indiquez le nom de votre choix.

    2. API Server URL - Vous pouvez obtenir les détails de l’URL API Server à partir du nœud Master Kubernetes.

      1. Sur le nœud maître Kubernetes, exécutez la commandekubectl cluster-info.

        URL du serveur API

      2. Entrez l’URL qui s’affiche pour “Kubernetes master est en cours d’exécution à.”

    3. Jeton d’authentification : spécifiez le jeton d’authentification. Le jeton d’authentification est requis pour valider l’accès pour la communication entre le cluster Kubernetes et Citrix ADM. Pour générer un jeton d’authentification :

      1. Sur le nœud maître Kubernetes, exécutez les commandes suivantes :

        kubectl get secrets | grep ^default

        kubectl describe secret <SECRET_NAME>

        Remarque

        Vous pouvez également créer des yamls de rôle et de compte de service RBAC pour votre cluster Kubernetes, et créer un jeton d’authentification pour l’utilisateur admin.

      2. Copiez le jeton généré.

        Pour de plus amples informations, consultez la documentation de Kubernetes.

    4. Sélectionnez l’agent dans la liste.

    5. Cliquez sur Créer.

      ajouter un cluster

      Vous pouvez afficher les données dans Service Graph, après avoir activé la sélection automatique des serveurs virtuels pour l’octroi de licences.

Activer la sélection automatique des serveurs virtuels pour les licences

Après avoir ajouté le cluster Kubernetes dans Citrix ADM, vous devez vous assurer de sélectionner automatiquement les serveurs virtuels pour la licence. Les serveurs virtuels doivent être sous licence pour afficher les données dans Service Graph. Pour sélectionner automatiquement des serveurs virtuels :

  1. Accédez à Comptes > Abonnements .

  2. Sous Résumé des licences du serveur virtuel, activez la sélection automatique des serveurs virtuelset la sélection automatique des serveurs virtuels non adressables.

    Sélection automatique du serveur virtuel

Après avoir ajouté le cluster Kubernetes et activé la sélection automatique des serveurs virtuels, modifiez les paramètres de transaction Web surTous. Pour activer ces paramètres :

  1. Accédez à Analytics > Paramètres .

    La page Paramètres s’affiche.

  2. Cliquez sur Activer les fonctionnalités pour Analytics.

  3. Sous Paramètres de transaction Web, sélectionnez Tout et cliquez sur OK .

    paramètres de transaction-web

Afficher les détails dans Service Graph

Accédez à Application > Graphique de service et sélectionnez la durée dans la liste pour afficher les détails du graphique de service.

Détails-service-graphique

1 - Carte réseau de bout en bout de votre application qui montre comment vos services de composants communiquent

2 — Graphique qui indique les résultats et les erreurs pour une durée de temps spécifique

3 — Barre de recherche pour rechercher des services

4 — Liste de temps pour sélectionner la durée de l’heure

5 - Appliquer des filtres aux services d’affichage

6 — Icône de réglage

7 — Vue Zoom avant et arrière

En fonction de la durée sélectionnée, les détails du graphique de service s’affichent. Sélectionnez la période dans le graphique qui indique les accès à l’exploration vers le bas pour plus d’informations.

Details-service-graph1

Les détails sont affichés. Considérez que vous avez les services suivants en cours d’exécution dans votre cluster Kubernetes comme indiqué dans l’image :

Services-Kubernetes

Vous pouvez afficher l’état suivant pour vos services :

  • Critique (rouge) - Indique quand le temps de réponse moyen du service > 200 ms ET le nombre d’erreurs > 0

  • Review (orange) - Indique quand le temps de réponse moyen du service > 200 ms OU le nombre d’erreurs > 0

  • Bon (vert) - Indique aucune erreur et le temps de réponse moyen du service < 200 ms

Appliquer les filtres

Vous pouvez appliquer des filtres pour afficher des informations de service spécifiques. Cliquez sur la liste Aucun filtre pour obtenir les options de filtre.

Options de filtre

Par exemple, si vous souhaitez afficher les services dont la latence est inférieure à 150 ms, cliquez sur le graphique à barres sous Temps de réponse du service pour afficher les résultats.

Options de filtre

Cliquez sur Étiquettes de service pour afficher les services en fonction des étiquettes fournies aux services.

Étiquettes de service

Cliquez sur Effacer tout pour effacer tous les filtres.

Tout clair

Vous pouvez également utiliser la zone de texte de recherche et taper un nom de service pour afficher les résultats sur le graphique de service.

Barre de recherche

Utilisation de l’option Paramètres

Icône Paramètres

1 — Icône Paramètres

2 — Options permettant d’afficher le graphique de service sous la forme de vues par défaut, Basé sur couche ou Force-Directed

3 — Sélectionnez les options dans la liste pour afficher les services en fonction des catégories. Après avoir sélectionné une catégorie dans la liste, cliquez sur + sur le graphique pour afficher tous les services

Services-vues

4 — Zoom avant et arrière sur le graphique de service

Afficher les détails de la transaction

Conformément à l’exemple illustré dans l’image, vous pouvez afficher une carte réseau de bout en bout de votre application qui montre comment vos services de composants communiquent.

Lorsque vous placez le pointeur de la souris sur l’ Ecommerce-Service, vous pouvez afficher les détails des mesures pour Ecommerce-Service.

Détails de l'erreur

Hits : indique le nombre total de hits reçus par le service.

Temps de réponse du service — Indique le temps de réponse moyen prélevé par le service pour répondre pour le délai au premier octet (TTFB).

Erreurs : indique le total des erreurs telles que 4xx, 5xx, etc.

Volume de données — Indique le volume total de données traitées par le service.

Comme vous pouvez le voir dans l’image que Ecommerce-Service indique des erreurs car il y a des erreurs dans Inventory-Service, qui est connecté à Ecommerce-Service. Placez le pointeur de la souris sur Inventory-Service pour afficher les mesures.

Détails de l'erreur

Afficher les journaux de transactions Web

Cliquez sur Inventory-Service pour plus de détails. Les détails de la transaction sont affichés pour Inventory-Service.

Récapitulatif des transactions

Vous pouvez sélectionner les options disponibles sous Synthèse des mouvements.

Option de synthèse des mouvements

  • Navigateur - Recherche des transactions basées sur les navigateurs utilisés par les utilisateurs.

  • Système d’exploitation client - Recherche des transactions basées sur les systèmes d’exploitation installés par les utilisateurs.

  • Type de demande : recherche des transactions en fonction de la demande du service.

  • Code de réponse — Recherche des transactions en fonction de la réponse du service. Par exemple : 501, 404, 200.

  • Type de contenu de réponse : recherche des transactions en fonction du type de contenu. Si la demande du client est pour text/html, alors la réponse du service doit être text/html.

  • Protocole SSL — Recherche des transactions en fonction des protocoles utilisés par les utilisateurs.

  • Force de chiffrement SSL : recherche des transactions en fonction du statut élevé, moyen et faible.

  • SSL Key Force — Recherche des transactions en fonction de la longueur de la clé utilisée pour la sécurité. Par exemple : 2048.

  • SSL Frontend Failure - Recherche des transactions en fonction de la raison de l’échec de la poignée de main.

Recherche en libre-service

Le Synthèse des mouvements comporte également une zone de texte de recherche et une liste de durée, dans laquelle vous pouvez afficher les transactions selon vos besoins. Lorsque vous cliquez sur la zone de recherche, la zone de recherche vous donne une liste de suggestions de recherche. Vous pouvez également utiliser des opérateurs dans vos requêtes de recherche pour affiner le focus de votre recherche.

Voici les opérateurs que vous pouvez utiliser pour vos requêtes de recherche :

Opérateurs Description Exemple Résultat
= Egal à une certaine valeur Temps de réponse de l’application = 500 Affiche toutes les transactions avec un temps de réponse de 500 ms
> Supérieur à une certaine valeur Temps de réponse de l’application > 500 Affiche toutes les transactions avec plus de 500 ms de temps de réponse
< Moins qu’une certaine valeur Temps de réponse de l’application < 300 Affiche toutes les transactions avec un temps de réponse inférieur à 300 ms
>= Supérieur ou égal à une certaine valeur Client-RTT >= 1024 Affiche toutes les transactions avec le client RTT supérieur ou égal à 1024 ko
<= Inférieur ou égal à une certaine valeur Client-RTD <= 1024 Affiche toutes les transactions dont la valeur est inférieure ou égale à 1024 ko
!= Pas égal à une certaine valeur Nombre total d’octets ! = 0 Affiche toutes les transactions avec un total d’octets, sauf 0 octets
~ Contient une certaine valeur Serveur virtuel ~ mas Affiche toutes les transactions traitées avec le serveur virtuel contenant mas comme nom

Afficher les détails de la transaction

Vous pouvez afficher des informations détaillées sur une transaction particulière. Considérez que vous souhaitez voir les détails des transactions d’erreur 500. Cliquez sur Code réponse dans Synthèse des mouvements et sélectionnez 500 pour afficher les 500 transactions d’erreur.

5xx-error-transaction

Cliquez pour afficher les détails qui affichent les informations du service Ecommerce-Service au serviceInventory-Service .

Détails de la transaction

À partir des détails, vous pouvez analyser les facteurs qui ont causé l’erreur 500 et prendre les mesures nécessaires pour résoudre le problème plus rapidement.