Alibaba Cloud Service Mesh (ASM) vous permet d'exporter les données de traçage vers Managed Service for OpenTelemetry ou un système auto-géré. Cette rubrique explique comment configurer cette exportation dans la console ASM.
Prérequis
Un cluster ACK a été ajouté à l'instance ASM. Pour plus d'informations, consultez la section Ajouter un cluster à une instance ASM.
Vous avez activé Managed Service for OpenTelemetry sur votre compte Alibaba Cloud. Pour en savoir plus sur la facturation, consultez la section Facturation.
Une passerelle d'entrée a été déployée dans l'instance ASM. Pour plus d'informations, consultez la section Créer une passerelle d'entrée.
Exporter les données de traçage vers Managed Service for OpenTelemetry
Sélectionnez l'onglet correspondant à la version de votre instance ASM. Pour mettre à niveau votre instance, consultez la section Mettre à niveau une instance ASM.
Versions antérieures à 1.17.2.35
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Base Information, cliquez sur Settings. Dans le panneau Settings Update, sélectionnez Enable Tracing Analysis, définissez le Sampling Percentage, définissez la Sampling Method sur Managed Service for OpenTelemetry, puis cliquez sur OK.
-
Dans le volet de navigation de gauche, choisissez . Vous êtes redirigé vers la console Managed Service for OpenTelemetry. Une fois la configuration terminée, vous pouvez vous connecter à la console Managed Service for OpenTelemetry et consulter les métriques de surveillance telles que le nombre de requêtes, les temps de réponse et le nombre de spans pour vos applications sur la page Overview Analysis.
Pour plus d'informations sur le traçage, consultez la section Qu'est-ce que Managed Service for OpenTelemetry ?
Pour désactiver cette fonctionnalité, décochez l'option Enable Tracing Analysis dans le panneau Settings Update, puis cliquez sur OK.
Versions 1.17.2.35 à antérieures à 1.18.0.124
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Tracing Analysis, cliquez sur Collect ASM Tracing Data to Managed Service for OpenTelemetry, puis dans la boîte de dialogue Confirm, cliquez sur OK.
-
Cliquez sur Open the Managed Service for OpenTelemetry Console pour afficher les données de traçage.
Pour plus d'informations sur le traçage, consultez la section Qu'est-ce que Managed Service for OpenTelemetry ? Une fois la configuration terminée, vous pouvez vous connecter à la console Managed Service for OpenTelemetry et consulter les métriques de surveillance telles que le nombre de requêtes, les temps de réponse et le nombre de spans pour vos applications sur la page Overview Analysis.
Si vous n'avez plus besoin de cette fonctionnalité, sur la page Tracing Analysis, cliquez sur Disable Collection, puis dans la boîte de dialogue Confirm, cliquez sur OK.
Versions 1.18.0.124 à antérieures à 1.22.6.89
Pour ces versions d'instance, vous ne pouvez pas configurer l'exportation vers Managed Service for OpenTelemetry directement dans la console. Vous devez plutôt déployer et configurer manuellement un collecteur OpenTelemetry.
Étape 1 : Déployer l'opérateur OpenTelemetry
-
Dans l'environnement kubeconfig de votre cluster ACK, exécutez la commande suivante pour créer le namespace
opentelemetry-operator-system:kubectl create namespace opentelemetry-operator-system -
Exécutez la commande suivante pour installer l'opérateur OpenTelemetry dans le namespace opentelemetry-operator-system à l'aide de Helm :
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm install --namespace=opentelemetry-operator-system opentelemetry-operator open-telemetry/opentelemetry-operator \ --set "manager.collectorImage.repository=otel/opentelemetry-collector-k8s" \ --set admissionWebhooks.certManager.enabled=false \ --set admissionWebhooks.autoGenerateCert.enabled=true -
Exécutez la commande suivante pour vérifier si l'opérateur OpenTelemetry fonctionne correctement :
kubectl get pod -n opentelemetry-operator-systemSortie attendue :
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 1mUn statut
STATUSindiquantRunningsignifie que l'opérateur OpenTelemetry est en cours d'exécution.
Étape 2 : Créer le collecteur OpenTelemetry
-
Créez un fichier nommé collector.yaml avec le contenu suivant.
Dans le fichier YAML, remplacez
${ENDPOINT}par le point d'accès VPC gRPC et${TOKEN}par le jeton d'authentification. Pour obtenir le point d'accès et le jeton d'authentification pour Managed Service for OpenTelemetry, consultez la section Accès et authentification. -
Dans l'environnement kubeconfig de votre cluster ACK, exécutez la commande suivante pour déployer le collecteur dans le cluster :
kubectl apply -f collector.yaml -
Exécutez la commande suivante pour vérifier si le collecteur a démarré correctement :
kubectl get pod -n opentelemetry-operator-systemSortie attendue :
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 3m default-collector-5cbb4497f4-2hjqv 1/1 Running 0 30sCette sortie indique que le collecteur a démarré avec succès.
-
Exécutez la commande suivante pour vérifier si le service a été créé :
kubectl get svc -n opentelemetry-operator-systemSortie attendue :
opentelemetry-operator ClusterIP 172.16.138.165 <none> 8443/TCP,8080/TCP 3m opentelemetry-operator-webhook ClusterIP 172.16.127.0 <none> 443/TCP 3m default-collector ClusterIP 172.16.145.93 <none> 4317/TCP 30s default-collector-headless ClusterIP None <none> 4317/TCP 30s default-collector-monitoring ClusterIP 172.16.136.5 <none> 8888/TCP 30sLa sortie indique que le service a été créé avec succès.
Étape 3 : Activer le traçage dans la console ASM
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Observability Settings, dans la section Tracing Analysis Settings, définissez le Sampling Percentage sur 100 et cliquez sur Submit.
Dans le volet de navigation de gauche, choisissez . Définissez l'Adresse/Domaine du service OpenTelemetry sur default-collector.opentelemetry-operator-system.svc.cluster.local et le OpenTelemetry Service Port sur 4317. Ensuite, cliquez sur Collect ASM Tracing Data to Custom Managed Service for OpenTelemetry.
Versions 1.22.6.89 et ultérieures
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, choisissez .
Sur la page Tracing Analysis, dans la section Export to Alibaba Cloud Observable Link, sélectionnez une Export Method, telle que Zipkin. Dans la section Fill in the configuration, saisissez les informations requises et cliquez sur Submit.
-
Cliquez sur Go to Managed Service for OpenTelemetry console pour afficher les données de traçage. Pour plus d'informations sur le traçage, consultez la section Qu'est-ce que Managed Service for OpenTelemetry ?
RemarqueSi vous n'avez plus besoin de cette fonctionnalité, sur la page Tracing Analysis, cliquez sur Export, puis dans la boîte de dialogue Confirm, cliquez sur OK.
Exporter les données de traçage vers un système auto-géré
La méthode d'exportation pour un système auto-géré dépend de la version de votre instance ASM. Sélectionnez l'onglet correspondant à la version de votre instance.
Versions antérieures à 1.18.0.124
Pour les instances ASM antérieures à la version 1.17.2.28 : Connectez-vous à la console ASM. Sur la page Base Information de l'instance cible, cliquez sur Settings, sélectionnez Enable Tracing Analysis, configurez les paramètres selon vos besoins, puis cliquez sur OK.
Pour les instances ASM de version 1.17.2.28 ou ultérieure mais antérieure à 1.18.0.124 : Pour savoir comment activer le traçage, consultez la section Paramètres de traçage.
Versions 1.18.0.124 à antérieures à 1.22.6.89
Pour cette plage de versions, configurez l'exportation vers un système auto-géré sur la page de l'instance cible dans la console ASM.
Paramètres
|**Paramètre**
|
**Description**
| | --- | --- | |
**OpenTelemetry Domain Name (FQDN)**
|
Le nom de domaine complet (FQDN) de votre service de système auto-géré. Exemple : `otel.istio-system.svc.cluster.local`.
| |
**OpenTelemetry Service Port**
|
Le port de service du système auto-géré. Exemple : `8090`.
|
Versions 1.22.6.89 et ultérieures
Sur la page de votre instance dans la console ASM, sélectionnez et configurez votre système de traçage auto-géré.
Lors de l'exportation des données de traçage vers un système auto-géré, assurez-vous qu'il s'agit d'un service au sein du maillage. Si le système se trouve en dehors du maillage de services, vous pouvez l'enregistrer auprès du maillage en créant un ServiceEntry. Pour plus d'informations, consultez la section ServiceEntry.
Paramètres
Exporter vers OpenTelemetry
|
Paramètre |
Description |
|
|
Observability Management Center |
Le FQDN du service de système auto-géré. Exemple : |
|
|
Tracing Analysis |
Le port de service du système auto-géré. Exemple : |
|
|
Exportation via gRPC |
Service domain name (full FQDN) |
Facultatif. Le délai d'attente de la requête en secondes pour l'exportation des données de traçage. Exemple : |
|
Service Port |
Facultatif. En-têtes de requête à inclure lors de l'exportation des données de traçage. Exemple : |
|
|
Exportation via HTTP |
Timeout |
Le chemin de requête pour l'exportation des données de traçage. Exemple : |
|
Request Header |
Facultatif. Le délai d'attente de la requête en secondes pour l'exportation des données de traçage. Exemple : |
|
|
Request path |
Facultatif. En-têtes de requête à inclure lors de l'exportation des données de traçage. Exemple : |
|
Exporter vers Zipkin
|**Paramètre**
|
**Description**
| | --- | --- | |
**Domain name of Zipkin**
|
Le FQDN du service de système auto-géré. Exemple : `zipkin.istio-system.svc.cluster.local`.
| |
**Request Port**
|
Le port de service du système auto-géré. Exemple : `8090`.
| |
**Request Path**
|
Le chemin de requête pour l'exportation des données de traçage. La valeur par défaut est `/api/v2/spans`.
|
Exporter vers SkyWalking
|**Paramètre**
|
**Description**
| | --- | --- | |
**Skywalking service domain name**
|
Le FQDN du service de système auto-géré. Exemple : `skywalking.istio-system.svc.cluster.local`.
| |
**Request Port**
|
Le port de service du système auto-géré. Exemple : `8090`.
|
Vérifier l'exportation des données
Déployer des applications
-
Déployez l'application exemple Bookinfo.
-
Créez le fichier bookinfo.yaml avec le contenu suivant.
-
Déployez l'application Bookinfo dans le cluster du plan de données.
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f bookinfo.yaml
-
-
Déployez l'application sleep.
-
Créez un fichier nommé sleep.yaml avec le contenu suivant.
-
Déployez l'application sleep.
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f sleep.yaml
-
Envoyer des requêtes de test
Exécutez la commande suivante pour envoyer des requêtes de test :
kubectl exec -it deploy/sleep -- sh -c 'for i in $(seq 1 100); do curl -s productpage:9080/productpage > /dev/null; done'
Afficher les données exportées
Les étapes suivantes montrent le résultat de l'exportation des données vers Managed Service for OpenTelemetry.
Connectez-vous à la console Managed Service for OpenTelemetry.
-
Dans le volet de navigation de gauche, cliquez sur Application List. Vous pouvez voir les données exportées.
La page Application List affiche les données de surveillance pour chaque service, y compris son Name (tel que
sleep.default,details.default,productpage.default,reviews.defaultetratings.default), Health, Today's Requests, Today's Errors, Response Time et la tendance Response Time (Last 30 Min).