消息追踪方案

一、消息追踪介绍

消息中心的消息追踪需要使用Trace实现,Trace是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试、排错。可通过插件形式提供可视化界面。Trace启动后会自动创建系统Exchange:amq.rabbitmq.trace  ,每个队列会自动绑定该Exchange,绑定后发送到队列的消息都会记录到Trace日志。

日志的默认保存地址为:/var/tmp/rabbitmq-tracing ,使用rabbitmq的用户的名称来进行管理(信息如下):

[{rabbitmq_tracing, [{directory, "/my/log/file/location"},

{username,  "guest"}]}].

二、消息追踪启用和查看

定位到Rabbitmq服务安装目录(现在使用的3.6版本rabbitmq,所有trace插件已经集成在其中,安装好后在rabbitmq的plugins中的.ez文件就是插件。),以下是trace的相关命令和使用(要使用需要先rabbitmq启用插件,再打开开关才能使用):

rabbitmq-plugins list  #查看插件列表

rabbitmq-plugins enable rabbitmq_tracing #rabbitmq启用trace插件

rabbitmqctl trace_on #打开trace的开关

rabbitmqctl trace_on -p test_host #打开trace的开关(test_host为需要日志追踪的vhost)

rabbitmqctl trace_off #关闭trace的开关

rabbitmq-plugins disable rabbitmq_tracing #rabbitmq关闭Trace插件

rabbitmqctl set_user_tags rabbitmq administrator #只有administrator的角色才能查看日志界面

使用浏览器查看日志信息:

a) Management插件-->Admin-->Trace

b) 新增Trace,格式分别是Text(方便人类阅读)、Json(方便机器识别)

c) 发送消息,查看Trace拦截的信息

三、消息追踪注意事项

注意:如果在使用中如果在界面上添加trace 时候报错FAILD 在rabbitmq日志中查看到webmachine error : path="/api/traces/test_host/baselog"

#其中test_host是你要需要在该vhost下添加baselog的trace。

可能是因为集群,所以需要远程写入文件,所以需要在/etc/rabbitmq/rabbitmq.config 中加入

[

{rabbitmq_tracing,

[{username:”rabbitmq”},

{password:”rabbitmq”}

]

}

] .

#说明:[]. 是rabbitmq.config的格式 最后有一个点(.),若添加的时候该文件已经存在,只需要把里面的内容添加进去即可,rabbitmq 是拥有test_host的vhost的用户名和密码。

四、消息追踪日志存储

一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,需要在/etc/rabbitmq下创建两个文件:

touch /etc/rabbitmq/rabbitmq-env.conf   #环境变量的配置文件
touch /etc/rabbitmq/rabbitmq.config      #配置信息的配置文件

。。。。。。

Rabbitmq消息中心_消息追踪相关推荐

  1. Rabbitmq消息中心_消息中心总体方案

    消息中心方案 一.消息中心简介 为了将各个应用系统之间进行业务解耦,对业务的透明化处理及技术架构的统一管理,方便对各应用的整体把控,保证系统的稳定性,也方便各应用的消息中间件的快速搭建,因此搭建消息中 ...

  2. RabbitMq消息中心_消息中心一致性

    消息中心一致性解决方案 1.介绍 消息发送一致性是指产生消息的业务动作和消息的发送一致,两者要不同时成功或失败.在确定使用rabbitmq作为消息中心的实现框架后,消息发送的一致性应结合实际的框架实现 ...

  3. springboot集成rabbitmq,根据查询的信息创建多个消息中心和消息队列,并实现不同的消息发送到不同的消息中心

    今天接到一个需求,就是在发送消息到rabbitmq消息中心的时候,需要根据设备类型,将消息发送到不同的消息队列,因此要创建不同的消息队列.       修改之前是把配置信息写在配置文中,项目启动时,获 ...

  4. java 消息队列_消息队列-RabbitMQ在JAVA中的应用(1)

    一.环境准备 安装RabbitMq 安装可查看另外文章本文就不做介绍了. 本文使用的erl和RabbitMQ版本分别是10.4和3.7.15 二.进入正题 1.创建SpringBoot项目 1.1.生 ...

  5. rabbitmq导出队列_消息队列BCMQ在大云运维管理平台BCDeepWatch中的应用

    友情提示:全文约2600字,预计阅读时间12分钟 摘要 消息队列作为重要的中间件,广泛用于分布式系统中各子系统间的异步解耦:本文主要介绍了大云消息队列中间件BC-MQ在BC-DeepWatch中的应用 ...

  6. weblogic jms消息 删除_消息队列与消息中间件概述:消息中间件核心概念与技术选型...

    什么是消息? "消息"是在两台计算机间传送的数据单位. 消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. 什么是队列? 队列(Queue)队列是一种先进先出 ...

  7. 消息队列_消息队列:kafka

    概念 kafka是一个分布式的基于发布/订阅模式的消息队列,主要用于大数据实时处理领域. 要理解kafka首先要有分布式的概念,要有消息队列的概念.分布式系统最大的优势就是解耦和削峰,这种情况下,A系 ...

  8. python 消息框架_消息框架message

    在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户. 对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户 ...

  9. RabbitMq消息中心_延迟发送消息

    Rabbitmq延迟发送消息解决方案 一. 什么是延迟队列: 延迟队列存储的对象肯定是对应的延时消息,所谓"延时消息"是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定 ...

最新文章

  1. Art Generation with Neural Style Transfer-v2
  2. 2款不同样式的CSS3 Loading加载动画 附源码
  3. 带有Spring Boot和Spring Cloud的Java微服务
  4. python连等号_Python比较2列表和2元组用等号
  5. php 自减函数,Thinkphp中某个字段值从增或自减函数
  6. C# Using 用法
  7. SSAS实践问题记录--后端数据库访问模块中存在错误。 为绑定指定的大小太小,导致一个或多个列值被截断。
  8. 【大数据部落】R语言RFM模型在电商行业的应用
  9. ext2文件系统源代码之balloc.c文件解析
  10. 新面貌,新征程—读《新程序员》有感
  11. grldr文件引导windows xp、ubuntu系统
  12. 苹果6怎样分屏_皮皮喵聚合搜索漫画APP苹果版IOS付费版更新 0.3.6,已购账号快来更新,分享一下,兑换码大赠送活动,共享喜悦!...
  13. LTE CQI/PMI 上报机制
  14. 【ACM】算法竞赛及OJ题面常用英文单词整理(更新ing)
  15. 软考最后冲刺阶段该怎么做
  16. 福利:学生免费注册使用JB全家桶
  17. 微型计算机中的位置的是什么,电脑基础知识问答卷
  18. 最大子序和(动态规划实现)
  19. 软件性能测试 容量测试,性能测试容量计算方法
  20. php需要做临时表嘛,php中使用临时表查询数据的一个例子

热门文章

  1. 推荐一款 Linux 上比较漂亮的字体(转)
  2. mysql视图view 自增id_MySQL学习笔记之MySQL视图(view)
  3. 【LB】稀疏矩阵的快速转置原理及其算法
  4. python实时显示图片_任何显示来自Cam的实时图像的快速Python GUI
  5. QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)
  6. 神州数码交换机CS6200命令(一)
  7. vue实例和组件的区别
  8. Matlab粒子群聚类程序
  9. 【社媒营销】四大跨境营销渠道分析
  10. Coursera半价优惠