Sentinel 控制台
1. 概述
Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。
注意: 集群资源汇总仅支持 500 台以下的应用集群,有大概 1 - 2 秒的延时。
2. 启动控制台
2.1 下载代码并编译控制台
- 下载 控制台 工程
- 使用以下命令将代码打包成一个 fat jar: mvn clean package
2.2 启动
使用如下命令启动编译后的控制台:
- $ java -Dserver.port=8080 \
- -Dcsp.sentinel.dashboard.server=localhost:8080 \
- -jar target/sentinel-dashboard.jar
上述命令中我们指定了一个JVM参数,-Dserver.port=8080
用于指定 Spring Boot 启动端口为 8080
。
3. 应用接入控制台
应用只需要指定控制台的地址和端口,即可以上报相关信息到控制台,方便您管理配置。
3.1 引入JAR包
通过 pom.xml
引入 JAR 包:
- <dependency>
- <groupId>com.alibaba.csp</groupId>
- <artifactId>sentinel-transport-simple-http</artifactId>
- <version>x.y.z</version>
- </dependency>
3.2 参数配置
启动时加入 JVM 参数 -Dcsp.sentinel.dashboard.server=consoleIp:port
指定控制台地址和端口。若启动多个应用,则需要通过 -Dcsp.sentinel.api.port=xxxx
指定客户端监控 API 的端口(默认是 8719)。
除了修改 JVM 参数,也可以通过配置文件取得同样的效果。更详细的信息可以参考 启动配置项。
4. 调用资源
完成以上步骤之后,调用任意资源,应用就开始往控制台发送心跳包了。
a. "机器列表"中显示机器
当您在机器列表中看到您的机器,就代表着您已经成功接入控制台;如果没有看到您的机器,请检查配置,并通过 record.log
和 metricStat.log.pid<Pid No>.<Date>
来排查原因,详细的部分请参考 日志文档。
b. "簇点链路"中显示刚刚调用的资源
簇点链路实时的去拉取指定客户端资源的运行情况,它一共提供两种展示模式:一种用树状结构展示资源的调用链路,另外一种则不区分调用链路展示资源的运行情况。
注意: 簇点监控是内存态的信息,它仅展示启动后调用过的资源。
树状链路 | 平铺链路 |
---|---|
c. "实时监控"汇总资源信息
同时,同一个服务下的所有机器的簇点信息会被汇总,并且秒级地展示在"实时监控"下。
注意: 实时监控仅存储 5 分钟以内的数据,如果需要持久化,需要通过调用实时监控接口来定制。
5. 规则管理及推送
控制台同时提供简单的规则管理以及推送的功能。
5.1 规则管理
您可以在控制台通过客户端开放的 HTTP 命令来查询规则,详情请参考 规则查询更改。
5.2 规则推送
目前控制台的规则推送也是通过 规则查询更改 HTTP 命令来更改规则。这也意味着这些规则仅在内存态生效,应用重启之后,该规则会丢失。
同时我们非常鼓励您通过 动态规则 并结合各种外部存储来定制自己的规则源。
原文: https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0