当前位置: 首页 > article >正文

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

文章目录

  • 简介
    • 什么是 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

在这里插入图片描述

启动

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

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

在这里插入图片描述

注意: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
在这里插入图片描述
登录成功
在这里插入图片描述

配置项目,启用Sentinel

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

spring:
  cloud:
    sentinel:
      transport:
        port: 8719
        dashboard: 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-feign
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    sentinel:
      transport:
        port: 8719
        dashboard: localhost:8080
        
server:
  port: 9092

feign:
  sentinel:
    enabled: true

management:
  endpoints:
    web:
      exposure:
        include: "*"

测试

启动项目moonce-providermoonce-consumer-feign,访问接口http://localhost:9092/test/hi
在这里插入图片描述
打开地址http://localhost:8080/#/dashboard/home,多了个moonce-consumer-feign的服务信息
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/3569.html

相关文章:

  • Linux搭建FTP详细流程
  • 开篇:吴恩达《机器学习》课程及免费旁听方法
  • 第二十四课 Vue中子组件调用父组件数据
  • 网络通信---MCU移植LWIP
  • 机器学习(5):支持向量机
  • Jenkins-获取build用户信息
  • AI绘画(以后也叫AI视频)
  • https是如何保证安全的
  • 电脑长按电源键强行关机,对SSD有伤害吗?SSD 掉盘之殇
  • 网络安全 2023 年为什么如此吃香?事实原来是这样....
  • 大数据项目之数仓相关知识
  • PLG SaaS 案例:如何实践外链自动增长策略?
  • MongoDB数据库从入门到精通系列之十:MongoDB数据库备份之文件系统快照
  • SpringBoot 解决id使用字符串类型可以解决精度问题
  • C++ Primer第五版_第六章习题答案(41~50)
  • 【数据结构篇C++实现】- 堆
  • python 使用pyshp读写shp文件
  • 3.数组算法、动态规划
  • 模型压缩-网络量化概述
  • 3.OSPF与BGP的联动
  • 我用Python django开发了一个商城系统,已开源,求关注!
  • python flask项目部署
  • 电路基础_模拟电路_问答_2023_01
  • JSON.stringify() 的 5 种使用场景
  • 【Docker】MAC电脑下的Docker操作
  • SQL注入之HTTP请求头注入