rabbitmq集群部署,开启镜像队列,添加监控

目录

准备工作

集群部署

编译wxWidgets

查看集群状态

配置集群镜像模式

监控配置

#查看监控指标

prometheus配置

重启proemtheus

grafana展示


最近有个项目有用到消息队列,根据实际情况选择了rabbitmq,具体原因的话,有这么几点吧。

rabbitmq性能来讲,比较均衡,或者说比较全面,之前的话,也一直用的是rabbitmq,数据量的话,也没有特别的大,rabbitmq也支持高并发,毕竟erlang语言就具备高并发,另外就是对于消息的持久化了,后期也可以对具体的队列做镜像处理,整体来说,rabbitmq比较符合需求。

准备工作

机器准备,集群部署,所以需要三台:

主机名

ip

mq1

192.168.10.2

mq2

192.168.10.3

mq3

192.168.10.4

在确认了版本之后,需要去看对应的erlang版本,可参考(https://rabbitmq.com/which-erlang.html)

对应版本的包下载:

#OTP 22.3https://github.com/erlang/otp/releases/download/OTP-22.3.4.26/otp_src_22.3.4.26.tar.gz#rabbitmq rpm包https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.4-1.el7.noarch.rpm#wxWidgetshttps://github.com/wxWidgets/wxWidgets/releases/tag/v3.1.5

集群部署

在部署OTP之前,需要先安装一些前置包,不然编译会有问题

#都是教训,三台都执行下yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel gcc glibc-devel make ncurses-devel openssl-devel autoconf xmlto libtool automake gcc-c++ unixODBC unixODBC-devel gtk2-devel binutils-devel   fop.noarch bzip2 -y
yum安装结束后,还需要安装 wxWidgets

不然编译的时候,会有这个报错

wxWidgets not found, wx will NOT be usable

编译wxWidgets

#解压tar -xjf  wxWidgets-3.1.5.tar.bz2cd /wxWidgets-3.15#编译./configure --with-regex=builtin --with-gtk --enable-unicode --disable-shared --prefix=/usr/local/wxWidgetsmake && make install#设置动态目录cd /etc/ld.so.conf.d/touch wxWidgets.confcat >>wxWidgets.conf<<EOF/usr/local/libEOF#重新加载动态库ldconfig#java环境也需要提前配置好,不然也会报错,因为我们是统一部署的jdk,这里就不再介绍了。#到这里就可以开始编译OTP了#OTP编译tar -xvf otp_src_22.3.4.26.tar.gz -C otpcd ./otp

./otp_build autoconf./configure --prefix=/data460/erlang_22.3make && make install
#修改环境变量,验证是否成功vim /etc/profile#新增如下PATH=$PATH:/data460/erlang_22.3/bin/
source /etc/pfofile

查看erl版本

erl

编译还会有个报错,可以忽略

可忽略报错

Can not link the wx driver, wx will NOT be useable

部署好之后,可以部署rabbitmq了

三台分别执行

rpm -ivh  --nodeps rabbitmq-server-3.8.4-1.el7.noarch.rpm
其中一台启动rabbitmq
systemctl start rabbitmq-server

然后同步这台erlang 文件到两外两台

cat /var/lib/rabbitmq/.erlang.cookie

注意.erlang.cookie的文件权限是 400

然后另外两台分别执行​​​​​​​

systemctl start rabbitmq-server.servicesystemctl status rabbitmq-server.servicerabbitmqctl stop_apprabbitmqctl join_cluster rabbit@mq-01#内存节点#rabbitmqctl join_cluster --ram rabbit@mq-01rabbitmqctl start_apprabbitmqctl status

查看集群状态

rabbitmqctl cluster_status

配置集群镜像模式

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"exactly", "ha-params":2, "ha-sync-mode":"automatic","ha-sync-batch-size":300000}'
#开启web页面rabbitmq-plugins enable rabbitmq_management#新建用户rabbitmqctl add_user admin fadsfj4as$rabbitmqctl  set_user_tags admin  administratorrabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

监控配置

采用rabbitmq-exporter

地址:https://github.com/kbudde/rabbitmq_exporter/

下载包:

https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC8/rabbitmq_exporter-1.0.0-RC8.linux-amd64.tar.gz

解压,配置文件,systemctl启动配置

tar -xvf rabbitmq_exporter-1.0.0-RC8.linux-amd64.tar.gz

下为涉及到的配置文件及目录​​​​​​​

cat rabbitmq.conf{
   
       "rabbit_url": "http://192.168.10.2:15672",    "rabbit_user": "admin",    "rabbit_pass": "fadsfj4as$",    "publish_port": "9419",    "publish_addr": "",    "output_format": "TTY",    "ca_file": "ca.pem",    "cert_file": "client-cert.pem",    "key_file": "client-key.pem",    "insecure_skip_verify": false,    "exlude_metrics": [],    "include_queues": ".*",    "skip_queues": "^$",    "skip_vhost": "^$",    "include_vhost": ".*",    "rabbit_capabilities": "no_sort,bert",    "enabled_exporters": [            "exchange",            "node",            "overview",            "queue"    ],    "timeout": 30,    "max_queues": 0}cat /usr/lib/systemd/system/rabbitmq_exporter.service[Unit]Description=rabbitmq_exporterAfter=network.target

[Service]Type=simpleRestart=alwaysRestartSec=10WorkingDirectory=/data/rabbitmq_exporterExecStart=/data/rabbitmq_exporter/rabbitmq_exporter -config-file  rabbitmq.conf 

[Install]WantedBy=multi-user.target

#启动 systemctl start rabbitmq_exporter.service &&  systemctl status rabbitmq_exporter.service


#查看监控指标

192.168.10.2:9419/metrics

prometheus配置

#新增  - job_name: rabbit      static_configs:    - targets: ['192.168.10.7:9419'

重启proemtheus

grafana展示

import 导入 4279

猜你喜欢

转载自blog.csdn.net/smallbird108/article/details/125817607