Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:Query message traces

Dernière mise à jour :Aug 09, 2026

Une trace de message enregistre le parcours complet d'un message dans ApsaraMQ for RocketMQ, depuis l'envoi et le stockage jusqu'à la consommation. Chaque étape capture les horodatages, le statut et les détails du client. La fonctionnalité de trace de messages s'applique à tous les types de messages.

Utilisez les traces de messages pour :

  • Confirmer l'envoi et la consommation réussie d'un message.

  • Identifier l'étape de blocage ou d'échec d'un message.

  • Retrouver le client consommateur spécifique et l'horodatage de consommation d'un message.

Fonctionnement des traces de messages

Une trace complète capture les données à trois étapes :

Producer Broker Consumer
Adresse IP du client Heure d'arrivée sur le serveur Adresse IP du client
Horodatage d'envoi Heure de livraison planifiée Heure d'arrivée chez le consommateur
Durée d'envoi (RT) Heure de livraison réelle Durée d'attente avant traitement
Statut d'envoi Type de message Heure de début/fin de traitement
AccessKey ID Heure de validation/annulation de la transaction Durée de traitement
Résultat de la livraison
AccessKey ID

Trace data flow

Avant de commencer

Exigences de version du SDK

La trace de messages nécessite une version minimale du SDK.

Protocol Language Minimum version Release notes
TCP Java V1.2.7.Final Notes de version du SDK pour Java
TCP C/C++ V1.1.2 Notes de version du SDK pour C et C++
TCP .NET V1.1.2 Notes de version du SDK pour .NET
HTTP Node.js V1.0.2 Notes d'utilisation du SDK client HTTP
HTTP Others V1.0.1 Notes d'utilisation du SDK client HTTP

Prérequis pour la fonctionnalité de trace améliorée

La fonctionnalité de trace améliorée expose des paramètres supplémentaires dans la console, ce qui permet d'afficher les données de trace générées lors de la consommation des messages, ainsi que celles des messages planifiés, différés et transactionnels :

  • Producer : AccessKey

  • MQ Server : Arrive at Server At, Scheduled to Be Delivered At, Delivered At, Committed/Rolled back At

  • Consumer : Arrive at Consumer At, Wait Duration before Processing

Pour utiliser la fonctionnalité de trace améliorée :

  • TCP SDK for Java : Mettez à niveau vers V2.x.x.Final. L'instance doit être déployée dans l'une des régions suivantes : Chine (Hangzhou), Chine (Qingdao), Chine (Pékin), Chine (Zhangjiakou), Chine (Hohhot), Chine (Shenzhen), Chine (Chengdu), Allemagne (Francfort) ou Indonésie (Jakarta).

  • TCP SDK for C++ : Mettez à niveau vers V3.x.x. Disponible dans toutes les régions.

Limite de plage temporelle

Les requêtes de trace couvrent une fenêtre glissante de 24 heures. Seules les traces des messages produits au cours des dernières 24 heures sont disponibles. Par exemple, à 15:09:48 le 30 novembre 2023, la plage de requête s'étend de 15:09:48 le 29 novembre 2023 à 15:09:48 le 30 novembre 2023.

Impact du statut de consommation sur les résultats de requête

Type de message Comportement
Messages normaux Affiche Not Consumed jusqu'à la consommation du message. Après celle-ci, les détails d'envoi et de consommation apparaissent.
Messages ordonnés Identique aux messages normaux.
Messages planifiés et différés Avant l'heure de livraison planifiée, la trace est interrogeable mais le message ne peut pas être interrogé.
Messages transactionnels Avant la validation de la transaction locale, la trace est interrogeable mais le message ne peut pas être interrogé.

Interroger une trace de message dans la console

  1. Connectez-vous à la console ApsaraMQ for RocketMQ. Dans le volet de navigation de gauche, cliquez sur Instances.

  2. Dans la barre de navigation supérieure, sélectionnez une région, par exemple China (Hangzhou). Cliquez sur le nom de votre instance.

  3. Dans le volet de navigation de gauche, cliquez sur Message Trace. Dans le coin supérieur gauche de la page, cliquez sur Create Query Task.

  4. Dans le panneau Create Message Trace Query Task, sélectionnez une méthode de requête et configurez les conditions de recherche. Ensuite, cliquez sur OK.

    Important

    Définissez la plage temporelle aussi précisément que possible afin de réduire la portée et d'accélérer la requête.

    Trois méthodes de requête sont disponibles :

    Méthode Type de correspondance Idéal pour
    Query by Message ID Correspondance exacte Recherches rapides et précises. Recommandé.
    Query by Message Key Correspondance floue (jusqu'à 1 000 résultats) Lorsque l'ID du message n'est pas disponible, mais qu'une clé unique a été définie sur le message.
    Query by Topic Requête par plage Sujets à faible volume lorsque ni l'ID du message ni la clé du message ne sont disponibles. Non recommandé pour les sujets à haut débit, car les résultats sont difficiles à filtrer.

    La tâche de requête apparaît sur la page Message Trace. Si la colonne Status affiche Querying, cliquez sur le bouton refresh dans le coin supérieur droit de la liste des tâches pour actualiser jusqu'à ce que le statut passe à Query Completed.

  5. Cliquez sur Query Results dans la colonne Actions pour afficher les détails de la trace.

Dépanner un message manquant

Message trace scenarios

Si un message n'a pas été reçu comme prévu, suivez ces étapes :

  1. Collectez l'ID du message, la clé du message, le sujet et l'heure approximative d'envoi du message.

  2. Connectez-vous à la console ApsaraMQ for RocketMQ et créez une tâche de requête avec les informations collectées.

  3. Analysez les résultats de la requête :

    • Not Consumed apparaît dans la trace : Accédez à la page Groups pour vérifier si une accumulation de messages a causé le problème. Pour plus d'informations, consultez Afficher les détails du consommateur.

    • Le message a été consommé : Vérifiez les détails de consommation pour identifier le client consommateur et l'horodatage de la consommation. Ensuite, examinez les journaux sur ce client.

Référence des paramètres de trace

Sur la page des résultats de trace, les colonnes Sending Status et Consumption Status fournissent un résumé. Cliquez sur un message spécifique pour afficher la trace complète, organisée en sections Producer, MQ Server et Consumer.

Informations de base

Paramètre Description
Message ID Identifiant globalement unique, généré automatiquement par ApsaraMQ for RocketMQ.
Topic Le sujet auquel appartient le message.
Message Key Identifiant métier défini par le producteur. Identifie de manière unique une logique métier.
Message Tag Tag utilisé pour classer les messages au sein d'un sujet.

Producer

Paramètre Description
AccessKey AccessKey ID du compte Alibaba Cloud ou de l'utilisateur Resource Access Management (RAM) qui a envoyé le message.
Client IP Address Adresse IP du client producteur.
Message Produced At Horodatage de l'envoi du message depuis le producteur.
Sending RT Temps nécessaire pour envoyer le message, en millisecondes.
Sending Status Statut de l'opération d'envoi. Voir Statut du message.

MQ Server

Paramètre Description
Message Type Messages normaux, messages planifiés et différés, messages ordonnés ou messages transactionnels. Les messages planifiés et différés s'affichent tous deux sous la forme Scheduled Message.
Arrive at Server At Heure d'arrivée du message sur le broker ApsaraMQ for RocketMQ.
Scheduled to Be Delivered At Heure de livraison planifiée pour les messages planifiés.
Delivered At Heure à laquelle le message est devenu disponible pour la livraison au consommateur.
Committed/Rolled back At Heure de validation ou d'annulation d'une transaction.

Consumer

Paramètre Description
AccessKey AccessKey ID du compte Alibaba Cloud ou de l'utilisateur RAM côté consommateur.
Arrive at Consumer At Heure d'arrivée du message sur le client consommateur.
Wait Duration before Processing Durée entre l'arrivée du message chez le consommateur et le début du traitement.
Delivery Result Résultat d'une tentative de livraison unique. Un message peut être livré plusieurs fois avant d'être consommé avec succès. Voir Statut du message.
Client IP Address Adresse IP du client consommateur.
Message Processing Started At Horodatage du début du traitement du message par le consommateur.
Message Processing Complete At Horodatage de la fin du traitement par le consommateur.
Message Processing Duration Temps passé par le consommateur pour traiter le message.

Valeurs du statut des messages

Type Valeurs possibles
Sending Status Sent, Failed, Scheduling, Transactional Message Not Committed, Transactional Message Rolled Back
Consumption Status All Successful, Partially Successful, All Failed, Not Consumed, No Consumption Result Returned, Consumed, Failed

FAQ

Pourquoi ne puis-je pas trouver la trace d'un message ?

Il est très probable que votre SDK soit trop ancien ou que le message se trouve en dehors de la fenêtre de requête. Vérifiez ces points dans l'ordre :

  1. Version du SDK : Confirmez que votre SDK répond aux exigences de version minimales.

  2. Plage temporelle : Les traces ne sont disponibles que pour les messages produits au cours des dernières 24 heures.

  3. Décalage de collecte asynchrone : Les données de trace sont collectées de manière asynchrone et peuvent être incomplètes. Si la requête ne renvoie aucun résultat malgré des conditions valides, vérifiez directement les journaux du client. Pour plus d'informations, consultez Paramètres de journalisation.

Opérations API associées

Interrogez les traces de messages par programmation :