前言
第一種: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
- https://www.rabbitmq.com/monitoring.html
- https://www.rabbitmq.com/prometheus.html#overview-prometheus
本文是采用第二種方式實現。
安裝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】時進行預警 |
消費速度慢 |