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

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

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

相关推荐
小鸡脚来咯1 小时前
RabbitMQ 各类交换机
服务器·网络·rabbitmq
遇见火星9 小时前
Kubernetes服务部署——RabbitMQ(集群版)
容器·kubernetes·rabbitmq
lwb_01189 小时前
RabbitMq详解
分布式·rabbitmq
简诚18 小时前
java实现RabbitMQ消息发送和接收功能(包含测试)
java·rabbitmq·java-rabbitmq
简诚18 小时前
接收rabbitmq消息
rabbitmq
碧水澜庭1 天前
Prometheus+ Grafana 监控系统入门
grafana·prometheus
遇见火星1 天前
一键部署Prometheus+Grafana+alertmanager对网站状态进行监控
grafana·prometheus
上海运维Q先生1 天前
Cilium动手实验室: 精通之旅---19.Golden Signals with Hubble and Grafana
云原生·k8s·grafana·cilium
奈斯ing1 天前
【prometheus+Grafana篇】基于Prometheus+Grafana实现Redis数据库的监控与可视化
数据库·redis·缓存·grafana·prometheus