前言:使用dubbo rpc遠程調用,對於開發者或運維來講須要監控服務或者服務治理,因此須要搭建一些dubbo監控程序。mysql
1.部署dubbo-admingit
先clone git地址: dubbo地址或者dubbox地址 :https://github.com/dangdangdotcom/dubbox.gitgithub
編譯打包成功後,將dubbo-admin/target/dubbo-admin-2.8.4.war 複製到tomcat下的webapps就算完成部署,再修改一下/WEB-INF/dubbo.properties配置文件web
dubbo.registry.address=zookeeper://127.0.0.1:2181?backup=127.0.0.1:2182,127.0.0.1:2183 dubbo.admin.root.password=root #用戶名 dubbo.admin.guest.password=guest #密碼
再訪問地址就ok了。sql
2.部署dubbo keepermongodb
先clone git 地址:https://github.com/dubboclub/dubbokeeper.git數據庫
支持三個存儲 mongodb lucene mysql,我這裏採用 mysql,先執行根目錄下的 install-mysql.battomcat
發現target目錄有有mysql-dubbokeeper-server 和mysql-dubbokeeper-ui,第一個是一個dubbo服務,用於保存監控數據,第二個是纔是管理和監控的web。session
首先先啓動mysql-dubbokeeper-server服務,再啓動監控ui web服務app
建立一個dubbo-monitor庫
CREATE TABLE `application` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `type` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `應用名詞索引` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在target目錄下找到 /mysql-dubbokeeper-server/mysql-server/conf修改dubbo-mysql.properties配置
dubbo.application.name=mysql-monitor dubbo.application.owner=bieber dubbo.registry.address=zookeeper:// #zookeeper地址 dubbo.protocol.name=dubbo dubbo.protocol.port=20884 monitor.collect.interval=10000 #usered netty4 dubbo.provider.transporter=netty4 #監控數據持久化週期,默認是一分鐘,單位是秒 monitor.write.interval=60 #mysql dubbo.monitor.mysql.url=jdbc:mysql://localhost:3306/dubbo-monitor #數據庫地址 dubbo.monitor.mysql.username=root dubbo.monitor.mysql.password=root dubbo.monitor.mysql.pool.max=10 dubbo.monitor.mysql.pool.min=10
找到lib目錄 ,用當前的dubbox版本,也就是 dubbo-2.8.4.jar這個包替換原先的jar
最後到bin目錄啓動 start-mysql.bat
接下來再部署ui
將dubbokeeper-ui-1.0.1.war 拖到tomcat裏運行,解壓以後修改WEB-INF\classes裏的dubbo.properties配置文件
#monitor的應用名,可根據本身狀況自定義 dubbo.application.name=monitor-ui #應用的擁有者 dubbo.application.owner=bieber #鏈接的dubbo註冊中心地址,保持部署監控數據存儲的zk地址同樣 dubbo.registry.address=zookeeper://localhost:2181 #use netty4 dubbo.reference.client=netty4 #peeper config #監控的zookeeper鏈接列表,多個經過‘,’(英文逗號)隔開。 peeper.zookeepers=localhost:2181 #監控的zookeeper鏈接會話超時時間 peeper.zookeeper.session.timeout=60000 #被監控端同步監控數據週期時間,可不配置,默認是一分鐘同步一次 monitor.collect.interval=60000 #logger #dubbokeeper的日誌目錄 monitor.log.home=/usr/dev/op_disk/monitor-log
訪問地址就 能夠了
好比還有
dubbo-monitor-simple
dubbo-monitor-x
我就不弄了