一、Logstash利用redis做缓存从filebeat收集nginx日志和系统日志。
将nginx 服务器的logstash收集之后的访问日志写入到redis服务器,然后通过另外的logstash将redis服
务器的数据取出在写入到elasticsearch服务器。
实践架构
在上一篇文章中我写了安装filebeat、elasticsearch的过程这里不做过多赘述,跳过安装过程的介绍
链接:http://t.csdnimg.cn/L1WTM
1.安装logstash
#安装jdk
[root@logstash ~]#yum -y install java-1.8.0-openjdk
#安装logstash,版本必须和es版本一样
[root@logstash ~]#wget -P /usr/local/src/ https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/7.17.5/logstash-7.17.5-x86_64.rpm
[root@logstash ~]#yum -y install /usr/local/src/logstash-7.17.5-x86_64.rpm
#修改配置文件
[root@logstash ~]#vim /etc/logstash/logstash.yml
19 node.name: logstash-node01
28 path.data: /var/lib/logstash #默认值
41 pipeline.workers: 2
45 pipeline.batch.size: 1000 #批量写入的消息个数,可以根据ES的性能做性能优化
50 pipeline.batch.delay: 5 #批量写入的延时,可以根据ES的性能做性能优化
200 path.logs: /var/log/logstash #默认值
#Logstash默认以logstash用户运行,如果logstash需要收集本机的日志,可能会有权限问题,可以修改为root
[root@logstash ~]#vim /etc/systemd/system/logstash.service
[Service]
User=root
Group=root
[root@logstash ~]#systemctl enable --now logstash.service
Created symlink /etc/systemd/system/multi-user.target.wants/logstash.service → /etc/systemd/system/logstash.service.
[root@logstash ~]#systemctl status logstash.service
2.安装nginx
#安装nginx
[root@filebeat-web ~]#yum -y install nginx
#配置日志的JSON格式
[root@filebeat-web ~]#vim /etc/nginx/nginx.conf
log_format access_json '{"@timestamp":"$time_iso8601",'
'"host":"$server_addr",'
'"clientip":"$remote_addr",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"upstreamtime":"$upstream_response_time",'
'"upstreamhost":"$upstream_addr",'
'"http_host":"$host",'
'"uri":"$uri",'
'"domain":"$host",'
'"xff":"$http_x_forwarded_for",'
'"referer":"$http_referer",'
'"tcp_xff":"$proxy_protocol_addr",'
'"http_user_agent":"$http_user_agent",'
'"status":"$status"}';
server {
access_log /data/nginx/logs/access_json.log access_json;
}
#创建日志目录
[root@filebeat-web ~]#vim /etc/nginx/nginx.conf
[root@filebeat-web ~]#vim /etc/nginx/nginx.conf.default
[root@filebeat-web ~]#vim /etc/nginx/nginx.conf
[root@filebeat-web ~]#mkdir /data/nginx/logs/ -pv
mkdir: created directory '/data/nginx'
mkdir: created directory '/data/nginx/logs/'
[root@filebeat-web ~]#chown -R nginx.nginx /data/nginx
[root@filebeat-web ~]#systemctl enable --now nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[root@filebeat-web ~]#systemctl status --now nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2023-10-21 10:20:25 CST; 7s ago
Process: 25619 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 25618 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 25616 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
#访问日志的JSON格式
[root@filebeat-web ~]#tail -n 1 /data/nginx/logs/access_json.log
{"@timestamp":"2023-10-21T10:26:18+08:00","host":"10.0.0.38","clientip":"10.0.0.1","size":0,"responsetime":0.000,"upstreamtime":"-","upstreamhost":"-","http_host":"10.0.0.38","uri":"/index.html","domain":"10.0.0.38","xff":"-","referer":"-","tcp_xff":"","http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36","status":"304"}
3.安装redis
#安装redis
[root@redis ~]#yum -y install redis
#配置redis
[root@redis ~]#vim /etc/redis.conf
69 bind 0.0.0.0
216 save "" #禁用rdb持久保存
#save 900 1
#save 300 10
#save 60 10000
508 requirepass 123456
[root@redis ~]#systemctl enable --now redis
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
4.配置filebeat文件,利用filebeat收集日志到Redis
[root@filebeat-web ~]#vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /data/nginx/logs/access_json.log
json.keys_under_root: true #默认False会将json数据存储至message,改为true则会独立message外存储
json.overwrite_keys: true #设为true,覆盖默认的message字段,使用自定义json格式中的key
tags: ["nginx-access"]
output.redis:
hosts: ["10.0.0.58:6379"]
password: "123456"
db: "0"
key: "filebeat" #所有日志都存放在key名称为filebeat的列表中,llen filebeat可查看长度,即日志记录数
5.配置logstash文件收集Redis数据发送至Elasticsearch
#配置文件
[root@logstash ~]#vim /etc/logstash/conf.d/redis-to-es.conf
input {
redis {
host => "10.0.0.58"
port => "6379"
password => "123456"
db => "0"
key => "filebeat"
data_type => "list"
}
}
output {
if "nginx-access" in [tags] {
elasticsearch {
hosts => ["10.0.0.18:9200"]
index => "nginx-accesslog-%{+YYYY.MM.dd}"
template_overwrite => true
}
}
}
#验证配置文件
[root@logstash ~]#/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis-to-es.conf -t
Using bundled JDK: /usr/share/logstash/jdk
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console
[INFO ] 2023-10-21 12:16:07.550 [main] runner - Starting Logstash {"logstash.version"=>"7.17.5", "jruby.version"=>"jruby 9.2.20.1 (2.5.8) 2021-11-30 2a2962fbd1 OpenJDK 64-Bit Server VM 11.0.15+10 on 11.0.15+10 +indy +jit [linux-x86_64]"}
[INFO ] 2023-10-21 12:16:07.566 [main] runner - JVM bootstrap flags: [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djdk.io.File.enableADS=true, -Djruby.compile.invokedynamic=true, -Djruby.jit.threshold=0, -Djruby.regexp.interruptible=true, -XX:+HeapDumpOnOutOfMemoryError, -Djava.security.egd=file:/dev/urandom, -Dlog4j2.isThreadContextMapInheritable=true]
[WARN ] 2023-10-21 12:16:08.130 [LogStash::Runner] multilocal - Ignoring the 'pipelines.yml' file because modules or command line options are specified
[INFO ] 2023-10-21 12:16:09.225 [LogStash::Runner] Reflections - Reflections took 60 ms to scan 1 urls, producing 119 keys and 419 values
[WARN ] 2023-10-21 12:16:09.809 [LogStash::Runner] json - Relying on default value of `pipeline.ecs_compatibility`, which may change in a future major release of Logstash. To avoid unexpected changes when upgrading Logstash, please explicitly declare your desired ECS Compatibility mode.
[WARN ] 2023-10-21 12:16:09.898 [LogStash::Runner] plain - Relying on default value of `pipeline.ecs_compatibility`, which may change in a future major release of Logstash. To avoid unexpected changes when upgrading Logstash, please explicitly declare your desired ECS Compatibility mode.
[WARN ] 2023-10-21 12:16:09.974 [LogStash::Runner] elasticsearch - Relying on default value of `pipeline.ecs_compatibility`, which may change in a future major release of Logstash. To avoid unexpected changes when upgrading Logstash, please explicitly declare your desired ECS Compatibility mode.
Configuration OK
[INFO ] 2023-10-21 12:16:09.990 [LogStash::Runner] runner - Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash
[root@logstash ~]#systemctl restart logstash
创建索引模式
查看索引
二、分别部署RabbitMQ单机版及RabbitMQ集群。
单机的rabbitmq
由于rabbitmq安装的话需要到外网,如果你科学上网可以访问下载外网的东西就可以直接跟着官方提供的下载步骤进行
官方下载文档地址:https://www.rabbitmq.com/install-rpm.html (这是RHEL,CentOS的rpm安装文档)
https://www.rabbitmq.com/install-debian.html (这是Debian,ubuntu安装文档)
如果你也没有科学上网的手段,参考我的步骤
我是根据先把一些密钥从网上下载到本地再传入虚拟机
1.安装erlang和rabbitmq
#这是无法从外网下载key
[root@rabbitmq ~]#rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc'
curl: (7) Failed to connect to github.com port 443: Connection refused
error: https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc: import read failed(2).
#在浏览器中输入 https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
#下载到本地再传到虚拟机中
[root@rabbitmq ~]#ls
anaconda-ks.cfg cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key cloudsmith.rabbitmq-server.9F4587F226208342.key rabbitmq-release-signing-key.asc
[root@rabbitmq ~]#rpm --import rabbitmq-release-signing-key.asc
[root@rabbitmq ~]#rpm --import cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
[root@rabbitmq ~]#rpm --import cloudsmith.rabbitmq-server.9F4587F226208342.key
#编写yum源,yum源就是上面说的官方文档中提供的,但是要把里面从外网加载的key验证都换成本地的
[root@rabbitmq ~]#vim /etc/yum.repos.d/rabbitmq.repo
1 #In /etc/yum.repos.d/rabbitmq.repo
2
3 ##
4 ## Zero dependency Erlang RPM
5 ##
6
7 [modern-erlang]
8 name=modern-erlang-el8
9 # uses a Cloudsmith mirror @ yum.novemberain.com in addition to its Cloudsmith upstream.
10 # Unlike Cloudsmith, the mirror does not have any traffic quotas
11 baseurl=https://yum1.novemberain.com/erlang/el/8/$basearch
12 https://yum2.novemberain.com/erlang/el/8/$basearch
13 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/8/$basearch
14 repo_gpgcheck=1
15 enabled=1
16 gpgkey=file:///root/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key #这些地方改成自己的位置
17 gpgcheck=1
18 sslverify=1
19 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
20 metadata_expire=300
21 pkg_gpgcheck=1
22 autorefresh=1
23 type=rpm-md
24
25 [modern-erlang-noarch]
26 name=modern-erlang-el8-noarch
27 # uses a Cloudsmith mirror @ yum.novemberain.com.
28 # Unlike Cloudsmith, it does not have any traffic quotas
29 baseurl=https://yum1.novemberain.com/erlang/el/8/noarch
30 https://yum2.novemberain.com/erlang/el/8/noarch
31 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/8/noarch
32 repo_gpgcheck=1
33 enabled=1
34 gpgkey=file:///root/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key #这些,剩下的自己找吧,下面还有
35 file:///root/rabbitmq-release-signing-key.asc
36 gpgcheck=1
37 sslverify=1
38 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
39 metadata_expire=300
40 pkg_gpgcheck=1
41 autorefresh=1
42 type=rpm-md
43
44 [modern-erlang-source]
45 name=modern-erlang-el8-source
46 # uses a Cloudsmith mirror @ yum.novemberain.com.
47 # Unlike Cloudsmith, it does not have any traffic quotas
48 baseurl=https://yum1.novemberain.com/erlang/el/8/SRPMS
49 https://yum2.novemberain.com/erlang/el/8/SRPMS
50 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/8/SRPMS
51 repo_gpgcheck=1
52 enabled=1
53 gpgkey=file:///root/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
54 file:///root/rabbitmq-release-signing-key.asc
55 gpgcheck=1
56 sslverify=1
57 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
58 metadata_expire=300
59 pkg_gpgcheck=1
60 autorefresh=1
61
62
63 ##
64 ## RabbitMQ Server
65 ##
66
67 [rabbitmq-el8]
68 name=rabbitmq-el8
69 baseurl=https://yum2.novemberain.com/rabbitmq/el/8/$basearch
70 https://yum1.novemberain.com/rabbitmq/el/8/$basearch
71 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/8/$basearch
72 repo_gpgcheck=1
73 enabled=1
74 # Cloudsmith's repository key and RabbitMQ package signing key
75 gpgkey=file:///root/cloudsmith.rabbitmq-server.9F4587F226208342.key
76 file:///root/rabbitmq-release-signing-key.asc
77 gpgcheck=1
78 sslverify=1
79 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
80 metadata_expire=300
81 pkg_gpgcheck=1
82 autorefresh=1
83 type=rpm-md
84
85 [rabbitmq-el8-noarch]
86 name=rabbitmq-el8-noarch
87 baseurl=https://yum2.novemberain.com/rabbitmq/el/8/noarch
88 https://yum1.novemberain.com/rabbitmq/el/8/noarch
89 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/8/noarch
90 repo_gpgcheck=1
91 enabled=1
92 # Cloudsmith's repository key and RabbitMQ package signing key
93 gpgkey=file:///root/cloudsmith.rabbitmq-server.9F4587F226208342.key
94 file:///root/rabbitmq-release-signing-key.asc
95 gpgcheck=1
96 sslverify=1
97 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
98 metadata_expire=300
99 pkg_gpgcheck=1
100 autorefresh=1
101 type=rpm-md
102
103 [rabbitmq-el8-source]
104 name=rabbitmq-el8-source
105 baseurl=https://yum2.novemberain.com/rabbitmq/el/8/SRPMS
106 https://yum1.novemberain.com/rabbitmq/el/8/SRPMS
107 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/rpm/el/8/SRPMS
108 repo_gpgcheck=1
109 enabled=1
110 gpgkey=file:///root/cloudsmith.rabbitmq-server.9F4587F226208342.key
111 gpgcheck=0
112 sslverify=1
113 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
114 metadata_expire=300
115 pkg_gpgcheck=1
116 autorefresh=1
117 type=rpm-md
#安装erlang rabbitmq
[root@rabbitmq ~]#yum clean all
[root@rabbitmq ~]#yum -y install erlang rabbitmq-server
#rabbitmq 启动!
[root@rabbitmq ~]#systemctl enable --now rabbitmq-server.service
#加载web UI插件
[root@rabbitmq ~]#rabbitmq-plugins enable rabbitmq_management
#查看端口
[root@es-node1 ~]#ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:4369 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 这个是加载web插件之后会开启的访问端口 0.0.0.0:15672 0.0.0.0:*
LISTEN 0 128 剩下的除了22都是开启rabbitmq之后开放的端口 0.0.0.0:25672 0.0.0.0:*
LISTEN 0 128 [::]:4369 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 *:5672 *:*
2.创建登录UI界面的用户
从rabbitmq3.3.0之后就禁止使用guest/guest权限登录除了localhost访问,直接访问会报错,所以需要关闭禁止guest访问登陆的配置,but,我没有找到该配置文件在哪里,所以我就另辟蹊径,自己创建了一个management用户!!!!!
我发现在不创建management的情况下,就算我创建了一个administrator,也是登录不上的,所以必须先创建一个管理用户
[root@rabbitmq ~]#rabbitmqctl add_user ma 123456
[root@rabbitmq ~]#rabbitmqctl set_user_tags ma management
Setting tags for user "ma" to [management] ...
[root@rabbitmq ~]#rabbitmqctl add_user rb 123456
Adding user "rb" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
[root@rabbitmq ~]#rabbitmqctl set_user_tags rb administrator
Setting tags for user "rb" to [administrator] ...
创建rabbitmq集
10.0.0.18 rabbitmq-server1
10.0.0.28 rabbitmq-server2
10.0.0.38 rabbitmq-server3
1.安装rabbitmq,同上述一样
[root@rabbitmq-server1 ~]#scp cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key cloudsmith.rabbitmq-server.9F4587F226208342.key rabbitmq-release-signing-key.asc 10.0.0.28:
root@10.0.0.28's password:'
cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key 100% 1337 270.1KB/s 00:00
cloudsmith.rabbitmq-server.9F4587F226208342.key 100% 1337 923.9KB/s 00:00
rabbitmq-release-signing-key.asc 100% 3187 3.4MB/s 00:00
[root@rabbitmq-server1 ~]#scp cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key cloudsmith.rabbitmq-server.9F4587F226208342.key rabbitmq-release-signing-key.asc 10.0.0.38:
root@10.0.0.38's password: '
cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key 100% 1337 1.2MB/s 00:00
cloudsmith.rabbitmq-server.9F4587F226208342.key 100% 1337 1.5MB/s 00:00
rabbitmq-release-signing-key.asc 100% 3187 2.8MB/s 00:00
[root@rabbitmq-server1 ~]#scp /etc/yum.repos.d/rabbitmq.repo 10.0.0.28:/etc/yum.repos.d/rabbitmq.repo
root@10.0.0.28's password: '
rabbitmq.repo 100% 3579 2.5MB/s 00:00
[root@rabbitmq-server1 ~]#scp /etc/yum.repos.d/rabbitmq.repo 10.0.0.38:/etc/yum.repos.d/rabbitmq.repo
root@10.0.0.38's password:
rabbitmq.repo
#跟上述步骤一样
2.创建rabbitmq集群
Rabbitmq 的集群是依赖于 erlang 的集群来工作的,所以必须先构建起 erlang 的集群环境,而 Erlang 的集群中各节点是通过一个 magic cookie 来实现的,这个cookie 存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是 400 的权限,所以必须保证各节点 cookie 保持一致,否则节点之间就无法通信。
#关闭服务
[root@rabbitmq-server1 ~]#systemctl stop rabbitmq-server.service
[root@rabbitmq-server2 ~]#systemctl stop rabbitmq-server.service
[root@rabbitmq-server3 ~]#systemctl stop rabbitmq-server.service
#同步magic cookie
[root@rabbitmq-server1 ~]#scp /var/lib/rabbitmq/.erlang.cookie 10.0.0.28:/var/lib/rabbitmq/.erlang.cookie
root@10.0.0.28's password: '
.erlang.cookie 100% 20 6.7KB/s 00:00
[root@rabbitmq-server1 ~]#scp /var/lib/rabbitmq/.erlang.cookie 10.0.0.38:/var/lib/rabbitmq/.erlang.cookie
root@10.0.0.38's password:
.erlang.cookie
#启动服务
[root@rabbitmq-server1 ~]#systemctl start rabbitmq-server.service
[root@rabbitmq-server2 ~]#systemctl start rabbitmq-server.service
[root@rabbitmq-server3 ~]#systemctl start rabbitmq-server.service
#节点状态
[root@rabbitmq-server1 ~]#rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq-server1 ...
Basics
Cluster name: rabbit@rabbitmq-server1
Total CPU cores available cluster-wide: 2
Disk Nodes
rabbit@rabbitmq-server1
Running Nodes
rabbit@rabbitmq-server1
Versions
rabbit@rabbitmq-server1: RabbitMQ 3.12.7 on Erlang 26.1.2
3.关联集群
在 rabbitmq-server1 作为内存节点添加到rabbitmq-server3,并作为内存节点
#停止服务
[root@rabbitmq-server1 ~]#rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq-server1 ...
#清空数据
[root@rabbitmq-server1 ~]#rabbitmqctl reset
Resetting node rabbit@rabbitmq-server1 ...
#先添加三个节点的host解析
[root@rabbitmq-server1 ~]#vim /etc/hosts
[root@rabbitmq-server2 ~]#vim /etc/hosts
[root@rabbitmq-server3 ~]#vim /etc/hosts
10.0.0.18 rabbitmq-server1
10.0.0.28 rabbitmq-server2
10.0.0.38 rabbitmq-server3
#将 rabbitmq-server1 添加到集群当中,并成为内存节点,不加--ram 默认是磁盘节点
[root@rabbitmq-server1 ~]#rabbitmqctl join_cluster rabbit@rabbitmq-server3 --ram
Clustering node rabbit@rabbitmq-server1 with rabbit@rabbitmq-server3
[root@rabbitmq-server1 ~]#rabbitmqctl start_app
Starting node rabbit@rabbitmq-server1 ...
在 rabbitmq-server2 作为内存节点添加到rabbitmq-server3,并作为内存节点
#关闭服务
[root@rabbitmq-server2 ~]#rabbitmqctl stop_app
Stopping rabbit application on node rabbit@rabbitmq-server2 ...
#清空数据
[root@rabbitmq-server2 ~]#rabbitmqctl reset
Resetting node rabbit@rabbitmq-server2 ...
#将 rabbitmq-server2 添加到集群当中,并成为内存节点,不加--ram 默认是磁盘节点
[root@rabbitmq-server2 ~]#rabbitmqctl join_cluster rabbit@rabbitmq-server3 --ram
Clustering node rabbit@rabbitmq-server2 with rabbit@rabbitmq-server3
[root@rabbitmq-server2 ~]#rabbitmqctl start_app
Starting node rabbit@rabbitmq-server2 ...
#查看集群状态
[root@rabbitmq-server1 ~]#rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq-server1 ...
Basics
Cluster name: rabbit@rabbitmq-server1
Total CPU cores available cluster-wide: 6
Disk Nodes
rabbit@rabbitmq-server3
RAM Nodes
rabbit@rabbitmq-server1
rabbit@rabbitmq-server2
Running Nodes
rabbit@rabbitmq-server1
rabbit@rabbitmq-server2
rabbit@rabbitmq-server3
Versions
rabbit@rabbitmq-server1: RabbitMQ 3.12.7 on Erlang 26.1.2
rabbit@rabbitmq-server3: RabbitMQ 3.12.7 on Erlang 26.1.2
rabbit@rabbitmq-server2: RabbitMQ 3.12.7 on Erlang 26.1.2
#把集群设置为镜像模式
[root@rabbitmq-server1 ~]#rabbitmqctl set_policy ha-all "#" '{"ha-mode":"all"}'
Setting policy "ha-all" for pattern "#" to "{"ha-mode":"all"}" with priority "0" for vhost "/" ...
镜像模式相当于普通模式的高可用
4.在web界面查看
[root@rabbitmq-server1 ~]#rabbitmqctl add_user ma 123456
Adding user "ma" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
[root@rabbitmq-server1 ~]#rabbitmqctl set_user_tags ma administrator
Setting tags for user "ma" to [administrator] ...
在没有开启UI插件的节点不显示统计信息
都开启UI插件
[root@rabbitmq-server2 ~]#rabbitmq-plugins enable rabbitmq_management
[root@rabbitmq-server3 ~]#rabbitmq-plugins enable rabbitmq_management