Centos6 下离线安装配置rabbitmq(3.4.1版本)
一、下载资源文件(.rpm文件)
链接:https://pan.baidu.com/s/1TeCoh7l5FOKeU5Y944UsqA 提取码:swjz 复制这段内容后打开百度网盘手机App,操作更方便哦
二、创建rabbit文件夹

三、通过ftp上传文件


四、安装erlang环境
cd Erlang
rpm -ivh esl-erlang_17.3-1~centos~6_amd64.rpm esl-erlang-compat-R14B-1.el6.noarch.rpm esl-erlang-17.3-1.x86_64.rpm --force --nodeps

五、安装RabbitMQ
cd ../
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm

六、修改配置文件,安装监控插件

cd /usr/share/doc/rabbitmq-server-3.4.1/ cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config vi /etc/rabbitmq/rabbitmq.config #修改配置文件

rabbitmq-plugins enable rabbitmq_management #开启网络管理端插件 service rabbitmq-server start #启动rabbitmq服务 chkconfig rabbitmq-server on #设置开机自启

六、对防火墙开放指定端口(开放15672,5672端口)
防火墙状态:systemctl status firewalld.service Active: inactive (dead)/active(running) 开放指定端口(15672):firewall-cmd --add-port=15672/tcp --permanent 重新加载防火墙:firewall-cmd --reload
七、创建脚本
启动
cat <<EOF> /home/rabbitmq/startRabbitmq.sh #!/bin/bash service rabbitmq-server start EOF
查看状态
cat <<EOF> /home/rabbitmq/statusRabbitmq.sh #!/bin/bash service rabbitmq-server status EOF
停止
cat <<EOF> /home/rabbitmq/stopRabbitmq.sh #!/bin/bash service rabbitmq-server stop EOF
重启
cat <<EOF> /home/rabbitmq/restartRabbitmq.sh #!/bin/bash service rabbitmq-server restart EOF
八、启动日志插件
- 列出Trace插件
rabbitmq-plugins list
- 启动Trace插件
rabbitmq-plugins enable rabbitmq_tracing
-
到管理页面添加Tracing,点击“Admin”菜单,右边会多出一个“Tracing”的菜单,填写Name、Format、Max payload bytes、Pattern。然后点击“添加Add trace”即可添加一个日志。


name:随意起的名字。Format”表示输出的消息日志格式,有Text和JSON两种,Text格式的日志方便人类阅读,JSON的方便程序解析。
Text格式的消息日志参考如下:
================================================================================ 2021-06-03 15:50:25:076: Message published Node: rabbit@iZ2ze43igrnrzirtasx43tZ Connection: 61.138.128.150:49335 -> 172.17.253.241:5672 Virtual host: / User: admin Channel: 2 Exchange: exchange Routing keys: [<<"short-message">>] Properties: [{<<"priority">>,signedint,0}, {<<"delivery_mode">>,signedint,2}, {<<"headers">>,table,[]}, {<<"content_encoding">>,longstr,<<"UTF-8">>}, {<<"content_type">>,longstr,<<"text/plain">>}] Payload: 1111 ================================================================================ 2021-06-03 15:50:25:077: Message received Node: rabbit@iZ2ze43igrnrzirtasx43tZ Connection: 172.17.181.156:48100 -> 172.17.253.241:5672 Virtual host: / User: admin Channel: 1 Exchange: exchange Queue: short-message Routing keys: [<<"short-message">>] Properties: [{<<"priority">>,signedint,0}, {<<"delivery_mode">>,signedint,2}, {<<"headers">>,table,[]}, {<<"content_encoding">>,longstr,<<"UTF-8">>}, {<<"content_type">>,longstr,<<"text/plain">>}] Payload: 1111
JSON格式的消息日志参考如下:
{ "timestamp": "2021-05-28 11:05:01:426", "type": "published", "node": "rabbit@iZ2ze43igrnrzirtasx43tZ", "connection": "172.17.181.156:48100 -> 172.17.253.241:5672", "vhost": "/", "user": "admin", "channel": 2, "exchange": "exchange", "queue": "none", "routing_keys": ["short-message"], "properties": { "priority": 0, "delivery_mode": 2, "headers": {}, "content_encoding": "UTF-8", "content_type": "text/plain" }, "payload": "MTcwNzM1MTExMzYsVGZrUXowQWVlSW8=" } { "timestamp": "2021-05-28 11:05:01:426", "type": "received", "node": "rabbit@iZ2ze43igrnrzirtasx43tZ", "connection": "172.17.181.156:48100 -> 172.17.253.241:5672", "vhost": "/", "user": "admin", "channel": 1, "exchange": "exchange", "queue": "short-message", "routing_keys": ["short-message"], "properties": { "priority": 0, "delivery_mode": 2, "headers": {}, "content_encoding": "UTF-8", "content_type": "text/plain" }, "payload": "MTcwNzM1MTExMzYsVGZrUXowQWVlSW8=" }
JSON格式的payload(消息体)默认会采用Base64进行编码,如上面的“trace test payload.”会被编码成“MTcwNzM1MTExMzYsVGZrUXowQWVlSW8=”。
“Max payload bytes”表示每条消息的最大限制,单位为B。比如设置了了此值为10,那么当有超过10B的消息经过RabbitMQ流转时,在记录到trace文件的时候会被截断。如上text日志格式中“trace test payload.”会被截断成“trace test”。
“Pattern”用来设置匹配的模式,和Firehose的类似。具体含义如下:
# 追踪所有进入和离开MQ的消息
publish.# 追踪所有进入MQ的消息
publish.myExchage 追踪所有进入到myExchange的消息
deliver.# 跟踪所有离开MQ的消息
deliver.myQueue 追踪所有从myQueue离开的消息
#.myQueue实测效果等同于deliver.myQueue


浙公网安备 33010602011771号