失败的sentinel整合springcloud
项目想上一个sentinel,整合到springcloud中,整个项目使用的是springcloud全家桶,不是阿里的那一个。
因为项目是放在docker中部署使用,所以第一步是整合到docker中,主要是解决sentinel的默认账号密码的问题。
新建 dockerfile文件。填写如下。
#指定使用的基础镜像FROM java:8
#镜像的作者、作者邮箱
MAINTAINER longX@yunji.com
#添加文件到容器中,注意,在打包的时候,这个文件需要放在同一级
ADD sentinel-dashboard-1.7.2.jar /sentinel-dashboard-1.7.2.jar
#声明端口,需要开放多个端口则多一条expose
EXPOSE 8081
#添加脚本
ADD start.sh /root
#执行命令,相当于开机执行命令
ENTRYPOINT ["java", "-Dcsp.sentinel.api.port=8081", "-Dproject.name=sentinel-dashboard", "-Dsentinel.dashboard.auth.username=root", "-Dsentinel.dashboard.auth.password=root", "-jar","/sentinel-dashboard-1.7.2.jar"]
#参数说明:
#-Dserver.port 项目的地址,类似指定springboot项目地址,默认8080
#Dproject.name 项目的名字,注册到控制端的名字
#Dsentinel.dashboard.auth.username 登录账号密码
#csp.sentinel.dashboard.server 控制台的地址,指定控制台后客户端会自动向该地址发送心跳包
#csp.sentinel.api.port 本地启动 HTTP API Server 的端口号,默认 8719, 非必要,若端口冲突会自动向下探测可用的端口
#csp.sentinel.heartbeat.client.ip 指定心跳包中本机的 IP,若不指定则通过 HostNameUtil 解析;该配置项多用于多网卡环境,docker环境有问题
#csp.sentinel.api.port,默认8719,和客户端通信的端口号,这里docker启动
将这个文件和jar(自己去官网下载)传到服务器上,执行 `docker build -t sentinel-yunji-1.7 .
`
就能生成镜像,执行
docker run -idt --name sentinel -p 8102:8080 -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --privileged=true --restart=on-failure:5 sentinel-yunji-1.7
运行生成的镜像。
到此,这一步就基本完成了,访问。http://ip: 8102 / 就能看到页面,输入 root ,root 即可访问。
做以上的操作,就是为了改密码,自己设定你自己的密码,以及将其容器化,方便管理。
=================================================以下就开始有问题了。
spring.cloud.sentinel.transport.dashboard=http://192.168.1.33:8102#本机的IP
spring.cloud.sentinel.transport.client-ip=192.168.1.163spring.cloud.sentinel.transport.port=8102#服务启动直接建立心跳连接spring.cloud.sentinel.eager=true
以上的配置是项目中的配置,放到application.properties中,然后引入相关的maven即可。
总结:
按照相关的配置完成之后,发现基本可以实现配置监控请求的接口显示,但是实时页面一直没有数据,不知道为什么,中途忽然又出现过一段时间的数据,另外,其版本对项目也有影响,1.7.2和1.7.1的一些API与类也有不一样,初步怀疑,sentinel 的整合是与 spring-cloud-alibaba 相关的,并没有完整的支持 原生的springcloud!
以上是 失败的sentinel整合springcloud 的全部内容, 来源链接: utcz.com/z/518751.html