1.Sentinel 介绍
Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。
Sentinel 控制台包含如下功能:
查看机器列表以及健康情况: 收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。
监控 (单机和集群聚合): 通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。
规则管理和推送: 统一管理推送规则。
鉴权: 生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。
2.制作镜像
1.下载软件jar
下载相应版本的
jar
包下载地址:Releases · alibaba/Sentinel · GitHub,,以下操作版本为sentinel-dashboard-1.8.3.jar
2.创建目录,并将下载的jar包上传到该目录:
mkdir /root/docker/docker-system/sentinel -p
3.创建并编写dockerfile
cd /root/docker/docker-system/sentinel vim /root/docker/sentinel/Dockerfile
dockerfile:
#java 版本 FROM java:8 ##挂载的docker卷 VOLUME /tmp #前者是要操作的jar包 后者自定义jar包名 ADD *.jar sentinel-dashboard.jar #定义时区参数 ENV TZ=Asia/Shanghai #设置时区 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone #配置启动命令,-D表示设置JVM参数 ENTRYPOINT ["java","-jar","-Dserver.port=8081","-Dcsp.sentinel.dashboard.server=10.1.35.60:8081","-Dproject.name=sentinel-dashboard","/sentinel-dashboard.jar"]
4、制作镜像:
执行命令制作镜像,保证jar
和Dockerfile
在同一个目录下
# sentinel-server表示镜像名称(一般写你的harbor规范的名称,便于推送) #如果没有harbor,直接命名sentinel-server #可选命令1 docker build -t sentinel-server . #可选命令2 #如果有harbor,写便于推送的名称10.1.61.122:5000/crbt/sentinel-dashboard:v1.8.3 docker build -f Dockerfile -t 10.1.61.122:5000/crbt/sentinel-dashboard:v1.8.3 .
5.制作完成
6.推送到harbor
docker push 10.1.61.122:5000/crbt/sentinel-dashboard:v1.8.3
3.启动镜像
#这里端口号和dockerfile里面配置的镜像端口号对上
docker run --name sentinel-server -p 8081:8081 --restart=always --privileged=true -d 10.1.61.122:5000/crbt/sentinel-dashboard:v1.8.3
4.访问测试
默认账户密码:sentinel/sentinel
可以在Dockerfile文件中,通过如下JVM参数进行配置:
-Dsentinel.dashboard.auth.username=sentinel 用于指定控制台的登录用户名为 sentinel;
--Dsentinel.dashboard.auth.password=123456 用于指定控制台的登录密码为 123456;如果省略这两个参数,默认用户和密码均为 sentinel;
-Dserver.servlet.session.timeout=7200 用于指定 Spring Boot 服务端 session 的过期时间,如 7200 表示 7200 秒;60m 表示 60 分钟,默认为 30 分钟;
除了修改JVM启动参数的形式,还是源码中通过application.properties文件进行配置.
5.接入测试