朋友外包幹了5年java,居然不知道dubbo-monitor是怎麼用的?
- 2019 年 10 月 22 日
- 筆記
Dubbo工具——dubbo-monitor監控平台的發布和使用
1)下載
https://github.com/alibaba/dubbo/archive/dubbo-2.5.8.zip
2)編譯
cmd中進入解壓後的目錄,然後運行mvn install。然後到E:incubator-dubbo-dubbo-2.5.8dubbo-simpledubbo-monitor-simpletarget目錄下複製出dubbo-monitor-simple-2.5.8-assembly.tar.gz到e:/,然後解壓該文件,得到如下目錄:
bin目錄存放啟動、關閉等命令。
conf配置文件。
lib依賴包。
- 配置
1)dubbo-monitor端配置
2)provider端配置
1) consumer端配置
這樣,在 provider、consumer運行的時候,通過該標籤,會到註冊中心找到dubbo-monitor這個服務。
4)啟動dubbo-monitor之前dubbo-admin中的服務列表
- 運行測試
1)啟動和關閉
到dubbo-monitor-home/bin,運行start.cmd即可啟動成功,並且看到了logs目錄。然後到dubbo-admin下再次查看服務列表,比剛才多了一個服務,如圖:
2)執行原理分析
參見dubbo結構圖,dubbo-monitor啟動後,原來的provider和consumer相對於monitor來說,都變成了消費者。因為他們都調用了MonitorService介面服務,每分鐘調用一次,將這一分鐘內產生的數據發送給monitor。啟動程式並調用後這時顯示MonitorServie服務為正常。
3)訪問dubbo-monitor
主要熟悉統計圖頁面。
4.備註
1)配置的註冊中心要和被統計的provider/consumer是同一個註冊中心
2)monitor和dubbo-admin一樣,宕機不影響業務系統的運行,建議正式環境跟業務系統分開運行,因為其中一個系統配置出錯會影響另外一個系統的啟動。
3)如果provider、consumer、dubbo-monitor不在同一台機器,dubbo-monitor配置中的7070埠需要開啟。
4)monitor宕機後,provider和consumer這兩個服務仍然在每隔一分鐘發送一次消息,導致後台報異常,雖然沒有影響業務運行,如何在monitor宕機後自動不發統計資訊?重啟consumer即可,不必註銷
5.作業錯誤
1)部署dubbo-monitor到ecs,啟動時一直如下所示:
原因:
a. dubbo-monitor的dubbo.properties配置了jetty埠為8081,結果跟tomcat集群中的埠衝突了;
b. 修改start.sh中的以下內容,因為我們的ECS都是1G記憶體的
c. 有其他方面的衝突,檢查其他應用的埠等是否有衝突,例如tomcat本身就佔N個埠。從這裡也可以看出,在正是環境中,一定要分開機器運行這些服務。
2)dubbo-monitor中的統計圖無法顯示,顯示的都是小叉,但是目錄下有png圖片
修改dubbo-monitor/conf/dubbo.properties中的內容,如上圖所示,必須保證charts和statistics目錄在monitor下面。
3)無法生成png圖片
目錄用的是絕對路徑,配置也正確,但是無法生成png圖片,可能的原因有:
a. 看看你的配置文件項dubbo.jetty.directory這個文件夾到底存不存在,默認不會自動給你創建的;
b. 確保生產者/消費者中的spring.xml有
c. 如果以上2點確保正確,還是出現問題,建議改回之前的${user.home}配置方式,使用默認的${user.home}配置方式會在bin目錄中生成統計圖。
(下期見)
獲取更多資源請關注微信公眾號:AKA程式王