开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情
RabbitMQ默认日志存放路径:/var/log/rabbitmq/rabbit@xxx.log
其实就是查看流水账,什么时候创建的连接,什么时候关闭的连接
可以通过日志排查错误问题
Web管控台和监控
rabbitmqctl管理和监控命令
他有很多子命令去查看不同的信息
26 高级特性:消息追踪
什么是消息追踪
在使用任何消息中间件的过程中,难免会出现某条消息异常丢失的情况,对于RabbitMQ而言,可能是因为生产者和消费者与RabbitMQ断开了连接,而他们与RabbitMQ又采用了不同的确认机制,也有可能是因为交换机与队列之间不同的转发策略,甚至是交换机没有于任何队列进行绑定,生查子又不感知或者没有采取相应的措施,另外RabbitMQ本身的集群策略也可能导致消息的丢失,这个时候就需要有一个较好的机制跟踪记录消息的投递过程,用来协助开发和运维人员去定位问题
在RabbitMQ中可以使用Firehose和rabbitmq_tracing插件功能来实现消息追踪
1 Firehose
就是说我们发一条消息到同时它也会自动发送一条一样的消息,只不过它发的消息记录的更加全面,是RabbitMQ的内部消息,一般是不会丢失的,但是我们自己发的消息,就不会得到保障
amq.rabbitmq.trace
点进去查看它的属性
我们自定义创建一个新的队列
然后amq.rabbitmq.trace和队列进行绑定
Firehose没有开启,发送消息测试
获取消息
开启Firehose
再次发生消息,发送Firehose会自动追加我们发送的消息,并且带有更完整的信息
关闭消息追踪