七叶笔记 » golang编程 » 基于prometheus + grafana部署RabbitMQ消息队列监控

基于prometheus + grafana部署RabbitMQ消息队列监控

概述

Prometheus 服务本地已经启动了,接下来,需要安装并运行 Exporter,它的主要作用是持续输出监控的组件信息并格式化,同时提供 Http 接口供 Prometheus 服务来抓取。Exporter 也是通过 GO 语言编写的,Prometheus GitHub 已经为我们提供了很多实用的 Exporter,直接拿来使用即可。

下面介绍下怎么用prometheus去监控 rabbitmq 服务。


一、安装go语言环境

由于Prometheus 是用golang开发的,所以首先安装一个go环境,Go语言是跨平台,支持Windows、Linux、Mac OS X等系统,还提供有源码,可编译安装。

下载地址:

1、解压

# tar -xvf go1.13.linux-amd64.tar.gz -C /usr/local/
 

2、配置环境变量

echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
 

3、测试

验证一下是否成功,用go version 来验证

# go version
 


二、 docker 部署rabbitmq服务

1、获取rabbitmq镜像

docker pull rabbitmq:3.6.15-management
 

2、创建容器

docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \
-p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:3.6.15-management
#15672:控制台端口号
#5672:应用访问端口号
#rabbitmq:3.6.15-management 安装rbbitmq指定版本,带-management是带管理界面
 

3、访问MQ

http://服务器IP:15672
 


三、安装rabbitmq_exporter

1、下载rabbitmq_exporter

 wget  
 

2、上传解压

上传到被监控的主机并解压

# tar -xvf rabbitmq_exporter-1.0.0-RC6.1.linux-amd64.tar.gz -C /usr/local/
 

3、启动Exporter

需要配置一下认证信息并启动 Exporter:

export RABBIT_USER=admin 
export RABBIT_PASSWORD=admin
export OUTPUT_FORMAT=JSON 
export PUBLISH_PORT=9099 
export RABBIT_URL= 
nohup ./rabbitmq_exporter &
 

4、测试访问

此时,本地浏览器访问 http://服务器ip:9099/metrics 可以看到 MQ 相关的所有监控指标列表。


四、关联Prometheus

Prometheus 和rabbitmq_exporter 服务都已经启动起来了,那么接下来就需要将二者关联起来,让 Prometheus 来定时抓取 Exporter 提供的数据。我们需要修改 Prometheus 的配置文件 prometheus.yml 增加 rabbitmq 相关 exporter job。

- job_name: RabbitMQ
 static_configs:
 - targets: ['172.16.10.123:9099']
 labels:
 instance: docker_rabbitmq
 

重启容器,隔一会查看targets:


四、grafana配置

1、下载dashboard

在 下载mq相关的dashboard,但是上边提供的dashboard效果不一定好,可以根据需要自己配.

下载地址:
 

2、导入json

3、展示


后面会分享更多 devops 和DBA方面内容,感兴趣的朋友可以关注下!

相关文章