Intégrez le traçage de bout en bout à vos tâches planifiées pour interroger leur durée d'exécution et analyser les exceptions. Dans les architectures de microservices distribués, la chaîne d'appels d'une tâche planifiée est souvent plus longue que celle d'un service en temps réel. La visualisation du traçage illustre l'exécution de chaque nœud de service au sein de cette chaîne.
Limites
Le traçage de bout en bout ne prend en charge que les types de tâches suivants : tâches autonomes (y compris les tâches HTTP), tâches de diffusion et tâches Map visualisées. Vérifiez la compatibilité de votre type de tâche avant de configurer l'intégration.
Prérequis
La version du client SchedulerX doit être 1.7.0 ou ultérieure.
Le client SchedulerX doit inclure la dépendance du plugin de trace. Pour plus d'informations, consultez la section Ajouter la dépendance du plugin de trace.
L'application doit utiliser l'édition Professionnelle.
Étape 1 : Choisir une méthode d'intégration
Votre mode de déploiement et votre backend de traçage déterminent la méthode de rapport des données de trace par l'application, ainsi que le plugin à ajouter à l'étape 2. Choisissez la méthode adaptée à votre configuration actuelle :
|
Votre configuration actuelle |
Méthode |
|
L'application s'exécute déjà sur EDAS. |
Option 1 (recommandée) |
|
L'application s'exécute en dehors d'EDAS et vous utilisez ARMS comme backend de traçage. |
Option 2 |
|
Vous exploitez déjà une plateforme de traçage autogérée, telle que SkyWalking. |
Option 3 |
Option 1 : Déployer l'application sur EDAS (recommandée)
Privilégiez cette méthode si les services de votre application s'exécutent déjà sur EDAS ou si vous prévoyez de les y déployer. Les applications déployées sur EDAS intègrent automatiquement le traçage de bout en bout ; aucune installation d'agent n'est nécessaire.
Si vous utilisez déjà EDAS pour déployer vos services, le traçage de bout en bout est déjà intégré. Ignorez les étapes de déploiement de cette section.
Si vous n'utilisez pas encore EDAS, activez le service et déployez-y votre application. L'intégration du traçage de bout en bout se fait sans configuration supplémentaire. Pour plus d'informations, consultez la section Prise en main d'EDAS.
Option 2 : Installer l'agent ARMS sur un déploiement autonome
Optez pour cette méthode si vous gérez vous-même le déploiement de l'application et utilisez ARMS comme backend de traçage. Suivez les étapes ci-dessous dans le processus d'intégration de l'application ARMS :
Téléchargez le package JAR requis selon les instructions affichées.
Configurez les informations relatives à l'application.
Ajoutez la configuration de l'agent Java ARMS au script de démarrage de l'application.
Démarrez l'application. L'intégration devient effective après le démarrage.
Pour plus d'informations, consultez la section Installer manuellement l'agent ARMS.
Option 3 : Connecter une plateforme de traçage autogérée
Utilisez cette méthode si vous exploitez déjà une plateforme de traçage de bout en bout autogérée. Les étapes suivantes illustrent la procédure avec SkyWalking, une plateforme courante.
Téléchargez le package d'installation de l'agent SkyWalking et finalisez la configuration.
Ajoutez le paramètre JVM suivant au script de démarrage de l'application Java :
-javaagent:{agent.path}/skywalking-agent.jar.-
Lors de l'ajout de la dépendance du plugin de trace à l'étape 2, utilisez le plugin SkyWalking au lieu du plugin OpenTelemetry, comme indiqué dans l'exemple ci-dessous.
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx-plugin-trace-skywalking</artifactId> <version>{latest_version}</version> </dependency>
Étape 2 : Ajouter la dépendance du plugin de trace
Ajoutez les dépendances au fichier pom.xml de votre application. L'exemple ci-dessous utilise le starter Spring Boot avec le plugin de trace OpenTelemetry. Si vous connectez une plateforme SkyWalking autogérée (Option 3), utilisez le plugin de trace SkyWalking.
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx2-spring-boot-starter</artifactId>
<version>{latest_version}</version>
<!-- If you use logback, exclude log4j and log4j2. -->
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Add the OpenTelemetry trace plugin dependency. -->
<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-opentelemetry</artifactId>
<version>{latest_version}</version>
</dependency>
<!-- If you use SkyWalking, use this plugin instead. -->
<!--<dependency>
<groupId>com.aliyun.schedulerx</groupId>
<artifactId>schedulerx-plugin-trace-skywalking</artifactId>
<version>{latest_version}</version>
</dependency>-->
Étape 3 : Afficher les chaînes d'appels
Une fois la configuration et le déploiement de l'application terminés, la visualisation du traçage de bout en bout devient disponible lors de l'exécution d'une tâche planifiée prise en charge. Exécutez la tâche, puis suivez la procédure ci-dessous pour ouvrir sa chaîne d'appels dans la console.
La collecte des données de trace de bout en bout applique un taux d'échantillonnage par défaut ; toutes les chaînes d'appels ne sont donc pas collectées. Vous pouvez ajuster ce taux selon vos besoins métier.
Connectez-vous à la console MSE SchedulerX.
Connectez-vous à la console EDAS.
Dans le volet de navigation de gauche, cliquez sur Task Scheduling.
Dans la barre de menu supérieure, sélectionnez une région.
Dans le volet de navigation de gauche, cliquez sur Execution List, sélectionnez l'onglet Task instance List, puis utilisez le chemin correspondant à votre type de tâche dans la colonne Actions.
Tâches autonomes
Cliquez sur Tracing Analysis, ou cliquez sur Details puis sur le TraceId pour ouvrir la chaîne d'appels de cette exécution. Les tâches HTTP autonomes sont également prises en charge, car l'application hébergeant le service dispose de la fonctionnalité de traçage de bout en bout (avec prise en charge d'OpenTelemetry).
Tâches de diffusion
Cliquez sur Details. Sur la page Task instance details, cliquez sur Current execution details. Un TraceId s'affiche pour chaque machine. Cliquez sur un TraceId pour afficher la chaîne d'appels de cette machine.
Tâches Map visualisées
Cliquez sur Details. Sur la page Task instance details, cliquez sur Subtask list. Les tâches Map visualisées offrent une visualisation de la chaîne d'appels pour chaque sous-tâche d'un enregistrement d'exécution. Dans la liste des sous-tâches des détails de l'enregistrement, repérez le TraceId de chaque sous-tâche et cliquez dessus pour afficher sa chaîne d'appels.