dubbo官方自帶了dubbo-admin及dubbo-simple/dubbo-monitor-simple二個子項目用于服務治理及服務監控。
一、dubbo-admin的部署
這個比較簡單,編譯打包成功後,将dubbo-admin/target/dubbo-admin-2.8.xxx.war 複制到jetty、tomcat下的webapps就算完成部署了(當然,也可以部署到其它相容的servlet容器,比如jboss、weblogic)
然後浏覽:http://localhost:8080/dubbo-admin/ 會提示登陸使用者名、密碼,這是在配置檔案裡寫死的,配置檔案的路徑為:
dubbo-admin/src/main/webapp/WEB-INF/dubbo.properties
即使用者名、密碼均為root,登入成功後,重新整理下頁面,如果提示404之類的,退回到http://localhost:8080/浏覽(這個跟部署的contextPath有關,如果contextPath設定為/dubbo-admin,重新整理下就可以了,如果contextPath設定成/,則登入後要退回/浏覽)
dubbo的服務治理是其特色之一,管理界面如下:

二、dubbo-monitor-simple 部署
打包後,目錄dubbo-simple/dubbo-monitor-simple/target中會生成dubbo-monitor-simple-xxx-assembly.tar.gz,用tar -zxvf *.gz 解壓,解壓後有三個子目錄bin、conf、lib ,conf裡面是配置檔案:
參考上面改,然後bin下有一個start.sh腳本,啟動即可,通路後浏覽http://localhost:8180 (端口号要跟配置裡一緻)
這是調用次數的統計
這是圖表統計
這是服務之間的依賴關系
注:官網的監控是把所有監控資料(主要是統計資料和表圖資料)儲存到伺服器磁盤上的,運作時間久了,硬碟可能會撐滿,要注意及時清理(就是配置檔案裡面配置的3個目錄下)。監控資料也并非實時統計的,是以第1次部署成功後馬上去看統計資料,可能沒有,随便跑一個service provider/service consumer的用例,然後等一會兒就行了。
三、dubbo-monitor-x
注:與官網的監控存儲方案不同,dubbo-monitor-x是把資料儲存在mysql裡的,參考README.md很容易搞定部署。
四、dubbo keeper
該項目部署略複雜:
4.1 如果決定用mysql存儲,先執行根目錄下的install-mysql.sh
4.2 然後在target目錄下,dubbokeeper/target/mysql-dubbokeeper-server/mysql-server/conf 修改這裡面的配置
主要是zk及mysql的連接配接資訊,以及端口号,然後執行上一級目錄../bin下的start-mysql.sh 啟動監控資料的存儲服務(即:mysql-dubbokeeper-server本身就是一個dubbo服務,用于儲存監控資料)
4.3 dubbokeeper/target/mysql-dubbokeeper-ui這個下面的war包扔到tomcat或jetty部署即可(這個才是真正的管理+監控 UI),如果啟動失敗,檢查
dubbokeeper/dubbokeeper-ui/src/main/resources/dubbo.properties 配置是否正确,如果不對,改正确了,再重新打包部署。
這個項目可以很友善的看各項目的依賴關系圖。
以及每個服務的調用次數等資訊,可惜沒有關鍵的QPS資料
問題:這幾套方案統計出來的資料,對于同樣的用例,都不一樣,也是醉了,不知道哪家的更準,看個人喜好吧。
下面推薦幾種搭配:
a: 官方的dubbo-admin + 韓都的dubbo-monitor-x
b: 全官方的dubbo-admin + dubbo-monitor-simple
c: dubbokeeper 一套
監控服務,如果同時起多個dubbo-admin裡會有警告,而且監控資料存多份也沒必要,是以不管怎麼搭配,不要将dubbo-monitor-simple、dubbo-monitor-x、dubbokeeper同時部署在一個ZK注冊中心。