朋友外包幹了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:/,然後解壓該文件,得到如下目錄:
file

bin目錄存放啟動、關閉等命令。

conf配置文件。

lib依賴包。

  1. 配置

1)dubbo-monitor端配置
file

2)provider端配置

1) consumer端配置

這樣,在 provider、consumer運行的時候,通過該標籤,會到註冊中心找到dubbo-monitor這個服務。

4)啟動dubbo-monitor之前dubbo-admin中的服務列表
file

file

  1. 運行測試

1)啟動和關閉

到dubbo-monitor-home/bin,運行start.cmd即可啟動成功,並且看到了logs目錄。然後到dubbo-admin下再次查看服務列表,比剛才多了一個服務,如圖:

file

2)執行原理分析

參見dubbo結構圖,dubbo-monitor啟動後,原來的provider和consumer相對於monitor來說,都變成了消費者。因為他們都調用了MonitorService介面服務,每分鐘調用一次,將這一分鐘內產生的數據發送給monitor。啟動程式並調用後這時顯示MonitorServie服務為正常。
file

3)訪問dubbo-monitor

http://localhost:8081

主要熟悉統計圖頁面。

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,啟動時一直如下所示:
file

原因:

a. dubbo-monitor的dubbo.properties配置了jetty埠為8081,結果跟tomcat集群中的埠衝突了;

b. 修改start.sh中的以下內容,因為我們的ECS都是1G記憶體的

file

file

c. 有其他方面的衝突,檢查其他應用的埠等是否有衝突,例如tomcat本身就佔N個埠。從這裡也可以看出,在正是環境中,一定要分開機器運行這些服務。

2)dubbo-monitor中的統計圖無法顯示,顯示的都是小叉,但是目錄下有png圖片

file

file

修改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目錄中生成統計圖。

(下期見)

file

獲取更多資源請關注微信公眾號:AKA程式王