朋友外包干了5年java,居然不知道dubbo-monitor是怎么用的?


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.8\dubbo-simple\dubbo-monitor-simple\target目錄下復制出dubbo-monitor-simple-2.5.8-assembly.tar.gz到e:/,然后解壓該文件,得到如下目錄:
file

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

conf配置文件。

lib依賴包。

  1. 配置

1)dubbo-monitor端配置
file

2)provider端配置

<dubbo:monitor protocol="registry"/>

  1. consumer端配置

<dubbo:monitor protocol="registry"/>

這樣,在 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即可,不必注銷<dubbo:monitor protocol="registry"/>。

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有<dubbo:monitor protocol="registry"/>;

c. 如果以上2點確保正確,還是出現問題,建議改回之前的${user.home}配置方式,使用默認的${user.home}配置方式會在bin目錄中生成統計圖。

(下期見)

file

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM