La fonctionnalité de gestion des journaux de Simple Message Queue (SMQ) transfère les journaux de requêtes de messages vers le service Simple Log Service (SLS). Utilisez ensuite SLS pour interroger et analyser les journaux de requêtes afin de résoudre les problèmes de production.
Cas d'utilisation
Problèmes courants lors de l'envoi et de la réception de messages :
Un message est envoyé avec succès à une file d'attente, mais le client consommateur ne le reçoit pas. Où est passé le message ?
Qui a consommé un message spécifique ? Combien de fois a-t-il été consommé ?
Le client consommateur tombe en panne. Quand un message dont la consommation a échoué pourra-t-il être consommé à nouveau ?
Un message est publié sur une rubrique, mais le endpoint ne l'a pas reçu après un long délai. Quelle est la cause de ce retard ?
La gestion des journaux dans SMQ permet de résoudre ces problèmes :
Transférez les journaux vers SLS et consultez la trace complète du message dans la console.
Utilisez l'outil d'interrogation fourni sur le site officiel. Spécifiez des paramètres pour afficher les journaux de traitement des messages.
Facturation
SMQ ne facture pas de frais supplémentaires pour la fonctionnalité de gestion des journaux.
Lorsque SMQ transfère les journaux vers SLS, SLS vous facture en fonction de l'espace de stockage, du trafic et du volume de requêtes. Présentation de la facturation.
Format des journaux de file d'attente
Les opérations sur les messages de file d'attente (envoi, consommation, suppression) génèrent des entrées de journal. Les champs inclus varient selon l'opération.
-
Champs de journal
Les entrées de journal de file d'attente peuvent inclure les champs suivants.
Champ
Description
Time
Horodatage de l'opération.
MessageId
ID unique du message.
QueueName
Nom de la file d'attente cible.
AccountId
ID du compte propriétaire de la file d'attente.
RemoteAddress
Adresse IP du client.
NextVisibleTime
Moment où le message redevient visible.
ReceiptHandleInRequest
ReceiptHandlefourni par le client.ReceiptHandleInResponse
ReceiptHandlerenvoyé au client.ProcessTime
Durée de traitement de l'opération.
RequestId
ID de la requête.
Action
L'action, telle que
DeleteMessageouSendMessage. -
Champs par opération
Le tableau suivant indique quels champs chaque opération inclut.
Opération
Time
QueueName
AccountId
MessageId
RemoteAddress
NextVisibleTime
ReceiptHandleInResponse
ReceiptHandleInRequest
SendMessage/BatchSendMessage
Oui
Oui
Oui
Oui
Oui
Oui
Non
Non
PeekMessage/BatchPeekMessage
Oui
Oui
Oui
Oui
Oui
Non
Non
Non
ReceiveMessage/BatchReceiveMessage
Oui
Oui
Oui
Oui
Oui
Oui
Oui
Non
ChangeMessageVisibility
Oui
Oui
Oui
Oui
Oui
Oui
Oui
Oui
DeleteMessage/BatchDeleteMessage
Oui
Oui
Oui
Oui
Oui
Oui
Non
Oui
Format des journaux de rubrique
Les opérations sur les messages de rubrique (publication et push) génèrent des entrées de journal. Les champs inclus varient selon l'opération.
-
Champs de journal
Les entrées de journal de rubrique peuvent inclure les champs suivants.
Champ
Description
Time
Horodatage de l'opération.
MessageId
ID unique du message.
TopicName
Nom de la rubrique cible.
SubscriptionName
Nom de l'abonnement.
AccountId
ID du compte propriétaire de la rubrique.
RemoteAddress
Adresse IP du client.
NotifyStatus
Code d'état ou erreur provenant du endpoint lorsque SMQ pousse un message.
ProcessTime
Durée de traitement de l'opération.
MessageTag
Tag du message.
RequestId
ID de la requête.
Action
L'action, telle que
PublishMessageouNotify. -
Champs par opération
Le tableau suivant indique quels champs chaque opération inclut.
Opération
Time
MessageId
TopicName
SubscriptionName
AccountId
RemoteAddress
NotifyStatus
MessageTag
PublishMessage
Oui
Oui
Oui
Non
Oui
Oui
Non
Non
Notify
Oui
Oui
Oui
Oui
Oui
Non
Oui
Oui
-
NotifyStatus
Le champ NotifyStatus dans les journaux de push indique pourquoi SMQ n'a pas réussi à remettre un message. Résolvez les problèmes en fonction des valeurs suivantes.
Code d'erreur
Description
Action recommandée
2xx
Le message a été poussé avec succès.
Aucune.
Autres codes d'état HTTP
Le endpoint a renvoyé un code d'état autre que 2xx.
Vérifiez la logique de traitement au niveau de votre endpoint.
InvalidHost
Endpoint d'abonnement non valide.
Vérifiez que l'endpoint d'abonnement est valide et accessible avec
curloutelnet.ConnectTimeout
La connexion à l'endpoint d'abonnement a expiré.
Vérifiez que l'endpoint d'abonnement est accessible avec
curloutelnet.ConnectFailure
Échec de la connexion à l'endpoint d'abonnement.
Vérifiez que l'endpoint d'abonnement est accessible avec
curloutelnet.UnknownError
Une erreur inconnue s'est produite.
Contactez le support technique SMQ.
Opérations sur les journaux
Avant d'utiliser la gestion des journaux, assurez-vous que les conditions suivantes sont remplies :
Créez une file d'attente et une rubrique dans SMQ. Gérer les files d'attente. Gérer les rubriques.
-
Créez un projet et un Logstore dans SLS. Gérer un projet. Créer un Logstore.
Les journaux d'opérations de votre service SMQ ne peuvent être transférés que vers un projet SLS situé dans la même région.
-
Autorisez SMQ à exporter les journaux avec le rôle RAM
AliyunMNSLoggingRole.Cliquez sur Autorisation d'accès aux ressources cloud et suivez les instructions à l'écran pour terminer l'autorisation.
AvertissementNe révoquez pas l'autorisation et ne supprimez pas le rôle RAM. Sinon, les journaux SMQ ne pourront pas être transférés vers SLS.
> Edit.