配置消息日志
您可以使用云消息队列 RabbitMQ 版的日志管理功能将云消息队列 RabbitMQ 版实例的消息操作日志推送到日志服务。当消息的发送、消费、确认出现异常时,您可在日志服务查询并分析消息的操作日志,进行异常诊断。
前提条件
在将云消息队列 RabbitMQ 版实例的消息操作日志推送到日志服务前,请确保您已完成以下操作:
- 开通云消息队列 RabbitMQ 版服务并创建实例。具体操作,请参见开通云消息队列 RabbitMQ 版和实例管理。
- 开通日志服务并创建Project和Logstore。具体操作,请参见资源管理概述。
适用场景
云消息队列 RabbitMQ 版的消息日志管理功能适用于以下场景:- 排查异常,例如消息成功发送,但消费端收不到消息。
- 查看消息的消费者或消费次数。
- 查看一个月前或者更久之前的消息操作日志。
注意事项
- 如果您删除Project、Logstore,或者将授予云消息队列 RabbitMQ 版的权限取消,日志将无法正常推送。
- 为方便查询消息日志,建议您在使用SDK收发消息时设置Message ID。具体操作,请参见如何设置Message ID。
- 每个云消息队列 RabbitMQ 版实例可以配置LoggingBucket,默认不配置。
- 云消息队列 RabbitMQ 版日志被推送到日志服务后,日志服务会根据存储空间、流量、请求数等进行收费。更多信息,请参见按使用功能计费模式计费项。
操作步骤
为云消息队列 RabbitMQ 版实例配置LoggingBucket,将日志推送到日志服务。
登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表。
在实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。
- 在左侧导航栏,单击消息日志管理。
- 可选:在RabbitMQ服务关联角色页面,单击授权。如果您已授予云消息队列 RabbitMQ 版访问云资源权限,请跳过此步骤。
- 在消息日志管理页面,从Project 名称列表,选择已创建的Project,从Logstore 名称列表,选择已创建的Logstore,然后单击启用。
后续步骤
- 通过云消息队列 RabbitMQ 版SDK发送消息,并订阅消息。具体操作,请参见SDK概述。
- 查询消息。具体操作,请参见查询消息。
- 您可以登录日志服务控制台对日志进行查询与分析。具体操作,请参见查询和分析日志。
查询结果示例如下图所示。
参数 描述 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组成,以竖线(|)分隔。当Action为MessageAck时,则为系统自动生成的唯一消息ID。 RemoteAddress - Action为MessagePublish时,为Producer客户端地址。
- Action为MessageAck时,为Consumer客户端地址。
- Action为MessageReceived时,为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的保留字段。如果您想了解该字段的含义,请参见保留字段。