Prometheus + Grafana 监控 RabbitMQ 实践指南
文章目录
- Prometheus + Grafana 监控 RabbitMQ 实践教程
- 一、前言
- 二、环境搭建
- 2.1 环境准备
- 2.2 安装 Prometheus
- 2.3 安装 Grafana
- 三、集成 RabbitMQ Exporter
- 3.1 下载 RabbitMQ Exporter
- 3.2 解压文件
- 3.3 配置环境变量
- 3.4 启动 RabbitMQ Exporter
- 3.6 验证 Exporter 状态
- 四、Prometheus添加 RabbitMQ Exporter 作为监控目标
- 4.1 编辑 Prometheus 配置文件
- 4.2 重新加载 Prometheus 配置
- 五、配置 Grafana
- 5.1 添加 Prometheus 数据源
- 5.2 导入 RabbitMQ Dashboard
- 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 关闭防火墙
如果是学习环境,可以直接关闭防火墙,生产环境不建议关闭
systemctl stop firewalld
systemctl disable firewalld
2.2.2 安装go环境
由于Prometheus 是golang开发的,所以需要在服务器上安装好golang环境,本博客采用源码安装的方法,如果能科学上网,可以去国外的网站https://golang.org/dl/下载安装包
解压安装包:
tar-xvf go1.18.3.linux-amd64.tar.gz
添加/usr/loacl/go/bin 目录到/etc/profile
# 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 解压文件
tar -xvf prometheus-2.37.0.linux-amd64.tar.gz
cd prometheus-2.37.0.linux-amd64
2.2.5 启动 Prometheus
./prometheus --config.file=/usr/local/prometheus/prometheus.yml &
访问 http://localhost:9090
,确认 Prometheus 正在运行。
2.2.6 设置Prometheus开机启动
添加系统服务,vim /etc/systemd/system/prometheus.service
,写入如下内容
[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服务
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 重置服务的失败计数器
sudo systemctl reset-failed prometheus.service
# 启动服务
sudo systemctl start prometheus.service
# 查看服务状态
sudo systemctl status prometheus.service
服务正常应该会这样显示:
如果服务启动失败,可以使用以下命令查看详细日志:
journalctl -u prometheus.service -l
2.3 安装 Grafana
2.3.1 下载 Grafana
从 Grafana 官网 下载适合您系统的 Grafana 安装包。
2.3.2 安装 Grafana
- 对于 CentOS :
# 下载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开机启动并重启
# 重启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 解压文件
解压下载的文件:
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
:
mv rabbitmq_exporter /usr/local/bin/
3.4 启动 RabbitMQ Exporter
cd到Rabbitmq Exporter目录,启动
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 作为监控目标:
scrape_configs:- job_name: 'rabbitmq'static_configs:- targets: ['localhost:9419']
4.2 重新加载 Prometheus 配置
重新加载 Prometheus 配置文件,使更改生效:
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,提供了详细的步骤和示例,帮助读者快速上手。
如果你在部署或配置过程中遇到问题,可以参考官方文档或在相关社区寻求帮助。
希望这篇实践指南对你有所帮助!