Resilience4j + Prometheus + Grafana实现熔断服务可视化监控

发布时间:2026/9/3 8:46:44

Resilience4j + Prometheus + Grafana实现熔断服务可视化监控
springboot2.5后Hystrix熔断器被官方弃用同时用于可视化监控的Hystrix Dashboard仪表盘也被弃用高版本springboot使用Resilience4j Prometheus Grafana替代Hystrix Dashboard仪表盘实现服务熔断的可视化监控一、可视化监控介绍为什么要使用Prometheus Grafana可视化监控Prometheus Grafana依靠其实时性、灵活性、可扩展性、强大的可视化能力成为云原生和微服务框架下的主流选择①Prometheus负责采集与告警触发Grafana提供直观展示Alertmanager处理告警分发形成“采集存储分析可视化告警”的全链路监控②Prometheus支持Kubernetes服务发现自动追踪Pod变化③通过可视化仪表盘快速定位资源瓶颈结合PromQL实现根因分析Prometheus优势①为云原生设计由springcloud开发天然适配Kubernetes、Docker等容器化环境②轻量级易部署单个二进制文件运行无外部依赖支持Docker、Kubernetes等多种部署方式③丰富的Exporter生态支持Node、MySQL、Redis、Kafka等主流组件的指标采集④强大查询语言PromQL‌可对监控数据进行复杂查询、聚合、预测⑤多维数据模型与时序存储‌每条指标由名称 标签Labels唯一标识支持灵活聚合与过滤内置高效时序数据库TSDB‌⑥Pull模型采集数据‌主动从目标Exporter拉取指标降低被监控端耦合Grafana优势①跨平台、易操作支持 Web 访问支持 RBAC 权限管理适合团队协作②海量预置仪表盘‌通过Grafana Dashboard官网提供了不同场景的成熟模板③告警功能‌可基于面板设置告警规则并通过邮件、钉钉等渠道通知④多数据源支持‌除Prometheus外还兼容InfluxDB、Elasticsearch、MySQL、CloudWatch⑤丰富的可视化能力‌提供折线图、热力图、仪表盘等丰富图表类型支持自定义面板与模板变量Prometheus Grafana应用场景①服务器监控‌通过Node Exporter Grafana监控 CPU、内存、磁盘、网络等指标变化②数据库监控‌结合mysqld_exporter或redis_exporter实现MySQL/Redis性能指标可视化③应用性能监控‌Java应用集成Prometheus Client Library暴露自定义业务指标④Kubernetes集群监控‌通过kube-state-metrics cAdvisor Grafana实现Pod/Node资源全景视图Resilience4j Prometheus Grafana监控架构二、Prometheus安装Prometheus下载说明选择所需要的环境和对应版本的安装包进行下载Windows环境安装Windows环境解压压缩包后即可直接运行Prometheus默认访问端口9090本地启动后访问http://localhost:9090即可打开Prometheus提供的建议UI页面Linux环境安装①Linux在线环境执行wget https://github.com/prometheus/prometheus/releases/download/v3.11.2/prometheus-3.11.2.linux-amd64.tar.gz命令将指定版本的Prometheus下载到想要存放的目录下如果需要下载其他版本替换命令中的版本号即可②Linux离线环境下先访问Prometheus官网下载Linux环境的Prometheus压缩包再将下载的Prometheus压缩包上传至Linux服务器的指定存放目录下③执行tar -xvf prometheus-3.11.2.linux-amd64.tar.gz对prometheus压缩包解压④在prometheus文件目录下执行nohup ./prometheus --config.fileprometheus.yml 后台启动prometheus服务浏览器访问http://192.168.201.129:9090对应服务器ip验证服务是否启动说明也可以创建Systemd服务文件启动prometheus服务-执行vi /etc/systemd/system/prometheus.service命令在系统文件夹下创建prometheus.service文件文件内容如下-其中[Service]模块的User和ExecStart在配置时需要特别注意User需要配置具有权限的用户ExecStart需要配置Prometheus安装相应的路径-执行systemctl daemon-reload重新加载单元模块再执行systemctl start prometheus启动prometheus服务最后执行systemctl status prometheus查看prometheus服务启动状态-浏览器验证http://192.168.201.129:9090UI界面是否可以打开prometheus.yml文件配置prometheus.yml是Prometheus的核心配置文件定义了全局采集规则、告警规则文件位置以及需要监控的采集目标。下面给出一个完整的配置示例并逐项说明每个配置项的作用# 全局配置 global:# 默认抓取间隔每15秒从目标端点拉取一次指标scrape_interval:15s# 默认告警评估间隔每15秒评估一次告警规则evaluation_interval:15s# 默认抓取超时时间超过10秒未响应则放弃本次抓取scrape_timeout:10s# 告警规则文件 # 指定告警规则文件路径支持通配符匹配多个规则文件rule_files:# - first_rules.yml # 示例自定义告警规则文件# - second_rules.yml # 示例第二个告警规则文件# 抓取配置 # 定义Prometheus需要采集指标的目标端点列表scrape_configs:# 任务名称Prometheus自身监控-job_name:prometheus# 静态配置的采集目标static_configs:-targets:[localhost:9090]# Prometheus自身暴露的指标端点# 任务名称Spring Boot应用Resilience4j指标采集-job_name:spring-boot-app# 抓取间隔覆盖全局配置每10秒采集一次scrape_interval:10s# 指标路径Spring Boot Actuator暴露的Prometheus端点metrics_path:/actuator/prometheus# 静态配置的采集目标指向部署了Resilience4j的Spring Boot服务static_configs:-targets:[192.168.201.129:8080]# 替换为实际的应用IP和端口# 附加标签便于在Grafana中区分不同环境或服务labels:application:order-service# 应用名称environment:prod# 部署环境说明①global配置块中的scrape_interval、evaluation_interval、scrape_timeout为全局默认值若某个job未单独指定则沿用全局配置②scrape_configs中的每个job_name代表一个采集任务static_configs.targets指定具体的采集地址metrics_path指定指标暴露的HTTP路径③采集Resilience4j指标时metrics_path必须配置为/actuator/prometheus且Spring Boot应用需引入micrometer-registry-prometheus依赖并暴露actuator端点④labels可以为采集到的指标附加自定义标签便于在Grafana中按应用名、环境等维度进行过滤和聚合⑤配置完成后需重启Prometheus服务使配置生效可在Prometheus的Targets页面http://ip:9090/targets查看采集目标是否处于UP状态。三、Grafana安装Grafana下载说明选择所需要的环境和对应版本的安装包进行下载Windows环境安装①自定义选择安装位置②下一步至最后一步安装即可③找到Grafana安装目录下的grafana-server.exe启动程序双击启动Grafana服务④浏览器访问Grafana服务平台http://localhost:3000说明默认访问地址为http://localhost:3000默认账号密码均为admin⑤服务停止winR并输入services.msc打开服务窗口查看服务列表找到Grafana服务并停止说明如果Grafana服务无法正常结束进程可通过服务窗口启动或停止服务Linux环境安装①Linux处于离线环境可以先下载Grafana官网提供的tar.gz压缩包然后再上传到Linux服务器上②Linux在线环境下先cd到需要下载的目录下通过执行wget https://dl.grafana.com/grafana-enterprise/release/12.4.2/grafana-enterprise_12.4.2_23531306697_linux_amd64.tar.gz命令进行在线下载③下载完成后执行tar -zxvf grafana-enterprise_12.4.2_23531306697_linux_amd64.tar.gz命令解压④执行cd命令进入grafana下的bin目录执行nohup ./grafana-server log grafana-server.log 21 命令后台启动grafana服务⑤浏览器访问Grafana服务平台http://ip:3000四、Grafana配置Prometheus数据源Grafana安装并启动成功后需要先将Prometheus添加为数据源才能在后续创建仪表盘时读取到Prometheus采集的指标数据。下面详细介绍配置步骤登录Grafana浏览器访问http://ip:3000ip为Grafana所在服务器地址使用默认账号密码admin/admin登录首次登录会提示修改密码按提示设置新密码即可进入Grafana首页进入数据源管理页面左侧菜单栏中选择Connections功能模块在下拉菜单中选择Data sources进入数据源管理页面添加Prometheus数据源点击页面右上角的Add data source按钮在数据源类型列表中找到并点击Prometheus进入Prometheus数据源配置页面在Connection配置区域填写Prometheus服务的访问地址格式为http://ip:9090其中ip为部署Prometheus的服务器地址9090为Prometheus默认端口说明①若Grafana与Prometheus部署在同一台服务器可填写http://localhost:9090②若Grafana与Prometheus部署在不同服务器需填写Prometheus所在服务器的实际IP并确保9090端口在防火墙中放行③Access访问模式一般保持默认的Server即可由Grafana服务端去请求Prometheus保存并测试连接页面滚动到最底部点击Save test按钮Grafana会立即向配置的Prometheus地址发起连接测试若配置正确页面会弹出绿色的Successfully queried the Prometheus API提示表示数据源连接成功此时即可在创建仪表盘时选择该数据源说明①若提示Error请检查Prometheus服务是否已启动、URL地址是否填写正确、网络及防火墙是否放行9090端口②连接成功后可在Data sources列表中看到该数据源状态为Healthy后续创建仪表盘时即可直接选用五、Resilience4j接入Prometheus要让Prometheus成功采集到Resilience4j的熔断、限流等指标需要先在Spring Boot应用中引入相关依赖、暴露Actuator端点并确保Resilience4j的指标注册到Micrometer。下面详细介绍接入步骤pom.xml添加依赖在Spring Boot项目的pom.xml中添加以下三个核心依赖!-- Spring Boot Actuator提供健康检查、指标暴露等生产级监控端点 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!-- Micrometer Prometheus注册表将应用指标以Prometheus格式暴露 --dependencygroupIdio.micrometer/groupIdartifactIdmicrometer-registry-prometheus/artifactId/dependency!-- Resilience4j Micrometer将Resilience4j的熔断、限流等指标注册到Micrometer --dependencygroupIdio.github.resilience4j/groupIdartifactIdresilience4j-micrometer/artifactId/dependency说明①spring-boot-starter-actuator负责暴露/actuator下的各类监控端点②micrometer-registry-prometheus会把Micrometer收集到的指标转换为Prometheus格式并通过/actuator/prometheus端点输出③resilience4j-micrometer负责把Resilience4j的CircuitBreaker、RateLimiter、Bulkhead等组件的指标注册到Micrometer三者缺一不可④若使用Spring Cloudresilience4j-spring-boot3等依赖已传递引入resilience4j-micrometer可无需重复添加但显式声明更稳妥。application.yml配置暴露Actuator端点在application.yml中配置Actuator仅暴露prometheus端点并开启Resilience4j的指标注册# Actuator端点配置 management:endpoints:web:exposure:# 仅暴露prometheus端点避免不必要的端点对外暴露include:prometheus# 开启Resilience4j指标注册到Micrometermetrics:tags:application:${spring.application.name:unknown}# 为所有指标附加应用名标签说明①management.endpoints.web.exposure.include指定通过HTTP暴露的端点这里配置为prometheus访问/actuator/prometheus即可获取指标②management.metrics.tags.application为所有指标附加application标签便于在Grafana中按应用维度过滤③Resilience4j的指标默认会随Micrometer自动注册无需额外配置即可在/actuator/prometheus中看到resilience4j_circuitbreaker_*等指标④若需在Grafana中按实例区分可同时配置management.metrics.tags.instance等自定义标签。验证指标端点完成上述配置后启动Spring Boot应用浏览器访问http://ip:port/actuator/prometheusip为应用所在服务器地址port为应用端口即可看到Prometheus格式的指标输出在返回的指标中重点查找resilience4j相关的指标例如说明①resilience4j_circuitbreaker_state表示熔断器当前状态closed关闭、open打开、half_open半开②resilience4j_circuitbreaker_calls_total统计成功与失败的调用次数kind标签区分successful与failed③若页面返回404请检查Actuator端点是否已暴露、依赖是否引入完整④若页面返回401或403需检查是否配置了Spring Security并放行/actuator/prometheus端点⑤确认指标正常返回后回到Prometheus的Targets页面http://ip:9090/targets即可看到spring-boot-app任务处于UP状态随后便可在Grafana中创建仪表盘展示Resilience4j指标。Grafana中新建仪表盘查询spring-boot-app节点的指标数据

相关新闻

AI眼镜接入智能手表运动健康数据:Livis OTA升级全解析

AI眼镜接入智能手表运动健康数据:Livis OTA升级全解析

2026/9/3 8:36:44

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

SN与IMEI重写工具原理与实战:从Fastboot/EDL模式到NV分区操作

SN与IMEI重写工具原理与实战:从Fastboot/EDL模式到NV分区操作

2026/9/3 8:36:44

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

3000张香蕉标注数据集:YOLO与VOC双格式农业视觉落地实践

3000张香蕉标注数据集:YOLO与VOC双格式农业视觉落地实践

2026/9/3 8:36:44

简介:本资源是面向深度学习初学者与计算机视觉开发者的专业级香蕉目标检测数据集,专为训练YOLO、Faster R-CNN等物体检测模型设计,解决农业质检、智能零售及自动分拣场景中香蕉识别与定位的实际问题。压缩包共2000个文件,包含5965…

基于SpringBoot的家庭财务管理系统:从设计到部署的完整实战

基于SpringBoot的家庭财务管理系统:从设计到部署的完整实战

2026/9/3 9:46:48

简介:这是一份面向计算机专业本科生的毕业设计级家庭财务管理系统完整交付包,基于SpringBoot框架构建,解决个人或家庭日常收支记录、统计与可视化管理需求,适合作为课程设计、毕设选题及Java全栈开发能力训练项目。压缩包共807个文…

Python实现Markdown/HTML一键粘贴到Word/Excel:PasteMD工具开发全解析

Python实现Markdown/HTML一键粘贴到Word/Excel:PasteMD工具开发全解析

2026/9/3 9:46:48

简介:PasteMD 是一款面向程序员、技术文档撰写者及办公效率追求者的 Python 桌面工具,专为解决 Markdown、网页富文本及 AI 对话内容在 Word/WPS/Excel 中排版失真、粘贴繁琐的痛点而设计。它通过常驻系统托盘一键触发机制,自动识别剪贴板内容…

智能体工程化:从OpenClaw协作到ClickHouse运行数据闭环

智能体工程化:从OpenClaw协作到ClickHouse运行数据闭环

2026/9/3 9:46:48

如果把九月初关于 AI 的几个热点放在一起看,会发现一个相当清晰的信号。OpenClaw 2.0 开始谈协作,AI 应用圈开始认真讨论护城河,ClickHouse 这类数据库也开始在智能体基础设施里被反复提起。表面上看,这三件事互不相干&#xff1a…

基于AdaIN的图像风格迁移:从原理到PyTorch实战

基于AdaIN的图像风格迁移:从原理到PyTorch实战

2026/9/3 9:46:48

简介:本资源是一套基于AdaIN(Adaptive Instance Normalization)实现图像风格迁移的完整机器学习实践项目,面向人工智能与计算机视觉方向的学习者、研究者及深度学习初学者,旨在解决内容图像与风格图像融合生成高质量艺…

深度学习红外与可见光图像融合:PyTorch训练与MATLAB部署实战

深度学习红外与可见光图像融合:PyTorch训练与MATLAB部署实战

2026/9/3 9:46:47

简介:本资源是一个基于MATLAB实现的红外与可见光图像融合深度学习项目,面向人工智能、计算机视觉方向的初学者与进阶研究者,解决多模态图像信息互补融合这一典型任务。压缩包共62个文件,含46张PNG/JPG格式的配对红外(I…

AgentScope 2.0:快速搭建权限可控、沙箱隔离并可扩展多智能体的智能体框架实战指南

AgentScope 2.0:快速搭建权限可控、沙箱隔离并可扩展多智能体的智能体框架实战指南

2026/9/3 9:36:47

AgentScope 2.0:快速搭建权限可控、沙箱隔离并可扩展多智能体的智能体框架实战指南 【免费下载链接】agentscope Build and run agents you can see, understand and trust. 项目地址: https://gitcode.com/GitHub_Trending/ag/agentscope AgentScope 2.0 是…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/2 10:08:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/2 12:11:52

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/9/1 23:49:08

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

【原创】基于微信小程序+AI大模型+uni-app的宠物用品商城小程序(设计与实现)

【原创】基于微信小程序+AI大模型+uni-app的宠物用品商城小程序(设计与实现)

2026/9/3 0:06:18

摘要:随着电子商务与本地生活服务的普及,线上交易与店铺运营管理已成为常规业态。传统分散式进销存与人工对账方式存在流程割裂、库存难同步、促销规则难落地、经营数据难沉淀等弊端,难以支撑一体化的数字化运营。同类课题亦多见多商户在线商…

【原创】基于AI大模型+SpringBoot+Vue的宠物用品商城(设计与实现)

【原创】基于AI大模型+SpringBoot+Vue的宠物用品商城(设计与实现)

2026/9/3 0:06:18

摘要:随着电子商务与本地生活服务的普及,线上交易与店铺运营管理已成为常规业态。传统分散式进销存与人工对账方式存在流程割裂、库存难同步、促销规则难落地、经营数据难沉淀等弊端,难以支撑一体化的数字化运营。同类课题亦多见多商户在线商…

【原创】基于微信小程序+AI大模型+uni-app的节日礼品定制商城小程序(设计与实现)

【原创】基于微信小程序+AI大模型+uni-app的节日礼品定制商城小程序(设计与实现)

2026/9/3 0:06:18

摘要:随着电子商务与本地生活服务的普及,线上交易与店铺运营管理已成为常规业态。传统分散式进销存与人工对账方式存在流程割裂、库存难同步、促销规则难落地、经营数据难沉淀等弊端,难以支撑一体化的数字化运营。同类课题亦多见多商户在线商…

远程协作的工作台整理

远程协作的工作台整理

2026/9/3 6:56:24

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/3 6:39:45

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/3 5:20:28

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…