通过Prometheus利用自定义指标micrometer的MeterRegistry暴露HttpClient连接池中连接数占用状态

监控神器-普罗米修斯Prometheus的学习总结 Prometheus架构: Prometheus 中文名称为普罗米修斯,受启发于Google的Brogmon监控系统,从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,2016年6月发布1.0版本。Prometheus 可以看作是 Google 内部监控系统 Borgmon 的一个实现 prometheus是一个用Go编写的时序数据库,可以支持多种语言客户端,架构如下: Prometheus监控模式 目前,监控系统采集指标有两种方式,一种是『推』,另一种就是『 阅读详情

在服务内部调用外部接口的时候,使用的RestTemplate对请求调用进行了封装,默认情况下Spring使用的是java.net.HttpURLConnection。但是为了更高效,为RestTemplate使用工厂创建ClientHttpRequest, 这样就可以使用HttpClient并利用它的连接池特性,通过创建PoolingHttpClientConnectionManager来管理httpClient的连接池,并可以为单独的Route设置最大连接数setDefaultMaxPerRoute,但是连接池的使用过程中,无法监控到连接池中的连接数量,也就是服务再使用httpClient调用外部接口的时候无法查看池中有多少连接正在使用,多少连接正在准备好等待获取,多少连接已经可用,所以就想到利用Prometheus的自定义metrics来监控到连接池中的连接情况,并展示到grafana监控中,现在包括,hikari光数据源也都是采用了prometheus的端点监控来实现对数据库连接池数据的展示,就像这样

所以如何实现呢,首先要提前准备实现的条件,监控数据,poolingHttpClientConnectionManager里面提供了getTotalStats()方法,这个方法中从Pool里可以获取到连接池中连接的状态数据,分别包含leased(正在被使用的连接), pending(存放等待获取连接的线程), available(表示可用的连接),max(available + leased 总和) 这几种连接的数据,只有从这些方法中读到值,便可得到数据的来源。其次

Spring Boot 自定义指标 阅读本文需要对一些前置技术有所了解,下面列出的一些前置技术是必须要了解的。在项目中如果希望自定义一些指标用于监控系统的运行情况,那么可以通过本文中介绍的方法来实现自定义监控指标,我们先从一个简单的例子来介绍如何实现自定义监控指标。truncate。 阅读详情

相关推荐

Spring AI 2.0工程化实践:构建可编排、可观测、可回滚的生产级Agent

Agent并非简单调用大模型的封装,而是具备任务拆解、工具调度、异常处理与结果确认能力的智能执行体。其核心在于可编排的决策流、可观测的执行链路与可回滚的事务语义——这正是Spring AI 2.0通过ChatMemory抽象、StreamingChatClient和ToolExecutor重构所实现的技术跃迁。在Java后端场景中,它要求开发者从API消费者转型为智能体架构师,围绕ToolRegistry注册治理、@AIListener线程模型优化、spring ai alibaba兼容适配等关键环节进行深

weixin_34380948的博客 466

Spring AI Alibaba:Java工程师接入大模型的工程化分水岭

大模型接入正从原始API调用迈向工程化抽象——核心在于将非结构化语义能力封装为可管理、可编排、可监控的标准服务组件。Spring AI Alibaba 通过 ChatClient、EmbeddingClient 等统一接口,实现模型能力与 Spring 生态的深度对齐,天然支持自动配置、线程安全调用、动态注册及 Token 治理等生产级特性。它不仅简化了通义千问、Qwen-VL、Qwen-Audio 等阿里云模型的集成复杂度,更构建起 Java 工程师熟悉的‘Bean 化’调用范式,使大模型真正成为可嵌入微

weixin_30268921的博客 350

RuoYi集成硅基流动API:企业级框架与AI服务集成的实战避坑指南

在现代企业应用开发中,RESTful API集成是连接外部服务的核心技术。其原理是通过HTTP协议进行标准化数据交换,实现系统间解耦与功能扩展。这项技术的核心价值在于能够快速引入第三方能力,如人工智能服务,从而赋能业务创新。典型的应用场景包括将大模型能力集成到后台管理系统,以辅助内容生成、数据分析等任务。然而,集成过程常面临网络超时、认证鉴权、响应解析和并发稳定性等挑战。本文以RuoYi-Vue框架集成硅基流动(SiliconFlow)AI服务为例,深入剖析了这些常见问题。通过引入抽象网关层、配置弹性HTT

weixin_30598225的博客 375

Java团队本地部署大模型:Ollama+JBoltAI实战指南

大模型本地化部署是企业级Java应用实现低延迟、高合规、可控运维的关键路径。其核心在于弥合Java工程体系与AI推理运行时之间的技术断层——既需规避JNI开销与JVM GC对GPU计算的干扰,又须解决SSE流解析、模型热加载、错误语义映射等工程细节。Ollama以轻量HTTP服务解耦模型运行时,JBoltAI则作为Java原生胶水层,提供响应式流支持、异常标准化与场景化参数预设。该方案广泛适用于金融风控、智能客服、工业预测等对数据主权与SLA敏感的生产场景,已成为Java团队落地‘模型即服务’(MaaS)的

chikuai9995的博客 444

micrometer-registry-prometheus-1.8.2-API文档-中文版.zip

赠送jar包:micrometer-registry-prometheus-1.8.2.jar 赠送原API文档:micrometer-registry-prometheus-1.8.2-javadoc.jar 赠送源代码:micrometer-registry-prometheus-1.8.2-sources.jar 包含翻译后的API文档:micrometer-registry-prometheus-1.8.2-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:io.micrometer,artifactId:micrometer-registry-prometheus,version:1.8.2 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

微信公众号开发实战:如何高效推送模板消息(附完整代码示例)

本文详细解析了微信公众号开发中模板消息推送的核心流程与实战技巧。文章从OpenID获取、模板申请、Access Token缓存管理到完整PHP代码实现,逐步拆解了高效推送模板消息的关键步骤,并提供了可直接复用的代码示例,帮助开发者快速集成这一提升用户体验的重要功能。

weixin_29009971的博客 794

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

m0_52031708的博客 3851

ST7789驱动实战:从SPI时序到RGB565显示的完整配置解析

本文详细解析了ST7789液晶驱动芯片的SPI时序配置与RGB565显示实现,从数据手册解读到代码实战,涵盖SPI接口配置、关键寄存器设置及完整初始化流程。通过优化DMA传输和常见问题排查,帮助开发者高效驱动ST7789显示屏,适用于嵌入式显示项目开发。

weixin_29162439的博客 184

使用PlotNeuralNet绘制深度学习网络图的基本操作

使用PlotNeuralNet绘制深度学习网络图的基本操作

weixin_46877907的博客 2111

GB28181协议实战:5分钟搞定海康摄像头SIP注册失败问题(附Wireshark抓包分析)

本文详细解析了海康摄像头在GB28181协议下SIP注册失败的7个关键原因及解决方案,包括网络可达性、鉴权参数、NAT穿越等核心问题。通过Wireshark抓包分析,提供快速定位方法,帮助工程师高效解决SIP注册失败问题,提升实时图像联调效率。

weixin_29212867的博客 556

【C++】小猫钓鱼纸牌游戏--C++实现

小猫钓鱼问题: 描述:初始,两个人各有n张牌(牌面0-10),顺序固定,只能按顺序出牌。然后,两个人轮流在桌面上以接龙的方式出牌,当某个人放置的牌在桌面上已经出现时,他收起相同牌面及其中间的牌作为自己的筹码,同时需要再放一张牌到桌面。某人手上的牌出完后,另一个人继续出,直到两人手上都没牌为止,输出结束时两个人手上的筹码数。 #include<iostream> using namespace std; struct queue { int head; //队列首 int tail; //

qq_41344430的博客 3202

「API取数」FDL获取金蝶云星空的单据数据

本文介绍了如何使用FDL实现金蝶云API取数以及如何有效应对复杂的API数据处理场景。

oOBubbleX的博客 2030

SAP生产订单技术性完成(TECO)操作指南与实战应用

生产订单技术关闭操作指南主要包括单笔和批量关闭两种方式,通过CO02/COHV事务码完成。

m0_47402127的博客 1932

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 关于Spring Cloud Gateway网关出现大量synchronoss-file-upload-1000031191618557455空文件夹的问题
下一篇: 有关Spring Boot中使用MongoDB的连接池的解惑,无需重写实现
幕紫
博客等级 码龄16年 56粉丝 32原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值