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

前提条件

在将消息队列RabbitMQ版实例的消息操作日志推送到日志服务前,请确保您已完成以下操作:

适用场景

消息队列RabbitMQ版的消息日志管理功能适用于以下场景:
  • 排查异常,例如消息成功发送,但消费端收不到消息。
  • 查看消息的消费者或消费次数。
  • 查看一个月前或者更久之前的消息操作日志。

注意事项

  • 如果您删除Project、Logstore,或者将授予消息队列RabbitMQ版的权限取消,日志将无法正常推送。
  • 为方便查询消息日志,建议您在使用SDK收发消息时设置Message ID。具体操作,请参见如何设置Message ID
  • 每个消息队列RabbitMQ版实例可以配置LoggingBucket,默认不配置。
  • 消息队列RabbitMQ版日志被推送到日志服务后,日志服务会根据存储空间、流量、请求数等进行收费。更多信息,请参见计费项

操作步骤

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

  1. 登录消息队列RabbitMQ版控制台
  2. 概览页面的资源分布区域,选择地域。
  3. 实例列表页面,单击目标实例名称。
  4. 在左侧导航栏,单击消息日志管理
  5. 可选:在页面,单击授权
    如果您已授予消息队列RabbitMQ版访问云资源权限,请跳过此步骤。
    pg_access
  6. 消息日志管理页面,从Project 名称列表,选择已创建的Project,从Logstore 名称列表,选择已创建的Logstore,然后单击启用

后续步骤

  1. 通过消息队列RabbitMQ版SDK发送消息,并订阅消息。具体操作,请参见SDK概述
  2. 查询消息。具体操作,请参见查询消息
  3. 您可以登录日志服务控制台对日志进行查询与分析。具体操作,请参见查询和分析日志

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

    log_result
    参数 描述
    Action 动作。 取值:
    • MessagePublish:消息发布。
    • MessageAck:消息确认。
    • MessageReceived:消息消费。
    Code 状态码。 取值:
    • 200:请求成功。
    • 541:服务端内部错误。
    • 503:无效的命令。
    • 530:不允许的操作。
    • 404:资源不存在。
    • 406:预检查失败。
    • 403:权限错误。
    Exchange Exchange名称。您可以在消息队列RabbitMQ版控制台的Exchange管理页面查看。
    Info 请求成功时为空,否则为错误状态码信息。
    InstanceId 消息队列RabbitMQ版实例的ID。您可以在消息队列RabbitMQ版控制台的实例详情页面或概览页面查看。
    MessageId 使用SDK发送消息时设置的Message ID。
    OwnerUid 阿里云账号(主账号)ID。您可以在阿里云账号管理控制台获取。
    Queues 由Queue名称和系统自动生成的唯一消息ID组成,以竖线(|)分隔。当ActionMessageAck时,则为系统自动生成的唯一消息ID。
    RemoteAddress
    • ActionMessagePublish时,为Producer客户端地址。
    • ActionMessageAck时,为Consumer客户端地址。
    • ActionMessageReceived时,为Consumer客户端地址。
    ReqUid
    • 如果您使用RAM用户收发消息,则为RAM用户ID。
    • 如果您使用阿里云账号(主账号)收发消息,则为阿里云账号ID。
    Routingkey 您在使用SDK发送消息时设置的Routing Key。
    VHost Vhost名称。您可以在消息队列RabbitMQ版控制台的Vhost管理页面查看。
    _source_ 该参数为日志服务SLS(Log Service)的保留字段。如果您想了解该字段的含义,请参见保留字段
    __tag__:__receive_time__ 该参数为日志服务SLS的保留字段。如果您想了解该字段的含义,请参见保留字段。基于该字段具体如何统计消息的轨迹,请参见查询TPS统计图表
    __topic__ 该参数为日志服务SLS的保留字段。如果您想了解该字段的含义,请参见保留字段