当前位置: 首页 > news >正文

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.ymlscrape_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 数据源

  1. 登录 Grafana,点击主界面的 “Add data source”。
    在这里插入图片描述

  2. 选择 “Prometheus”。
    在这里插入图片描述

  3. 填写数据源设置项,URL 处填写 Prometheus 服务所在的 IP 地址和端口。 点击 “Save & Test” 按钮,保存设置。
    在这里插入图片描述

  4. Dashboards 页面选择“Prometheus 2.0 Stats”
    在这里插入图片描述

  5. 查看监控

点击Grafana图标,切换到主页面,然后点击Home,选择我们刚才添加的Prometheus2.0Stats,即
可看到监控数据
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.2 导入 RabbitMQ Dashboard

  1. 浏览器访问 Grafana 官方 Dashboard 页面,搜索并选择合适的 RabbitMQ 监控 Dashboard。
    在这里插入图片描述
  2. 复制 Dashboard 的 ID。
  3. 打开 Grafana 监控页面,点击 “Import” 按钮。
    在这里插入图片描述

在这里插入图片描述

  1. 将复制的 Dashboard ID 粘贴到输入框中。
    在这里插入图片描述

  2. 点击 “Change” 按钮,生成一个随机的 UID。

  3. 点击下方输入框,选择之前创建的数据源 Prometheus。
    在这里插入图片描述

  4. 最后点击 “Import” 按钮,完成导入。

5.3 查看监控数据

导入成功后,会自动打开该 Dashboard,即可看到 RabbitMQ 的监控数据。

六、总结

通过 Prometheus + Grafana 实现对 RabbitMQ 的可视化监控,可以帮助我们实时了解 RabbitMQ 的运行状态和性能指标。本文从环境搭建到配置 Grafana,提供了详细的步骤和示例,帮助读者快速上手。

如果你在部署或配置过程中遇到问题,可以参考官方文档或在相关社区寻求帮助。

希望这篇实践指南对你有所帮助!

http://www.xdnf.cn/news/966565.html

相关文章:

  • Spring Boot 分层架构与数据流转详解
  • Word中如何对文献应用的格式数字连起来,如:【1-3】
  • 如何看容器的ip地址
  • 每日收获总结20250610
  • 循环结构使用
  • Java 通用实体验证框架:从业务需求到工程化实践【生产级 - 适用于订单合并前置校验】
  • B2B供应链交易平台多商户电商商城系统开发批发采购销售有哪些功能?发展现状如何?
  • 什么是库存周转?如何用进销存系统提高库存周转率?
  • 第五章 GPIO示例
  • PennyLane 是一个用于量子计算、量子机器学习和量子化学的跨平台 Python 库。由研究人员构建,用于研究
  • 向量数据库ChromaDB的使用
  • Vim 复制/剪切/粘贴命令完整学习笔记
  • java Condition类
  • Alerting中配置多个OpsGenie时,如何匹配同一个条件匹配多个opsgenie的contact points
  • 【WiFi帧结构】
  • python/java环境配置
  • Django的HelloWorld程序
  • 1.4 超级终端
  • vue3 hooks的结构和作用和具体场景例子
  • 业财融合怎么做?如何把握业务与财务的边界?
  • @Configuration原理与实战
  • 【Kafka】消息队列Kafka知识总结
  • iview组件库:关于分页组件的使用与注意点
  • 什么是数据转换?数据转换有哪些方式?
  • 2025年06月10日Github流行趋势
  • Java SE - 数组
  • A 找倍数 (线段树)
  • 凤凰双展翅之七七一五八九五隔位六二五
  • LeetCode 146.LRU缓存
  • Web应用压力测试详解