Sentinel通过客户端自动采集QPS、响应时间等指标,基于滑动时间窗口内存聚合,每10秒推汇总数据至控制台;控制台提供实时监控、簇点链路、流控规则查看及热点参数分析功能,支持快速定位限流原因。

Sentinel 实时监控流量与限流,核心依赖其内置的监控采集机制和独立的控制台(Dashboard),不需要额外埋点或改造业务逻辑,接入后即可秒级查看指标。
监控数据怎么自动采集
Sentinel 客户端在运行时会自动统计每个资源(如接口、方法)的 QPS、响应时间、异常数、线程并发数、被拦截次数等关键指标。这些数据基于滑动时间窗口(默认 1 秒一个窗口,滑动步长 500ms)实时聚合,内存中完成计算,无 IO 开销。
- 每台应用启动后,会通过 HTTP 暴露一个 /actuator/sentinel 端点(Spring Boot 场景),供控制台拉取实时数据
- 客户端默认每 10 秒向控制台推送一次聚合后的分钟级汇总数据(含最近 60 秒的秒级明细)
- 所有统计不依赖外部存储,断网或控制台宕机不影响客户端自身流控和熔断判断
怎么用控制台看实时流量
启动 Sentinel 控制台(jar 包方式)后,应用通过配置项 spring.cloud.sentinel.transport.dashboard 主动注册上去,就能在 Web 界面看到全量监控视图:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 首页「实时监控」页签:显示近 5 分钟内每秒的 QPS、成功数、失败数、响应时间趋势曲线
- 点击具体资源(如 /order/create):可下钻查看该资源的秒级明细、被限流/熔断的具体时间点和原因
- 「簇点链路」页签:展示所有被 @SentinelResource 或 SphU.entry 定义的资源及其实时调用关系与流量分布
- 支持按机器 IP 过滤,也支持小集群(≤500 节点)的聚合视图,看清整体水位
限流触发时怎么快速定位
当某接口开始被频繁 Block,不用翻日志,直接在控制台操作即可确认:
立即学习“Java免费学习笔记(深入)”;
- 在「簇点链路」中找到该资源,观察「Blocked QPS」列是否持续非零,同时对比「Success QPS」是否骤降
- 点击资源右侧「流控规则」按钮,确认当前生效的 FlowRule 是否已配置,阈值是否合理(比如 QPS 设为 10,但实际峰值已达 15)
- 结合「热点参数」页签,检查是否因某个用户 ID 或商品 SKU 访问过热,触发了热点限流而非全局限流
- 若使用 Nacos 持久化规则,可在控制台右上角切换「数据源」查看规则来源,避免本地配置覆盖线上规则
进阶:自定义监控指标与告警
原生控制台支持基础观测,如需对接企业级告警体系,可:
- 通过 /sentinel/metric 接口拉取原始监控数据,接入 Prometheus + Grafana 做长期趋势分析
- 监听 BlockException 异常,在业务代码中打点上报到 ELK 或 SkyWalking,标记限流根因(是规则误配?还是真实突发流量?)
- 利用 Sentinel 的 StatisticSlotCallbackRegistry 扩展点,在指标统计完成后插入自定义逻辑,比如对慢调用自动触发降级开关

















