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 est ajouté à l'instance ASM. Pour plus d'informations, consultez Ajouter un cluster à une instance ASM.
Le service Managed Service for OpenTelemetry est activé sur votre compte Alibaba Cloud. Pour plus d'informations sur la facturation, consultez Facturation.
Une passerelle d'entrée est déployée dans l'instance ASM. Pour plus d'informations, consultez 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 Mettre à niveau une instance ASM.
Versions antérieures à 1.17.2.35
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez .
Sur la page Base Information, cliquez sur Settings. Dans le panneau Settings Update, cochez 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, sélectionnez . Vous êtes redirigé vers la console Managed Service for OpenTelemetry. Une fois la configuration terminée, connectez-vous à la console Managed Service for OpenTelemetry et consultez 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 Qu'est-ce que Managed Service for OpenTelemetry ?
Pour désactiver cette fonctionnalité, décochez 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, sélectionnez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez .
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 Qu'est-ce que Managed Service for OpenTelemetry ? Une fois la configuration terminée, connectez-vous à la console Managed Service for OpenTelemetry et consultez 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 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-systemRésultat attendu :
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 1mUn
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 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-systemRésultat attendu :
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 3m default-collector-5cbb4497f4-2hjqv 1/1 Running 0 30sCe résultat 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-systemRésultat attendu :
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 30sLe résultat 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, sélectionnez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez .
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, sélectionnez . 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, sélectionnez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez .
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 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 vers 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, cochez 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 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 : |
|
OpenTelemetry Service Port |
Le port de service du système auto-géré. Exemple : |
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 dans le maillage en créant un ServiceEntry. Pour plus d'informations, consultez ServiceEntry.
Paramètres
Exporter vers OpenTelemetry
|
Paramètre |
Description |
|
|
Service domain name (full FQDN) |
Le FQDN du service de système auto-géré. Exemple : |
|
|
Service Port |
Le port de service du système auto-géré. Exemple : |
|
|
Export via gRPC |
Timeout |
Facultatif. Le délai d'expiration de la requête en secondes pour l'exportation des données de traçage. Exemple : |
|
Request Header |
Facultatif. En-têtes de requête à inclure lors de l'exportation des données de traçage. Exemple : |
|
|
Export via HTTP |
Request path |
Le chemin de requête pour l'exportation des données de traçage. Exemple : |
|
Timeout |
Facultatif. Le délai d'expiration de la requête en secondes pour l'exportation des données de traçage. Exemple : |
|
|
Request Header |
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 : |
|
Request Port |
Le port de service du système auto-géré. Exemple : |
|
Request Path |
Le chemin de requête pour l'exportation des données de traçage. La valeur par défaut est |
Exporter vers SkyWalking
|
Paramètre |
Description |
|
Skywalking service domain name |
Le FQDN du service de système auto-géré. Exemple : |
|
Request Port |
Le port de service du système auto-géré. Exemple : |
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).