當應用程式或是系統中使用 RabbitMQ 做為訊息中心時, 對維運中心的 OP 人員而言同時也需要即時監控訊息伺服器的資源狀態和使用狀況。當然,使用管理界面(Management UI)是最直接的方法,但是如果也要同時監管其它的系統資訊時,如: CPU/MEMROY/NIC…或其它軟體服務時, 或是只能讓維運人員”看”資訊但不可操作命令時,使用 Grafana 就是很好的選項。以下是使用 Grafana vs. Management UI 所顯示內容的範例
Dashboard
•Good User interface
•可以長期記錄和分析資料
•記錄分享
•適用: 監管或維運人員
Management UI
•可以管理 user, queue, exchange
•適用服務管理員
安裝及設定步驟
- 安裝 Prometheus , Grafana & RabbitMQ
- 啟用 RabbitMQ 的 RabbitMQ_Prometheus plug-ins for V3.8
- 修改並設定 Promtheus.yml 檔案,
- 匯入或是製作在Grafana 中的RabbitMQ 儀表板,
- 若需要時, 可以安裝 RabbitMQ test program
安裝 RabbitMQ (Prometheus & Grafana 安裝請另外參考文章)
- Windows, 以下選擇一種方式安裝, 建議使用 Binary 方式
- 下載Erlang, 詳閱: https://www.rabbitmq.com/install-windows-manual.html
- 安裝 OTP 23.0.2 win64 版本(https://erlang.org/download/otp_versions_tree.html)
- 設定環境變數 ERLANG_HOME = C:\Program Files\erl-23.0.2\ , “控制台”>”系統及安全性”>“系統”>“進階”>“環境變數”
- 下載安裝檔Binary Build, https://www.rabbitmq.com/install-windows-manual.html, 安裝成執行檔 .zip
- 下載Erlang, 詳閱: https://www.rabbitmq.com/install-windows-manual.html
- Linux – CentOS
- 檢查Erlang 的版本 $ yum list installed | grep erlang
- 若需要的話移除不配的所有版本, 並安裝需要的版本
- yum remove erlang
- yum install erlang ##/etc/yum.repos.d/rabbitmq_erlang.repo, https://github.com/rabbitmq/erlang-rpm
- 在 /etc/yum.repos.d 中新增檔案: rabbitmq_erlang.repo
- 使用yum 安裝, 以這個方法會直接安裝成系統的服務, 安裝於 /usr/share/grafana
- $ yum install rabbitmq_server
- $ systemctl start rabbitmq_server
- $ systemctl enable rabbitmq_server
- $ systemctl status rabbitmq_server
啟用 Plugins
$rabbitmq_plugins enable rabbitmq_management #啟用 rabbitmq 的 management UI
$rabbitmq_plugins enable rabbitmq_Prometheus # 啟用 rabbitmq 的 rabbitmq_Prometheus plug-ins
$ systemctl restart rabbitmq
browser http://localhost:15692/metrics 來查看 rabbitmq_Prometheus 的 metrics 值, 或是 http://localhost:15672 登入 management UI
匯入 Dashboard : rabbitmq dashboard for Prometheus on Grafana >> dashboard ID (10991, 6566)
Optional , Rabbitmq performance test – Windows version
- JAVA SDK (https://www.oracle.com/java/technologies/javase-jdk14-downloads.html)
- SET JAVA_HOME (C:\Program Files\java\jdk1.8.0_xxx)
- PATH=%PATH;%JAVA_HOME%\bin
- RabbitMQ Performance Testing Tool 下載:https://github.com/rabbitmq/rabbitmq-perf-test/releases
- 解壓文件(放到 RabbitMQ 安裝目錄下) rabbitmq-perf-test-1.1.0.zip , 執行 CMD 命令:
- cd D:\Program Files\RabbitMQ Server\rabbitmq-perf-test-1.1.0\bin
- runjava.bat com.rabbitmq.perf.PerfTest -a, 或是
- ./runjava.bat com.rabbitmq.perf.PerfTest –metrics-prometheus –metrics-Prometheus-port 15698