Prometheus + Grafana 监控 RabbitMQ 实践指南

文章目录

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

  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,提供了详细的步骤和示例,帮助读者快速上手。

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

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

相关推荐
乐之者v3 小时前
Grafana监控可视化
java·grafana
好玩的Matlab(NCEPU)17 小时前
Redis vs RabbitMQ 对比总结
数据库·redis·rabbitmq
好玩的Matlab(NCEPU)18 小时前
消息队列RabbitMQ、Kafka、ActiveMQ 、Redis、 ZeroMQ、Apache Pulsar对比和如何使用
kafka·rabbitmq·activemq
鸽鸽程序猿21 小时前
【RabbitMQ】简介
分布式·rabbitmq
啊啊啊啊8432 天前
Prometheus监控系统
prometheus
野奔在山外的猫2 天前
【文档】配置 prometheus-webhook-dingtalk + alertmanager 细节
prometheus·webhook·dingtalk
斯班奇的好朋友阿法法2 天前
rabbitmq在微服务中配置监听开关
微服务·rabbitmq·ruby
ZHE|张恒3 天前
Docker 安装 RabbitMQ
docker·rabbitmq
斯班奇的好朋友阿法法3 天前
rabbitmq服务端消费端实例(direct和fanout模式)
分布式·rabbitmq·ruby
斯班奇的好朋友阿法法3 天前
rabbitmq的多交换机(扇出为例)监听实现
分布式·rabbitmq·ruby