第一種: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】時進行預警 |
消費速度慢 |