第一种:RabbitMQ内部集成Prometheus来获取指标html
prometheus_rabbitmq_exporter:https://github.com/deadtrickster/prometheus_rabbitmq_exporterlinux
rabbitmq-prometheus:https://github.com/rabbitmq/rabbitmq-prometheusgit
第二种:使用独立程序来获取指标(RabbitMQ_exporter)github
无论什么版本都能使用,要单独启动exporter进程json
rabbitmq_exporter:https://github.com/kbudde/rabbitmq_exporter浏览器
本文是采用第二种方式实现。服务器
注:在RabbitMQ集群下的任意一个节点部署它。spa
上传解压插件
从 https://github.com/kbudde/rabbitmq_exporter/releases 下载并上传rabbitmq_exporter-0.29.0.linux-amd64.tar安装包并解压到/usr/local目录3d
tar -xvf rabbitmq_exporter-0.29.0.linux-amd64.tar
cd rabbitmq_exporter-0.29.0.linux-amd64/wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v0.29.0/rabbitmq_exporter-0.20.0.linux-amd64.tar.gz
配置
使用默认配置
启动
进入根目录下,输入如下命令:
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.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,说明成功
导入仪表盘模板
经过浏览器访问:http://grafana服务器IP:3000
导入监控图表
以上仪表盘导入后再结合自身业务修改过的最终仪表盘:
预警指标
序号 |
预警名称 |
预警规则 |
描述 |
1 |
集群状态预警 |
当集群状态不符合预期【!=1】时进行预警 |
|
2 |
节点状态预警 |
当节点状态不符合预期【!=1】时进行预警 |
|
3 |
等待消费预警 |
当等待消费的消息数量达到阈值【>1000】时进行预警 |
延迟消费 |
4 |
消费预警 |
当消费中的消息数量达到阈值【>1000】时进行预警 |
消费速度慢 |