RabbitMQ-消息消费日志rabbitmq_tracing

在使用rabbitmq时,我们有时需要查看消息队列生产/消费了那些消息,便于我们排错。rabbitmq中提供一个插件rabbitmq_tracing用于记录消息的日志,默认是未打开的,需要自己用命令打开

# 查看打开的插件(前面带e*)
rabbitmq-plugins list
#开启rabbitmq的tracing插件
rabbitmq-plugins enable rabbitmq_tracing
 

打开后,登录rabbitmq的web界面,在Admin中我们会发现右侧有一个Tracing选项。点击后如下示:
RabbitMQ-消息消费日志rabbitmq_tracing
name:用于区分不同的track
Format:表示输出的消息日志格式,有Text和JSON两种,Text格式的日志方便人类阅读,JSON的方便程序解析

Pattern:用来设置匹配的模式,和Firehose的类似。如“#”匹配所有消息流入流出的记录;“publish.#”匹配所有消息流入的情况;“deliver.#”匹配所有消息流出的情况。

创建后如下图:
RabbitMQ-消息消费日志rabbitmq_tracing
输出的日志内容如下(text格式的输出):

================================================================================
2019-10-09 6:45:18:729: Message received

Node:         rabbit@iz128tnse5wy46z
Connection:   1.85.243.91:7074 -> 172.24.231.201:5672
Virtual host: /
User:         admin
Channel:      1
Exchange:     commonConsumer
Routing keys: [<<"commonConsumer">>]
Queue:        commonConsumer.anonymous.5FpN_RWtS-eWOIbtDzwesw
Properties:   [{<<"timestamp">>,signedint,1570603527},
               {<<"message_id">>,longstr,
                <<"027d36c7-013c-0844-c10f-2f837e78c5f2">>},
               {<<"priority">>,signedint,0},
               {<<"delivery_mode">>,signedint,2},
               {<<"headers">>,table,[]},
               {<<"content_type">>,longstr,<<"application/json">>}]
Payload: 
{"userId":202,"entrustId":201,"businessFlowId":200}
 
上一篇:《RabbitMQ 实战指南》第二章 RabbitMQ 入门


下一篇:面经·MQ