Prometheus + Grafana(九)系统监控之RabbitMQ

 

前言

第一种:RabbitMQ内部集成Prometheus来获取指标

  • 3.8.0之前版本,RabbitMQ可以使用单独的插件prometheus_rabbitmq_exporter来向Prometheus公开指标,要单独下载到RabbitMQ安装目录中进行安装;

   prometheus_rabbitmq_exporter:https://github.com/deadtrickster/prometheus_rabbitmq_exporter

  • 3.8.0版开始,RabbitMQ附带了内置的Prometheus&Grafana支持。虽然内置了该插件,但也要进行安装

     rabbitmq-prometheus:https://github.com/rabbitmq/rabbitmq-prometheus

第二种:使用独立程序来获取指标(RabbitMQ_exporter)

  不管什么版本都能使用,要单独启动exporter进程

  rabbitmq_exporter:https://github.com/kbudde/rabbitmq_exporter

 

RabbitMQ 官方监控介绍: 

本文是采用第二种方式实现。

 

安装rabbitmq_exporter

注:在RabbitMQ集群下的任意一个节点部署它。

  • 上传解压

https://github.com/kbudde/rabbitmq_exporter/releases 下载并上传rabbitmq_exporter-0.29.0.linux-amd64.tar安装包并解压到/usr/local目录

wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v0.29.0/rabbitmq_exporter-0.20.0.linux-amd64.tar.gz
tar -xvf rabbitmq_exporter-0.29.0.linux-amd64.tar
cd rabbitmq_exporter-0.29.0.linux-amd64/
  • 配置

使用默认配置

  • 启动

进入根目录下,输入以下命令:

cd /usr/local/rabbitmq_exporter-0.29.0.linux-amd64
RABBIT_USER=zat RABBIT_PASSWORD=zat123 OUTPUT_FORMAT=json PUBLIC_PORT=9090 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter &
tail -1000f nohup.out

参数说明:

RABBIT_USER:rabbit用户名

RABBIT_PASSWORD:rabbit密码

RABBIT_URL:rabbit服务地址和端口

OUTPUT_FORMAT:输出格式

PUBLIC_PORT:暴露端口

启动成功后,可以访问 http://10.0.101.100:9090/metrics/ ,(IP和端口要改成相应环境的)

看抓取的信息如下:

 

 

Prometheus配置

  • 配置

修改prometheus组件的prometheus.yml加入rabbitMQ节点:

vi /usr/local/prometheus-2.15.1/prometheus.yml

  • 启动验证

先kill掉Prometheus进程,用以下命令重启它,然后查看targets:

cd /usr/local/prometheus-2.15.1
nohup ./prometheus --config.file=prometheus.yml &

注:State=UP,说明成功

 

Grafana配置

  • 导入仪表盘模板

通过浏览器访问:http://grafana服务器IP:3000

导入监控图表

以上仪表盘导入后再结合自身业务修改过的最终仪表盘:

  • 预警指标

序号

预警名称

预警规则

描述

1

集群状态预警

当集群状态不符合预期【!=1】时进行预警

 

2

节点状态预警

当节点状态不符合预期【!=1】时进行预警

 

3

等待消费预警

当等待消费的消息数量达到阈值【>1000】时进行预警

延迟消费

4

消费预警

当消费中的消息数量达到阈值【>1000】时进行预警

消费速度慢

posted on 2020-04-20 17:11  曹伟雄  阅读(9566)  评论(1编辑  收藏  举报

导航