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

 

posted @ 2021-05-12 14:23  空手接意大利炮  阅读(290)  评论(0)    收藏  举报