1.环境 vmware 10、 centos7.0,Docker(version 18.09.7, build 2d0083d),docker-compose(version 1.24.1, build 4667896) openjdk(javac 1.8.0_212) ,xshell,xftp
2.部署步骤
首先要先看下piggymetrics涉及的端口有没有被占用。
clone https://github.com/sqshq/piggymetrics.git 到本地,通过xftp上传到centos,
首先要把mongodb目录下的init.sh的编码格式转换成unix格式,不然会出现连接错误。方法进入到init.sh所在目录。执行dos2unix init.sh
然后执行 进入piggymetrics根目录执行 mvn package -DskipTests 生成jar包如图(我的已经生成成功。所以用find命令查看)
然后执行run docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
等待镜像文件生成,生成后会自动启动容器。我的在执行完后由于config容器会显示unhealthy所以要等一两分钟。
再执行docker-compose -f docker-compose.yml -f docker-compose.dev.yml up, 所有的容器才会正常启动。
如图
大约20分钟后,我的电脑才启动完成。
在物理机上访问:http://192.168.121.128:80(ip是vmware,centos的ip)可以看到如下图
然后点击“create new account” 创建用户,再保存时候有可能会弹出错误提示框
这时候有可能是我的服务还没有完全启动,因为需要20多分钟。至少要看到eureka的6个服务都只启动。在浏览器中输入
http://192.168.121.128:8761/ 可以看到如图
然后看下rabbitmq信息
输入 http://192.168.121.128:15672,账号guest/guest可以看到下图
输入http://192.168.121.128:/hystrix 点击访问,访问不到。不知什么原因。restart 容器无效。因为第一次我是把gateway,rabbitmq等端口改掉了。后面重新下载代码采用默认设置。删除容器,镜像重新折腾一遍。还是如此。再折腾了一遍,依然如此。怀疑是网络问题,但是登录到monitoring容器中docker exec -it containerID bash ,执行http://turbine-stream-service:8080/turbine/turbine.stream可以正常看到信息流。说明不是TURBINE-STREAM-SERVICE服务的原因。ping192.168.121.128也可以ping通。通过docker logs piggymetrics_monitoring_1,容器日志信息正常。查看源代码,除了pom就是注解,没有其他代码。??于是bing,bing,bing搜索,最后在https://github.com/mlabouardy/hystrix-dashboard-docker,下载了镜像按照说明运行
docker run -d -p 8081:9002 --name hystrix-dashboard mlabouardy/hystrix-dashboard:latest
可以正常访问。然后就更改了piggymetrics的docker-compose.yml的monitoring的image为这个image如图
port也改称了9002,映射外部的端口不变。
重新运行docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
然后访问http://192.168.121.128:9000/hystrix,dashboard出现了。
输入piggymetrics的turbing.stream的url到hystrix dashboard页面的第一个输入框里http://turbine-stream-service:8080/turbine/turbine.stream点击"monitoring stream"按钮可以看到监控数据,如图
至此,piggymetrics搭建完毕。hystrix dashboard的原因还是未知。应该是image原因。但是dashboard中没有业务代码,完全可以用别的image代替。当然项目代码也要换一个。最好在本地测试通过再部署,不要像我直接换镜像。