Sentinel 控制台

1. 概述

Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。

注意: 集群资源汇总仅支持 500 台以下的应用集群,有大概 1 - 2 秒的延时。

Dashboard

2. 启动控制台

2.1 下载代码并编译控制台

  • 下载 控制台 工程
  • 使用以下命令将代码打包成一个 fat jar: mvn clean package

2.2 启动

使用如下命令启动编译后的控制台:

  1. $ java -Dserver.port=8080 \
  2. -Dcsp.sentinel.dashboard.server=localhost:8080 \
  3. -jar target/sentinel-dashboard.jar

上述命令中我们指定了一个JVM参数,-Dserver.port=8080 用于指定 Spring Boot 启动端口为 8080

3. 应用接入控制台

应用只需要指定控制台的地址和端口,即可以上报相关信息到控制台,方便您管理配置。

3.1 引入JAR包

通过 pom.xml 引入 JAR 包:

  1. <dependency>
  2. <groupId>com.alibaba.csp</groupId>
  3. <artifactId>sentinel-transport-simple-http</artifactId>
  4. <version>x.y.z</version>
  5. </dependency>

3.2 参数配置

启动时加入 JVM 参数 -Dcsp.sentinel.dashboard.server=consoleIp:port 指定控制台地址和端口。若启动多个应用,则需要通过 -Dcsp.sentinel.api.port=xxxx 指定客户端监控 API 的端口(默认是 8719)。

除了修改 JVM 参数,也可以通过配置文件取得同样的效果。更详细的信息可以参考 启动配置项

4. 调用资源

完成以上步骤之后,调用任意资源,应用就开始往控制台发送心跳包了。

a. "机器列表"中显示机器

当您在机器列表中看到您的机器,就代表着您已经成功接入控制台;如果没有看到您的机器,请检查配置,并通过 record.logmetricStat.log.pid<Pid No>.<Date>来排查原因,详细的部分请参考 日志文档

machinediscover

b. "簇点链路"中显示刚刚调用的资源

簇点链路实时的去拉取指定客户端资源的运行情况,它一共提供两种展示模式:一种用树状结构展示资源的调用链路,另外一种则不区分调用链路展示资源的运行情况。

注意: 簇点监控是内存态的信息,它仅展示启动后调用过的资源。

树状链路 平铺链路
resourceTree cluster

c. "实时监控"汇总资源信息

同时,同一个服务下的所有机器的簇点信息会被汇总,并且秒级地展示在"实时监控"下。

注意: 实时监控仅存储 5 分钟以内的数据,如果需要持久化,需要通过调用实时监控接口来定制。

Dashboard

5. 规则管理及推送

控制台同时提供简单的规则管理以及推送的功能。

5.1 规则管理

您可以在控制台通过客户端开放的 HTTP 命令来查询规则,详情请参考 规则查询更改

rules

5.2 规则推送

目前控制台的规则推送也是通过 规则查询更改 HTTP 命令来更改规则。这也意味着这些规则仅在内存态生效,应用重启之后,该规则会丢失。

同时我们非常鼓励您通过 动态规则 并结合各种外部存储来定制自己的规则源。

原文: https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0