> 文章列表 > 【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

文章目录

  • 简介
  • 获取
    • 源码方式
    • 下载jar包方式
  • 启动
  • 访问服务
  • 配置项目,启用Sentinel
    • 完整配置
  • 测试

简介

接下来我们通过Sentinel控制台来实现对服务消费者提供的熔断机制进行监控和控制,本操作先要完成之前的步骤,详情请参照【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程

什么是 Sentinel控制台

Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。

Sentinel 控制台包含如下功能:

查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。
监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。
规则管理和推送:统一管理推送规则。
鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。

注意:Sentinel 控制台目前仅支持单机部署。Sentinel 控制台项目提供 Sentinel 功能全集示例,不作为开箱即用的生产环境控制台,若希望在生产环境使用请根据文档自行进行定制和改造。

官网地址:点击这里

获取

源码方式

注:下载依赖时间较长,请耐心等待…

# 下载源码
git clone https://github.com/alibaba/Sentinel.git# 编译打包
mvn clean package

下载jar包方式

下载地址:https://github.com/alibaba/Sentinel/releases

【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

启动

注意:启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本。

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

注意:windows控制台会错误识别命令,需要配置项需加单引号

其中 -Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080

参数 作用
-Dcsp.sentinel.dashboard.server=localhost:8080 向 Sentinel 接入端指定控制台的地址
-Dproject.name=sentinel-dashboard 向 Sentinel 指定应用名称,比如上面对应的应用名称就为 sentinel-dashboard

Sentinel 1.6.0 起,Sentinel 控制台引入基本的登录功能,默认用户名和密码都是 sentinel。用户可以通过如下参数进行配置:

  • -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 分钟;

全部的配置项可以参考 启动配置项文档。

访问服务

访问地址:http://localhost:8080/#/dashboard/home,默认用户和密码均为 sentinel
【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控
登录成功
【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控

配置项目,启用Sentinel

在模块moonce-consumer-feign application.yml 配置文件中增加如下配置:

spring:cloud:sentinel:transport:port: 8719dashboard: localhost:8080

这里的 spring.cloud.sentinel.transport.port 端口配置会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互。比如 Sentinel 控制台添加了一个限流规则,会把规则数据 push 给这个 Http Server 接收,Http Server 再将规则注册到 Sentinel 中。

更多 Sentinel 控制台的使用及问题参考: Sentinel 控制台文档 以及 Sentinel FAQ。

完整配置

application.yml

spring:application:name: moonce-consumer-feigncloud:nacos:discovery:server-addr: 127.0.0.1:8848sentinel:transport:port: 8719dashboard: localhost:8080server:port: 9092feign:sentinel:enabled: truemanagement:endpoints:web:exposure:include: "*"

测试

启动项目moonce-providermoonce-consumer-feign,访问接口http://localhost:9092/test/hi
【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控
打开地址http://localhost:8080/#/dashboard/home,多了个moonce-consumer-feign的服务信息
【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控
【Spring Cloud Alibaba】7.Sentinel熔断器仪表盘监控