配置消息日志

更新时间:

您可以使用云消息队列 RabbitMQ 版的日志管理功能将云消息队列 RabbitMQ 版实例的消息操作日志推送到日志服务。当消息的发送、消费、确认出现异常时,您可在日志服务查询并分析消息的操作日志,进行异常诊断。

前提条件

  • 创建云消息队列 RabbitMQ 版实例。具体操作,请参见实例管理

  • 开通日志服务并创建Project和Logstore。具体操作,请参见资源管理概述

适用场景

云消息队列 RabbitMQ 版的消息日志管理功能适用于以下场景:

  • 排查异常,例如消息成功发送,但消费端收不到消息。

  • 查看消息的消费者或消费次数。

  • 查看一个月前或者更久之前的消息操作日志。

注意事项

  • 如果您删除Project、Logstore,或者将授予云消息队列 RabbitMQ 版的权限取消,日志将无法正常推送。

  • 为方便查询消息日志,建议您在使用SDK收发消息时设置Message ID。具体操作,请参见如何设置Message ID

  • 每个云消息队列 RabbitMQ 版实例可以配置LoggingBucket,默认不配置。

  • 云消息队列 RabbitMQ 版日志被推送到日志服务后,日志服务会根据存储空间、流量、请求数等进行收费。更多信息,请参见按使用功能计费模式计费项

操作步骤

云消息队列 RabbitMQ 版实例配置LoggingBucket,将日志推送到日志服务。

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击消息日志管理

  4. 可选:RabbitMQ服务关联角色页面,单击授权

    如果您已授予云消息队列 RabbitMQ 版访问云资源权限,请跳过此步骤。

    pg_access

  5. 消息日志管理页面,从Project 名称列表,选择已创建的Project,从Logstore 名称列表,选择已创建的Logstore,然后单击启用

后续步骤

  1. 通过云消息队列 RabbitMQ 版SDK发送消息,并订阅消息。具体操作,请参见SDK概述

  2. 查询消息。具体操作,请参见查询消息

  3. 您可以登录日志服务控制台对日志进行查询与分析。具体操作,请参见查询和分析日志

    查询结果示例如下图所示。

    log_result

    参数

    描述

    Action

    动作。 取值:

    • SendMessage:生产消息。

    • PushMessage:推送消息。

    • BasicAck:消息消费确认。

    • DeleteMessage:成功消费标记。

    Code

    状态码。 取值:

    • 200:请求成功。

    • 541:服务端内部错误。

    • 503:无效的命令。

    • 530:不允许的操作。

    • 404:资源不存在。

    • 406:预检查失败。

    • 403:权限错误。

    Info

    请求成功时不显示,显示时为错误状态码信息。

    InstanceId

    云消息队列 RabbitMQ 版实例的ID。您可以在云消息队列 RabbitMQ 版控制台的实例详情页面或概览页面查看。

    Queue

    队列的名称。

    RemoteAddress

    • ActionSendMessage时,为Producer客户端地址。

    • ActionPushMessage时为Consumer客户端地址:

    • ActionBasicAck时,为Consumer客户端地址。

    • ActionDeleteMessage时,为Consumer客户端地址。

    ReqUid

    • 如果您使用RAM用户收发消息,则为RAM用户ID。

    • 如果您使用阿里云账号(主账号)收发消息,则为阿里云账号ID。

    ResourceName

    • messageId使用SDK发送消息时设置的Message ID。

    • exchange:Exchange名称。您可以在云消息队列 RabbitMQ 版控制台的Exchange管理页面查看。

    • routingKey:您在使用SDK发送消息时设置的Routing Key。

    VHost

    Vhost名称。您可以在云消息队列 RabbitMQ 版控制台的Vhost管理页面查看。

    microtime

    请求发生时间,单位:微秒。

    _source_

    该参数为日志服务SLS(Log Service)的保留字段。如果您想了解该字段的含义,请参见保留字段

    __tag__:__receive_time__

    该参数为日志服务SLS的保留字段。如果您想了解该字段的含义,请参见保留字段。基于该字段具体如何统计消息的轨迹,请参见查询TPS统计图表

    __topic__

    该参数为日志服务SLS的保留字段。如果您想了解该字段的含义,请参见保留字段