La función de gestión de registros de Simple Message Queue (SMQ) envía los registros de solicitudes de mensajes a Simple Log Service (SLS). Posteriormente, puede utilizar SLS para consultar y analizar estos registros con el fin de solucionar problemas en producción.
Casos de uso
A continuación se presentan algunos problemas comunes al enviar y recibir mensajes:
Un mensaje se envía correctamente a una cola, pero el cliente consumidor no lo recibe. ¿Qué ocurrió con el mensaje?
¿Quién consumió un mensaje específico? ¿Cuántas veces se consumió?
Un cliente consumidor falla. ¿Cuándo se podrá consumir de nuevo un mensaje cuyo consumo falló?
Se publica un mensaje en un tema, pero el endpoint no lo ha recibido después de mucho tiempo. ¿Cuál es la causa del retraso?
La gestión de registros en SMQ resuelve estas situaciones:
Envíe los registros a SLS y consulte la traza completa del mensaje en la consola.
Utilice la herramienta de consulta disponible en el sitio web oficial. Especifique los parámetros necesarios para ver los registros de procesamiento de mensajes.
Facturación
SMQ no cobra tarifas adicionales por la función de gestión de registros.
Cuando SMQ envía registros a SLS, este último le cobra según el espacio de almacenamiento, el tráfico y el volumen de solicitudes. Billing overview.
Formato de los registros de colas
Las operaciones con mensajes de cola (enviar, consumir y eliminar) generan entradas de registro. Los campos incluidos varían según la operación.
-
Campos de registro
Las entradas de registro de colas pueden incluir los siguientes campos.
Campo
Descripción
Time
Marca de tiempo de la operación.
MessageId
Identificador único del mensaje.
QueueName
Nombre de la cola de destino.
AccountId
Identificador de la cuenta propietaria de la cola.
RemoteAddress
Dirección IP del cliente.
NextVisibleTime
Momento en que el mensaje vuelve a estar visible.
ReceiptHandleInRequest
ReceiptHandleproporcionado por el cliente.ReceiptHandleInResponse
ReceiptHandledevuelto al cliente.ProcessTime
Tiempo de procesamiento de la operación.
RequestId
Identificador de la solicitud.
Action
Acción ejecutada, como
DeleteMessageoSendMessage. -
Campos por operación
En la siguiente tabla se muestran los campos que incluye cada operación.
Operación
Time
QueueName
AccountId
MessageId
RemoteAddress
NextVisibleTime
ReceiptHandleInResponse
ReceiptHandleInRequest
SendMessage/BatchSendMessage
Sí
Sí
Sí
Sí
Sí
Sí
No
No
PeekMessage/BatchPeekMessage
Sí
Sí
Sí
Sí
Sí
No
No
No
ReceiveMessage/BatchReceiveMessage
Sí
Sí
Sí
Sí
Sí
Sí
Sí
No
ChangeMessageVisibility
Sí
Sí
Sí
Sí
Sí
Sí
Sí
Sí
DeleteMessage/BatchDeleteMessage
Sí
Sí
Sí
Sí
Sí
Sí
No
Sí
Formato de los registros de temas
Las operaciones con mensajes de tema (publicar y enviar) generan entradas de registro. Los campos incluidos varían según la operación.
-
Campos de registro
Las entradas de registro de temas pueden incluir los siguientes campos.
Campo
Descripción
Time
Marca de tiempo de la operación.
MessageId
Identificador único del mensaje.
TopicName
Nombre del tema de destino.
SubscriptionName
Nombre de la suscripción.
AccountId
Identificador de la cuenta propietaria del tema.
RemoteAddress
Dirección IP del cliente.
NotifyStatus
Código de estado o error devuelto por el endpoint cuando SMQ envía un mensaje.
ProcessTime
Tiempo de procesamiento de la operación.
MessageTag
Etiqueta del mensaje.
RequestId
Identificador de la solicitud.
Action
Acción ejecutada, como
PublishMessageoNotify. -
Campos por operación
En la siguiente tabla se muestran los campos que incluye cada operación.
Operación
Time
MessageId
TopicName
SubscriptionName
AccountId
RemoteAddress
NotifyStatus
MessageTag
PublishMessage
Sí
Sí
Sí
No
Sí
Sí
No
No
Notify
Sí
Sí
Sí
Sí
Sí
No
Sí
Sí
-
NotifyStatus
El campo NotifyStatus en los registros de envío indica por qué SMQ no pudo entregar un mensaje. Solucione el problema con base en los siguientes valores.
Código de error
Descripción
Acción recomendada
2xx
El mensaje se envió correctamente.
Ninguna.
Otros códigos de estado HTTP
El endpoint devolvió un código de estado distinto de 2xx.
Revise la lógica de procesamiento en su endpoint.
InvalidHost
Endpoint de suscripción no válido.
Compruebe que el endpoint de suscripción sea válido y accesible mediante
curlotelnet.ConnectTimeout
Se agotó el tiempo de espera de la conexión con el endpoint de suscripción.
Compruebe que el endpoint de suscripción sea accesible mediante
curlotelnet.ConnectFailure
La conexión con el endpoint de suscripción falló.
Compruebe que el endpoint de suscripción sea accesible mediante
curlotelnet.UnknownError
Ocurrió un error desconocido.
Póngase en contacto con el soporte técnico de SMQ.
Operaciones con registros
Antes de usar la gestión de registros, asegúrese de cumplir con lo siguiente:
Cree una cola y un tema en SMQ. Manage queues. Manage topics.
-
Cree un proyecto y un logstore en SLS. Manage a Project. Create a Logstore.
Los registros de operaciones de su servicio SMQ solo se pueden enviar a un Project de SLS ubicado en la misma región.
-
Autorice a SMQ para exportar registros mediante el rol de RAM
AliyunMNSLoggingRole.Haga clic en Cloud Resource Access Authorization y siga las instrucciones en pantalla para completar la autorización.
AvisoNo revoque la autorización ni elimine el rol de RAM. De lo contrario, los registros de SMQ no se podrán enviar a SLS.
> Edit.