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

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

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

相关文章:

  • 【解决串口数据丢包问题】下位机环形缓冲区+上位机串口生产者-消费者不定长接收(基于keil5和Labview)
  • 【单片机期末】接口及应用
  • 中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
  • Linux简单的操作
  • 【51单片机】5. 矩阵键盘与矩阵键盘密码锁Demo
  • 驭码CodeRider 2.0深度测评:助力高效开发【探索化学奇妙世界】网站
  • K8s简述
  • 探秘鸿蒙 HarmonyOS NEXT:鸿蒙定时器,简单倒计时的场景应用
  • Vue3 watch使用
  • OceanBase v4.3.5 特性解读:通过OSS WORM特性进行备份归档
  • CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
  • HTTP状态码大全:含义、产生原因及排查指南
  • 实战案例-FPGA如何实现JESD204B可重复的延迟
  • 实战案例-FPGA如何实现JESD204B确定性延迟
  • 【已解决】python的kafka-python包连接kafka报认证失败
  • Java 通用实体验证框架:从业务需求到工程化实践【生产级 - 适用于订单合并前置校验】
  • 功能界面的组件化编码流程
  • 鸿蒙接入微信sdk登录 解决提示BundleID信息校验不通过
  • NoSQL数据库技术详解:Redis与MongoDB的应用与实践
  • kotlin kmp 副作用函数 effect
  • 教务系统网站建设模板下载/西安百度首页优化
  • 汕头市企业网站建设哪家好/宁波江北区网站推广联系方式
  • 多语种网站营销/seo网站推广杭州
  • 一级a做愛网站体验区/站长工具查询
  • 个人建设网站/网络平台推广有哪些渠道
  • 盐城网站建设价格/免费建站工具