08 . Prometheus+Grafana监控haproxy+rabbitmq

List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz haproxy_exporter-0.11.0.linux-amd64.tar.gz 节点名 IP 软件版本 硬件 网络 说明
Prometheus   192.168.43.144   list 里面都有   2C4G   Nat,内网   测试环境  
RabbitMQ   192.168.43.213   list 里面都有   2C4G   Nat,内网   测试环境  
RabbitMQ   192.168.43.251   list 里面都有   2C4G   Nat,内网   测试环境  
部署Prometheus

部署Promehteus请看我前面写的文章

https://www.cnblogs.com/you-men/p/12839535.html

部署RabbitMQ 修改主机名

由于 RabbitMQ 集群连接是通过主机名来连接服务的,必须保证各个主机名之间可以 ping 通

hostnamectl set-hostname rabbitmq-2 hostnamectl set-hostname rabbitmq-1 echo "192.168.43.213 rabbitmq-1" >> /etc/hosts echo "192.168.43.251 rabbitmq-2" >> /etc/hosts scp /etc/hosts rabbitmq-2:/etc/ 安装RabbitMQ # 更新 yum源 yum install epel-release yum -y install rabbitmq-server 同步Erlang cookie

RabbitMQ 集群是通过 Erlang 的集群实现的,当集群中的节点进行通信时,Erlang 节点会进行认证。如果节点之间的 Erlang cookie 不相同,则会认证失败。因此,需要在集群中的所有节点上同步 cookie 文件

这里将 rabbitmq-1 的该文件复制到 rabbitmq-2,由于这个文件权限是 400 为方便传输,先修改权限,非必须操作,所以需要先修改 rabbitmq-2 中的该文件权限为 777

[root@rabbitmq-1 ~]# service rabbitmq-server start Redirecting to /bin/systemctl start rabbitmq-server.service [root@rabbitmq-1 ~]# cat /var/lib/rabbitmq/.erlang.cookie KNTAXWSNMNNODXVTCRZZ # 用scp 拷贝到rabbitmq-2 scp /var/lib/rabbitmq/.erlang.cookie rabbitmq-2:/var/lib/rabbitmq/.erlang.cookie # 我们到另一台机器发现拷贝过来的权限有问题,所以需要修改 [root@rabbitmq-2 ~]# ls -l /var/lib/rabbitmq/.erlang.cookie -r-------- 1 root root 20 May 7 23:27 /var/lib/rabbitmq/.erlang.cookie chmod 400 /var/lib/rabbitmq/.erlang.cookie chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie service rabbitmq-server start 组成集群

在rabbitmq-2执行如下命令

[root@rabbitmq-2 ~]# rabbitmqctl stop_app # 停止rabbitmq服务 [root@rabbitmq-2 ~]# rabbitmqctl reset # 清空节点状态 [root@rabbitmq-2 ~]# rabbitmqctl join_cluster rabbit@rabbitmq-1 # node2和node1构成集群,node2必须能通过node1的主机名ping通 [root@rabbitmq-2 ~]# rabbitmqctl start_app # 开启rabbitmq服务 # 接下来我们到任意一台机器上面查看集群状态: [root@rabbitmq-2 ~]# rabbitmqctl cluster_status Cluster status of node 'rabbit@rabbitmq-1' ... [{nodes,[{disc,['rabbit@rabbitmq-1','rabbit@rabbitmq-2']}]}, {running_nodes,['rabbit@rabbitmq-2','rabbit@rabbitmq-1']}, {cluster_name,<<"rabbit@rabbitmq-1">>}, {partitions,[]}] ...done. RabbitMQ常用命令 rabbitmqctl list_users # 查看rabbitmq用户列表,默认用户名密码都为guest rabbitmqctl add_user admin1 123 # 新增用户 rabbitmqctl set_user_tags admin1 administrator # 设置用户admin1为管理员级别 # 其他命令 rabbitmqctl add_user <username> <password> rabbitmqctl delete_user <username> rabbitmqctl change_password <username> <newpassword> rabbitmqctl clear_password <username> rabbitmqctl authenticate_user <username> <password> rabbitmqctl set_user_tags <username> <tag> ... rabbitmqctl list_users 配置rabbitmq用户管理界面 # 开启web可视化界面 rabbitmq-plugins enable rabbitmq_management # 需要重启rabbitmq service rabbitmq-server restart # 接下来浏览器访问IP:15672即可

rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问,否则会报错

08 . Prometheus+Grafana监控haproxy+rabbitmq

需要在/etc/rabbitmq/rabbitmq.config文件中需要添加{loopback_users, []}配置:

[{rabbit, [ {loopback_users, []} ]}].

08 . Prometheus+Grafana监控haproxy+rabbitmq

设置内存节点

如果节点需要设置成内存节点,则加入集群的命令如下:

rabbitmqctl join_cluster --ram rabbit@rabbitmq-1 # –ram指的是作为内存节点,如果不加,那就默认为内存节点。

如果节点在集群中已经是磁盘节点了,通过以下命令可以将节点改成内存节点:

rabbitmqctl stop_app # 停止rabbitmq服务 rabbitmqctl change_cluster_node_type ram # 更改节点为内存节点 rabbitmqctl start_app # 开启rabbitmq服务 镜像队列

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydsyf.html