Suivi distribué

Dans le graphique des services, vous pouvez utiliser la vue de suivi distribuée pour :

  • Analysez les performances globales du service.

  • Visualisez le flux de communication entre le service sélectionné et ses services interdépendants.

  • Identifiez le service qui indique les erreurs et dépannez le service erroné.

  • Afficher les détails de transaction entre le service sélectionné et chaque service interdépendant.

Pré-requis

Pour afficher les informations de suivi du service, vous devez :

  • Assurez-vous qu’une application conserve les en-têtes de trace suivants, tout en envoyant tout trafic est-ouest :

    Headers

  • Pour les versions CIC antérieures à la version 1.7.23, mettez à jour le fichier YAML CPX avec la valeur NS_DISTRIBUTED_TRACING et yes

    CPX YAML

  • Pour les versions CIC postérieures à 1.7.23, vous devez utiliser un ConfigMap.

    ConfigMaps vous permet de séparer vos configurations de vos pods et de rendre vos charges de travail portables. Grâce à ConfigMaps, vous pouvez facilement modifier et gérer vos configurations de charge de travail et réduire le besoin de coder en dur les données de configuration en fonction des spécifications du module.

    Grâce à la prise en charge de ConfigMap, vous pouvez mettre à jour la configuration automatiquement tout en maintenant le pod NetScaler Ingress Controller en cours d’exécution. Vous n’avez pas besoin de redémarrer le module après la mise à jour. Pour plus d’informations, voir Prise en charge de ConfigMap pour le contrôleur d’entrée.

    À l’aide de ConfigMap, vous pouvez activer ou désactiver le suivi distribué, les événements, les journaux d’audit, etc. Pour utiliser le ConfigMap :

    1. Créez un fichier YAML en utilisant les paramètres requis.

      Le suivi distribué est activé dans le fichier YAML suivant et d’autres variables telles que les journaux d’audit, les événements et les transactions sont désactivés :

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cic-configmap
        namespace: default
      data:
        LOGLEVEL: 'debug'
        NS_PROTOCOL: 'http'
        NS_PORT: '80'
        NS_HTTP2_SERVER_SIDE: 'ON'
        NS_ANALYTICS_CONFIG: |
          distributed_tracing:
            enable: 'true'
            samplingrate: 100
          endpoint:
            server: <AgentIP> / <AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'false'
            events:
              enable: 'false'
          transactions:
            enable: 'false'
            port: 5557
      <!--NeedCopy-->
      

      Remarque

      Vous pouvez fournir les valeurs pour Samplingrate comprises entre 0 et 100. La console NetScaler affiche le nombre indiqué de transactions de suivi.

    2. Déployez ConfigMap à l’aide de :

      kubectl create -f <configmap-yaml>.yaml

    3. Modifiez le fichier CPX YAML et utilisez envFrom ou args pour spécifier les arguments suivants :

      envFrom:
       - configMapRef:
           name: cic-configmap
      <!--NeedCopy-->
      

      OU

      YAML

      La configuration YAML ConfigMap est déployée dans CIC.

    4. Si vous souhaitez modifier la valeur d’une variable, modifiez les valeurs dans ConfigMap. Dans cet exemple, toutes les autres variables sont changées de false à true.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cic-configmap
        namespace: default
      data:
        LOGLEVEL: 'debug'
        NS_PROTOCOL: 'http'
        NS_PORT: '80'
        NS_HTTP2_SERVER_SIDE: 'ON'
        NS_ANALYTICS_CONFIG: |
          distributed_tracing:
            enable: 'true'
            samplingrate: 100
          endpoint:
            server: <AgentIP> / <AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'true'
            events:
              enable: 'true'
          transactions:
            enable: 'true'
            port: 5557
        <!--NeedCopy-->
      
    5. Appliquez à nouveau ConfigMap à l’aide de la commande suivante :

      kubectl apply -f <yaml-file>.yaml

Afficher les détails du suivi du service

Dans le graphique des services, cliquez sur un service, puis sélectionnez Trace Info.

Informations sur le suivi

La page Résumé du suivi s’affiche pour le service sélectionné.

Résumé du suivi

Le résumé du suivi affiche :

  • Une recherche avancée qui vous permet de rechercher des transactions avec des suggestions et des opérateurs (1). Pour plus d’informations, consultez la section Recherche avancée.

  • Liste de durée de temps qui vous permet de sélectionner la durée de temps telle que 1 heure, 12 heures, 1 jour, 1 semaine, 1 mois et heure personnalisée (2).

  • Le graphique des détails de la chronologie qui vous permet de faire glisser et sélectionner pour afficher les résultats pendant une durée spécifique (3).

  • Le panneau Filtres qui vous permet de sélectionner des options pour chaque métrique (4).

  • Les détails de la transaction pour le service sélectionné (5).

Afficher les détails de la transaction

Cliquez sur une transaction pour accéder à des informations détaillées. Vous pouvez consulter les détails des transactions pour le service sélectionné, tels que :

  • Heure de début

  • Heure de fin

  • Métriques SSL

  • Communication avec des services interdépendants (ainsi que les erreurs et le temps de réponse pour chaque service).

L’exemple suivant indique une erreur provenant de catalogue-store-service. Cliquez sur Voir les détails du suivi pour plus de détails.

Détails du suivi

La page Détails du suivi s’affiche.

Tracer les transactions

1 — Affiche l’heure de début, le temps de réponse, le total des services et la durée totale de la transaction.

2 — Affiche les détails du service sélectionné qui a communiqué avec ses services d’interdépendance. Vous pouvez cliquer sur chaque transaction pour en afficher les détails.

3 — Affiche les détails de la transaction pour chaque service.

Selon l’image d’exemple, catalogue-store-service indique une erreur. Cliquez sur la transaction disponible pour catalogue-store-service.

Cliquez sur la transaction

Les détails de la transaction entre product-catalogue-service et catalogue-store-service indiquent que la réponse HTTP est 500. Grâce à ces informations, en tant qu’administrateur, vous pouvez analyser le service erroné et le résoudre product-catalogue-service afin de le résoudre.

Vous pouvez également filtrer les résultats en sélectionnant les options de chaque métrique dans le panneau Filtres . Par exemple, si vous souhaitez voir toutes les transactions 5xx, cliquez sur Code de réponse et sélectionnez 500.

Panneau filtrant

  • Client RTT : durée pendant laquelle un paquet doit être acheminé depuis le client.

  • Serveur RTT : durée pendant laquelle un paquet doit être acheminé depuis le serveur.

  • Temps deréponse de l’application : tempsde réponse moyen de l’application

  • Temps de transfert desdonnées : taille du transfert de données et vitesse à laquelle la transmission peut se faire depuis/vers un service.

  • Lieu : L’adresse du client

  • Navigateur : types de navigateurs utilisés par les clients. Par exemple : Chrome, Firefox.

  • Système d’exploitation client : système d’exploitation client basé sur les détails de l’agent utilisateur du navigateur.

  • Appareil : les appareils basés sur les détails de l’agent utilisateur du navigateur. Par exemple : Tablet, Mobile.

  • Type de demande : typede demande de transaction. Par exemple : GET.

  • Code de réponse : code de réponse reçu du serveur. Par exemple : 501, 404, 200.

  • Type de contenu de réponse : le type de contenu de la transaction. Si la demande du client porte sur du texte/html, la réponse du serveur doit être text/html.

  • Protocole SSL : version du protocole SSL utilisée par les clients. Par exemple : SSLv3.

  • Force de chiffrement SSL : puissancede chiffrement basée sur la taille de la clé du certificat SSL, telle que élevée, moyenne et faible.

  • Force declé SSL : La forcede chiffrement SSL est calculée à partir de la taille de la clé du certificat SSL. La longueur de la clé définit la sécurité de l’algorithme SSL. Par exemple : 2048

  • Raison de l’échec du frontendSSL : message d’erreur de connexion SSL frontal. Par exemple : SSL CLIENTAUTH FAILURE

Suivi distribué