Prometheus监控rabbitMQ集群

48次阅读
没有评论

安装 Erlang

apt-get install -y erlang

下载 完美兼容 Ubuntu 自带 Erlang 24 的包

cd /usr/local
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.25/rabbitmq-server-generic-unix-3.10.25.tar.xz

解压

tar -xvf rabbitmq-server-generic-unix-3.10.25.tar.xz

配置环境

echo “export PATH=/usr/local/rabbitmq_server-3.10.25/sbin:\$PATH” >> /etc/profile
source /etc/profile

启动服务

rabbitmq-server -detached

查看版本

rabbitmqctl version

开启 WEB 控制台

rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_prometheus

创建账号

rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

两台节点(elk91 + elk92)搭建 RabbitMQ 集群

  • elk91:RabbitMQ 已安装
  • elk92:RabbitMQ 已安装
  • Erlang 正常
  • 目录:/usr/local/rabbitmq_server-3.10.25

一、保证两台机器互相能解析主机名(必须做)

两台节点都执行:

cat >> /etc/hosts << EOF
10.0.0.91 elk91
10.0.0.92 elk92
EOF

二、两台节点都先停止 RabbitMQ

rabbitmqctl stop

三、同步 .erlang.cookie(集群通信密钥,最关键)

只在 elk91 执行:

scp /root/.erlang.cookie root@elk92:/root/

然后在 elk92 执行:

chmod 600 /root/.erlang.cookie

四、两台节点都启动 RabbitMQ

rabbitmq-server -detached

五、开始组建集群(只在 elk92 执行)

1. 停止应用

rabbitmqctl stop_app

2. 重置节点

rabbitmqctl reset

3. 加入 elk91 集群

rabbitmqctl join_cluster rabbit@elk91

4. 启动应用

rabbitmqctl start_app

六、查看集群状态(任意节点执行)

rabbitmqctl cluster_status

看到下面内容 = 集群成功!

Nodes: [{rabbit@elk91},{rabbit@elk92}]

七、设置镜像队列(全队列高可用)

任意节点执行:

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'

八、查看队列策略

rabbitmqctl list_policies

九、Web 界面查看集群

http://10.0.0.91:15672
http://10.0.0.92:15672
账号:admin
密码:admin

看到 2 个节点 = 集群完全成功

十、Prometheus 监控配置

两台节点自动暴露监控指标:

http://10.0.0.91:15692/metrics
http://10.0.0.92:15692/metrics

prometheus.yml 增加:

- job_name: "rabbitmq"
    scrape_interval: 15s
    static_configs:
      - targets:
        - "10.0.0.91:15692"
        - "10.0.0.92:15692"

最适合你集群的 Grafana 面板 ID

首选(官方推荐,适配内置 Prometheus 插件)10991(RabbitMQ Management)

  • 适配:RabbitMQ 3.8+ 内置 rabbitmq_prometheus 插件(你当前环境已满足)
  • 覆盖:集群节点状态、连接 / 信道 / 队列、消息速率、内存 / 文件句柄、Erlang 运行时等核心指标

备选(通用 exporter 场景)7380(RabbitMQ Monitoring)

导入步骤(Grafana 操作)

  1. 登录 Grafana → 左侧菜单 DashboardsNewImport
  2. Import via grafana.com 输入框填入 10991 → 点击 Load
  3. 选择你的 Prometheus 数据源 → 点击 Import
  4. 面板加载后,顶部可切换查看 elk91 / elk92 节点或集群聚合数据

面板核心监控项(10991)

  • 集群节点健康与资源(CPU、内存、FD、Socket、Erlang 进程)
  • 连接数、信道数、队列数、消费者数
  • 消息发布 / 消费速率、Ready/Unacked 消息量
  • 死信队列、交换器、集群网络分区状态
正文完
 0
评论(没有评论)