PK200

首页 > 游戏资讯 > 正文

Java项目案例《100套》uniapp小程序《Sentinel控制台》

时间:2024-02-09 02:56:02

uniapp小程序“100套”

目录

1 概述

Sentinel提供了一个轻量级的开源控制台,提供机器发现和健康管理、监控(单机和集群)、规则管理和推送功能。 在这里,我们将通过简单的步骤详细介绍如何使用这些功能。

接下来,我们将一一介绍如何将Sentinel核心库与Dashboard整合起来,使其发挥最大功效。 同时还在阿里云上提供企业级Sentinel服务:只需几个简单的步骤,您就可以最直观地看到控制台是如何实现这些功能的,并体验多样化的监控和全自动的托管集群流控能力。 。

Sentinel 控制台包括以下功能:

注意:Sentinel 控制台目前仅支持单机部署。 Sentinel 控制台项目提供了全套 Sentinel 功能的示例。 它不用作开箱即用的生产环境控制台。 如果想在生产环境使用,请根据文档自行定制修改。

2.启动控制台 2.1 获取Sentinel控制台

您可以从发布页面下载最新版本的控制台jar包。

您还可以从最新版本的源代码自行构建 Sentinel 控制台:

2.2 启动

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

使用以下命令启动控制台:

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

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

从Sentinel 1.6.0开始,Sentinel控制台引入了基本的登录功能。 默认的用户名和密码都是sentinel。 您可以参考认证模块文档来配置用户名和密码。

注意:如果应用程序是Spring Boot或Spring Cloud应用程序,则可以通过Spring配置文件指定配置。 详细内容请参考Spring Cloud阿里巴巴哨兵文档。

3. 客户端访问控制台

控制台启动后,客户端需要按照以下步骤连接控制台。

3.1 JAR包介绍

客户端需要引入Transport模块来与Sentinel控制台进行通信。 可以通过pom.xml引入JAR包:


    com.alibaba.csp
    sentinel-transport-simple-http
    x.y.z

3.2 配置启动参数

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

除了修改JVM参数之外,通过配置文件也可以达到同样的效果。 有关更多详细信息,请参阅启动配置项。

3.3 触发客户端初始化

确保客户端具有访问权限。 Sentinel会在客户端第一次调用它时进行初始化,并开始向控制台发送心跳包。

注意:还需要根据应用类型和访问方式引入相应的适配依赖,否则即使有访问也不会被Sentinel统计到。

4.检查机器列表和健康状态

当你在机器列表中看到该机器时,说明你已经成功连接到控制台; 如果看不到机器,请检查配置并通过 ${user.home}/logs/csp/sentinel-record.log.xxx 进行日志排查,具体原因请参考日志文档。

注意:如果访问Sentinel控制台失败,您可以参考常见问题排查问题。

注意:请确保您使用的是较新版本的浏览器,不保证支持旧版本的浏览器。

5.监控5.1“集群点链接”显示刚刚调用的资源(单机实时)

簇点链接(单机调用链接)页面实时拉取指定客户端资源的运行状态。 它总共提供了两种显示方式:一种是采用树形结构来显示资源的调用链接,另一种是不区分调用链接来显示资源的运行状态。

注意:簇点监控是基于内存的信息。 它只显示启动后调用过的资源。

树形链接平铺链接

5.2 「实时监控」汇总资源信息(集群聚合)

同时,同一服务下所有机器的集群点信息将在秒级汇总显示在“实时监控”下。

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

注意:请确保Sentinel控制台所在机器时间与您自己应用程序的机器时间一致,否则无法拉取实时监控数据。

6. 规则管理与推送

Sentinel控制台还提供简单的规则管理和推送功能。 规则推送分为“原始模式”、“拉取模式”和“推送模式”3种模式。

这里简单介绍一下“原始模式”。

6.1 规则管理

您可以通过接入侧暴露的HTTP API在控制台查询规则。

6.2 规则推送

目前控制台的规则推送也是通过规则查询更改HTTP API来更改规则。 这也意味着这些规则只在内存状态下生效,应用程序重启后就会丢失。

以上是原始模式。 了解原始模型后,强烈建议通过动态规则并结合各种外部存储来定制自己的规则源。 建议通过动态配置源的控制台来编写和推送规则,而不是通过Sentinel客户端直接写入动态配置源。 生产环境推荐使用push模式。 详细请参考:生产环境使用Sentinel

注意:如果要使用集群流控功能,必须连接动态规则源,否则无法正常使用。 您还可以访问AHAS Sentinel,快速访问全自动托管和高可用性集群流控功能。

控制台属于什么设备_服务控制台_控制台服务器

Sentinel还提供了应用维度规则推送的示例页面(流控规则页面,前端路由为/v2/flow)。 用户修改控制台连接配置中心后,可以通过v2页面直接推送规则到配置中心。 Sentinel 提取了一个通用接口,用于将规则推送和拉取到远程配置中心:

用户只需实现DynamicRuleProvider和DynamicRulePublisher接口,并在v2控制器中用@Qualifier注解替换相应的bean即可实现应用维度推送。 我们提供了 Nacos 和 Apollo 的示例。 详细转换请参考应用维度规则推送示例。

7. 认证

从Sentinel 1.5.0开始,控制台提供了通用的认证接口​AuthService​,用户可以根据自己的需求实现。

从Sentinel 1.6.0开始,Sentinel控制台引入了基本的登录功能。 默认的用户名和密码都是sentinel。

用户可以通过以下参数进行配置:

也可以直接在Spring属性文件中配置。

8. 控制台配置项

控制台的一些功能可以通过配置项进行配置。 配置项主要有两个来源:System.getProperty()和System.getenv()。 当它们同时存在时,后者可以覆盖前者。

通过环境变量配置时,需要替换为_,因为不支持。

配置项类型 默认值 最小值 说明

授权启用

布尔值

真的

是否启用登录认证仅用于日常测试,不建议用于生产。

Sentinel.dashboard.auth.用户名

细绳

哨兵

登录控制台的用户名,默认为sentinel

Sentinel.dashboard.auth.密码

细绳

哨兵

登录控制台的密码,默认是sentinel

Sentinel.dashboard.app.hideAppNoMachineMillis

整数

60000

是否隐藏没有健康节点的应用程序,距离上次主机心跳的毫秒数,默认关闭

Sentinel.dashboard.removeAppNoMachineMillis

整数

120000

是否自动删除没有健康节点的应用,距离其下节点上次心跳的毫秒数,默认关闭

Sentinel.dashboard.unhealthyMachineMillis

整数

60000

30000

主机已断开连接且无法关闭。

Sentinel.dashboard.autoRemoveMachineMillis

整数

30万

最近一次心跳时间超过指定时间后是否自动删除掉线的节点。 默认情况下它是关闭的。

Sentinel.dashboard.unhealthyMachineMillis

整数

60000

30000

主机已断开连接且无法关闭。

server.servlet.session.cookie.name

细绳

Sentinel_dashboard_cookie

控制台应用程序的cookie名称可以单独设置,避免同一域名下的cookie名称冲突。

配置示例:

java -Dsentinel.dashboard.app.hideAppNoMachineMillis=60000

System.setProperty("sentinel.dashboard.app.hideAppNoMachineMillis", "60000");

sentinel_dashboard_app_hideAppNoMachineMillis=60000