11、控制台
11.1 概述
Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。 注意: 集群资源汇总仅支持500 台以下的应用集群,有大概1 - 2 秒的延时。
11.2. 启动控制台
11.2.1 下载代码并编译控制台
- 下载控制台工程
- 使用以下命令将代码打包成一个fat jar: mvn clean package
11.2.2 启动
使用如下命令启动编译后的控制台:
代码语言:javascript复制$ java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -jar
target/sentinel-dashboard.jar
上述命令中我们指定了一个JVM 参数,-Dserver.port=8080 用于指定SpringBoot 启动端口为8080。
11.3. 客户端接入控制台
控制台启动后,客户端需要按照以下步骤接入到控制台。
11.3.1 引入JAR 包
通过pom.xml 引入JAR 包:
代码语言:javascript复制 <dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>x.y.z</version>
</dependency>
11.3.2 配置启动参数
启动时加入JVM 参数-Dcsp.sentinel.dashboard.server=consoleIp:port
指定控制台地址和端口。若启动多个应用,则需要通过-Dcsp.sentinel.api.port=xxxx
指定客户端监控API 的端口(默认是8719)。
除了修改JVM 参数,也可以通过配置文件取得同样的效果。更详细的信息可以参考启动配置项。
11.3.3 触发客户端初始化
确保客户端有访问量,Sentinel 会在客户端首次调用的时候进行初始化,开始向控制台发送心跳包。
11.4. 查看机器列表和监控
11.4.1 "机器列表"中显示机器
当您在机器列表中看到您的机器,就代表着您已经成功接入控制台;如果没有看到您的机器,请检查配置,并通过record.log 和metricStat.log.pid<PidNo>.<Date>
来排查原因,详细的部分请参考日志文档。
11.4.2 "簇点链路"中显示刚刚调用的资源
簇点链路实时的去拉取指定客户端资源的运行情况,它一共提供两种展示模式:一种用树状结构展示资源的调用链路,另外一种则不区分调用链路展示资源的运行情况。 注意: 簇点监控是内存态的信息,它仅展示启动后调用过的资源。
11.4.3 "实时监控"汇总资源信息
同时,同一个服务下的所有机器的簇点信息会被汇总,并且秒级地展示在"实时监控"下。
注意: 实时监控仅存储5 分钟以内的数据,如果需要持久化,需要通过调用实时监控接口来定制。
11.5. 规则管理及推送
控制台同时提供简单的规则管理以及推送的功能。
11.5.1 规则管理
您可以在控制台通过客户端开放的HTTP 命令来查询规则,详情请参考规则查询更改。
11.5.2 规则推送
目前控制台的规则推送也是通过规则查询更改HTTP 命令来更改规则。这也意味着这些规则仅在内存态生效,应用重启之后,该规则会丢失。
同时我们非常鼓励您通过动态规则并结合各种外部存储来定制自己的规则源。我们推荐通过动态配置源的控制台来进行规则写入和推送,而不是通过Sentinel客户端直接写入到动态配置源中。