> 技术文档 > Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控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 firewalldsystemctl 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/goexport 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.gzcd prometheus-2.37.0.linux-amd64

2.2.5 启动 Prometheus

./prometheus --config.file=/usr/local/prometheus/prometheus.yml &

访问 http://localhost:9090,确认 Prometheus 正在运行。
Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq
2.2.6 设置Prometheus开机启动

添加系统服务,vim /etc/systemd/system/prometheus.service,写入如下内容

[Unit]Description=Prometheus Monitoring SystemDocumentation=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=:9091Restart=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

服务正常应该会这样显示:
Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

如果服务启动失败,可以使用以下命令查看详细日志:

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

Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

三、集成 RabbitMQ Exporter

3.1 下载 RabbitMQ Exporter

从 GitHub Releases 页面下载适合您系统的 RabbitMQ Exporter 二进制文件。

3.2 解压文件

解压下载的文件:

tar-zxf rabbitmq_exporter_1.0.0-RC17_linux_amd64.tar.gzcd 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://: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://:9090/targets查看监控信息
Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

五、配置 Grafana

5.1 添加 Prometheus 数据源

  1. 登录 Grafana,点击主界面的 “Add data source”。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

  2. 选择 “Prometheus”。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

  3. 填写数据源设置项,URL 处填写 Prometheus 服务所在的 IP 地址和端口。 点击 “Save & Test” 按钮,保存设置。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

  4. Dashboards 页面选择“Prometheus 2.0 Stats”
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

  5. 查看监控

点击Grafana图标,切换到主页面,然后点击Home,选择我们刚才添加的Prometheus2.0Stats,即
可看到监控数据
Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq
Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

5.2 导入 RabbitMQ Dashboard

  1. 浏览器访问 Grafana 官方 Dashboard 页面,搜索并选择合适的 RabbitMQ 监控 Dashboard。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq
  2. 复制 Dashboard 的 ID。
  3. 打开 Grafana 监控页面,点击 “Import” 按钮。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

  1. 将复制的 Dashboard ID 粘贴到输入框中。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

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

  3. 点击下方输入框,选择之前创建的数据源 Prometheus。
    Prometheus + Grafana 监控 RabbitMQ 实践指南_prometheus监控rabbitmq

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

5.3 查看监控数据

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

六、总结

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

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

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