文章目录
- [Prometheus + Grafana 监控 RabbitMQ 实践教程](#Prometheus + Grafana 监控 RabbitMQ 实践教程)
-
- 一、前言
- 二、环境搭建
-
- [2.1 环境准备](#2.1 环境准备)
- [2.2 安装 Prometheus](#2.2 安装 Prometheus)
- [2.3 安装 Grafana](#2.3 安装 Grafana)
- [三、集成 RabbitMQ Exporter](#三、集成 RabbitMQ Exporter)
-
- [3.1 下载 RabbitMQ Exporter](#3.1 下载 RabbitMQ Exporter)
- [3.2 解压文件](#3.2 解压文件)
- [3.3 配置环境变量](#3.3 配置环境变量)
- [3.4 启动 RabbitMQ Exporter](#3.4 启动 RabbitMQ Exporter)
- [3.6 验证 Exporter 状态](#3.6 验证 Exporter 状态)
- [四、Prometheus添加 RabbitMQ Exporter 作为监控目标](#四、Prometheus添加 RabbitMQ Exporter 作为监控目标)
-
- [4.1 编辑 Prometheus 配置文件](#4.1 编辑 Prometheus 配置文件)
- [4.2 重新加载 Prometheus 配置](#4.2 重新加载 Prometheus 配置)
- [五、配置 Grafana](#五、配置 Grafana)
-
- [5.1 添加 Prometheus 数据源](#5.1 添加 Prometheus 数据源)
- [5.2 导入 RabbitMQ Dashboard](#5.2 导入 RabbitMQ Dashboard)
- [5.3 查看监控数据](#5.3 查看监控数据)
- 六、总结
Prometheus + Grafana 监控 RabbitMQ 实践教程
一、前言
在微服务架构中,消息队列作为关键组件,其性能和状态直接影响系统稳定性。Prometheus + Grafana 作为流行的开源监控解决方案,能够高效监控 RabbitMQ 的运行状态。本文将详细介绍如何使用 Prometheus 和 Grafana 实现对 RabbitMQ 的可视化监控。
二、环境搭建
2.1 环境准备
- 操作系统 :CentOS 7
- RabbitMQ 版本 :3.8.4
- Erlang 版本 :21.3
- Prometheus 版本 :2.37.0
- Grafana 版本 :6.4.3
2.2 安装 Prometheus
2.2.1 关闭防火墙
如果是学习环境,可以直接关闭防火墙,生产环境不建议关闭
powershell
systemctl stop firewalld
systemctl disable firewalld
2.2.2 安装go环境
由于Prometheus 是golang开发的,所以需要在服务器上安装好golang环境,本博客采用源码安装的方法,如果能科学上网,可以去国外的网站https://golang.org/dl/下载安装包
解压安装包:
shell
tar-xvf go1.18.3.linux-amd64.tar.gz
添加/usr/loacl/go/bin 目录到/etc/profile
powershell
# vim /etc/profile// 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# wq 保存退出后source 一下
source /etc/profile
运行go version,如果显示版本号,则Go环境安装成功
2.2.3 下载 Prometheus
从 Prometheus 官网 下载适合您系统的 Prometheus 二进制文件。
2.2.4 解压文件
bash
tar -xvf prometheus-2.37.0.linux-amd64.tar.gz
cd prometheus-2.37.0.linux-amd64
2.2.5 启动 Prometheus
bash
./prometheus --config.file=/usr/local/prometheus/prometheus.yml &
访问 http://localhost:9090
,确认 Prometheus 正在运行。
2.2.6 设置Prometheus开机启动
添加系统服务,vim /etc/systemd/system/prometheus.service
,写入如下内容
powershell
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System
[Service]
ExecStart=/usr/local/prometheus/prometheus-3.4.1.linux-amd64/prometheus \
--config.file=/usr/local/prometheus/prometheus-3.4.1.linux-amd64/prometheus.yml \
--web.listen-address=:9091
Restart=on-failure
[Install]
WantedBy=multi-user.target
重新加载 systemd 配置并启动 prometheus服务
powershell
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 重置服务的失败计数器
sudo systemctl reset-failed prometheus.service
# 启动服务
sudo systemctl start prometheus.service
# 查看服务状态
sudo systemctl status prometheus.service
服务正常应该会这样显示:
如果服务启动失败,可以使用以下命令查看详细日志:
shell
journalctl -u prometheus.service -l
2.3 安装 Grafana
2.3.1 下载 Grafana
从 Grafana 官网 下载适合您系统的 Grafana 安装包。
2.3.2 安装 Grafana
- 对于 CentOS :
shell
# 下载
wget https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm
# 安装
yum localinstall grafana-6.4.3-1.x86_64.rpm
2.3.3 启动 Grafana
设置Grafana开机启动并重启
bash
# 重启systemctl 服务
systemctl daemon-reload
# 使服务生效
systemctl enable grafana-server.service
# 启动服务
systemctl start grafana-server.service
2.3.4 验证安装
访问 http://localhost:3000
,默认用户名和密码均为 admin
。

三、集成 RabbitMQ Exporter
3.1 下载 RabbitMQ Exporter
从 GitHub Releases 页面下载适合您系统的 RabbitMQ Exporter 二进制文件。
3.2 解压文件
解压下载的文件:
bash
tar-zxf rabbitmq_exporter_1.0.0-RC17_linux_amd64.tar.gz
cd rabbitmq_exporter_1.0.0-RC17_linux_amd64
3.3 配置环境变量
将解压后的可执行文件 rabbitmq_exporter
移动到系统路径下,例如 /usr/local/bin
:
bash
mv rabbitmq_exporter /usr/local/bin/
3.4 启动 RabbitMQ Exporter
cd到Rabbitmq Exporter目录,启动
shell
RABBIT_USER=admin RABBIT_PASSWORD=123456 OUTPUT_FORMAT=JSON PUBLISH_PORT=9419 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter &
3.6 验证 Exporter 状态
访问 http://<服务器IP>:9419/metrics
查看 Exporter 暴露的指标数据。
四、Prometheus添加 RabbitMQ Exporter 作为监控目标
4.1 编辑 Prometheus 配置文件
在 Prometheus 配置文件 prometheus.yml
的 scrape_configs
部分添加 RabbitMQ Exporter 作为监控目标:
yaml
scrape_configs:
- job_name: 'rabbitmq'
static_configs:
- targets: ['localhost:9419']
4.2 重新加载 Prometheus 配置
重新加载 Prometheus 配置文件,使更改生效:
bash
sudo systemctl reload prometheus
浏览器访问http://<服务器IP>:9090/targets
查看监控信息
五、配置 Grafana
5.1 添加 Prometheus 数据源
-
登录 Grafana,点击主界面的 "Add data source"。
-
选择 "Prometheus"。
-
填写数据源设置项,URL 处填写 Prometheus 服务所在的 IP 地址和端口。 点击 "Save & Test" 按钮,保存设置。
-
Dashboards 页面选择"Prometheus 2.0 Stats"
-
查看监控
点击Grafana图标,切换到主页面,然后点击Home,选择我们刚才添加的Prometheus2.0Stats,即
可看到监控数据


5.2 导入 RabbitMQ Dashboard
- 浏览器访问 Grafana 官方 Dashboard 页面,搜索并选择合适的 RabbitMQ 监控 Dashboard。
- 复制 Dashboard 的 ID。
- 打开 Grafana 监控页面,点击 "Import" 按钮。

-
将复制的 Dashboard ID 粘贴到输入框中。
-
点击 "Change" 按钮,生成一个随机的 UID。
-
点击下方输入框,选择之前创建的数据源 Prometheus。
-
最后点击 "Import" 按钮,完成导入。
5.3 查看监控数据
导入成功后,会自动打开该 Dashboard,即可看到 RabbitMQ 的监控数据。
六、总结
通过 Prometheus + Grafana 实现对 RabbitMQ 的可视化监控,可以帮助我们实时了解 RabbitMQ 的运行状态和性能指标。本文从环境搭建到配置 Grafana,提供了详细的步骤和示例,帮助读者快速上手。
如果你在部署或配置过程中遇到问题,可以参考官方文档或在相关社区寻求帮助。
希望这篇实践指南对你有所帮助!