#Rabbit:日志与监控 @FDDLC

一、日志与监控

1、日志的默认存放路径:

#Rabbit:日志与监控 @FDDLC

 

2、rabbitmq的一些命令:

#Rabbit:日志与监控 @FDDLC

示例:rabbitmqctl list_queues

#Rabbit:日志与监控 @FDDLC

查看帮助:rabbitmqctl help

#Rabbit:日志与监控 @FDDLC

 

二、消息追踪

#Rabbit:日志与监控 @FDDLC

 

1、firehose

#Rabbit:日志与监控 @FDDLC

#Rabbit:日志与监控 @FDDLC

1)、创建一个队列,比如叫test_trace_queue,并让其绑定amq.rabbitmq.trace这个交换机,同时指定路由key,比如设为#,表示该队列的所有消息都会经过trace队列。

#Rabbit:日志与监控 @FDDLC

2)、在test_trace_queue中发布一条消息:

#Rabbit:日志与监控 @FDDLC

3)、在test_trace_queue中查看消息:

#Rabbit:日志与监控 @FDDLC

从上图可知,消息并无异常。那是因为监控还没开启!

 

4)、开启监控:

#Rabbit:日志与监控 @FDDLC

 

5)、在test_trace_queue再次发布一条消息:

#Rabbit:日志与监控 @FDDLC

 

6)、在test_trace_queue中查看消息:

#Rabbit:日志与监控 @FDDLC

#Rabbit:日志与监控 @FDDLC

 

2、rabbitmq_tracing

#Rabbit:日志与监控 @FDDLC

 

1)、查看插件:rabbitmq-plugins list

#Rabbit:日志与监控 @FDDLC

左边有e*的表示enabled,已启用。

2)、启用:rabbitmq-plugins enable rabbitmq_tracing

#Rabbit:日志与监控 @FDDLC

3)、查看插件是否启用:

#Rabbit:日志与监控 @FDDLC

 

4)、在Tracing界面中:Add trace

#Rabbit:日志与监控 @FDDLC

 

#Rabbit:日志与监控 @FDDLC

随便发送一条消息,可以看到my-trace.log中都有记录(首次打开该log文件需要rabbitmq的用户名和密码,即默认的guest,guest)

#Rabbit:日志与监控 @FDDLC

和tracing插件相关的队列:

#Rabbit:日志与监控 @FDDLC

该队列自动绑定到了:amq.rabbitmq.trace交换机:

#Rabbit:日志与监控 @FDDLC

 

 

3、firehose和tracing的比较:

二者都可以对【所有】队列进行消息追踪!firehose需要手动绑定amq.rabbitmq.trace交换机,而tracing自动就能绑定amq.rabbitmq.trace交换机。