Sentinel 控制台
概述
Sentinel 提供一个轻量级的开源控制台,它提供服务发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。另外,鉴权在生产环境中也必不可少。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。
Sentinel 控制台包含如下功能:
- 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断服务是否在线。
- 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。
- 规则管理和推送:统一管理推送规则。
- 鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。
启动控制台
下载 Sentinel 控制台
- 可以从 Sentinel 的release
页面 下载最新版本的控制台 jar
包,目前对新版本是sentinel-dashboard-1.7.2.jar。 - 也可以下载源码,进行打包运行
启动
使用java-jar 的指令启动sentinel dashboard ,sentinel其实是一个Spring boot项目。官方启动指令如下:
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.0.jar
//换成自己的sentinel-dashboard的包名
其中 -Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080。这里的启动指令比较长,把dashboard自己也当成一个资源加入到了dashboard中来进行监控,如果不想把dashboard自己加入控制台监控可以使用简单启动指令如下:
java -Dserver.port=8088 -jar sentinel-dashboard-1.7.0.jar
启动之后,浏览器访问8080能够看到sentinel登录界面,说明启动成功(sentinel1.6版本之后新增了登录功能)。
客户端接入
在项目中引入jar包,以Spring cloud项目为例
<!-- 后续做持久化用到 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
<!-- sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
配置sentinel 相关启动参数
spring:
application:
name: cloudalibaba-sentinel-service
sentinel:
transport: #dashboard地址
dashboard: localhost:8080
port: 8719 #默认端口,如果被占用则从8719依次+1扫描
功能简单介绍
启动sentinel控制台登录成功之后,对应的服务启动成功之后,可以在sentinle控制台看到对应的服务。如下所示:
sentinel有很友好的UI界面,在当前界面中就可以开始对服务的流控,降级进行配置。