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

实用,DynamicTP进阶之数据采集与告警

01 引言

上一节介绍了dynamictp的基本入门,入门之后的可能 还会有困惑。到底怎么使用呢?

这一节,我们将介绍一下dynamictp的如何采集以及通知。

02 数据采集

目前框架提供了五种监控数据采集方式,通过 collectorTypes 属性配置监控指标采集类型,默认 Micrometer。

  • Logging:线程池指标数据会以 Json 格式输出到指定的日志文件里
  • Internal_logging:线程池指标数据会以 Json 格式输出到项目日志文件里
  • Micrometer:采用监控门面,通过引入相关 Micrometer 依赖采集到相应的存储平台里(如 Prometheus,InfluxDb…)
  • Endpoint:暴露 Endpoint 端点,可以通过 http 方式实时获取指标数据
  • JMX:通过 JMX 方式采集指标数据,来监视线程池的性能指标

官方提供了两个直接可以对接的监控:

  • grafana监控
  • HertzBeat监控

另外框架还提供了自定义采集器。我们将以自定义采集器为例。

2.1 自定义采集

自定义采集需要继承org.dromara.dynamictp.core.monitor.collector.AbstractCollector抽象类,并实现 type() 和 collect() 方法即可。

@Slf4jpublicclassCollectCollectorextendsAbstractCollector{@Overridepublicvoidcollect(ThreadPoolStatspoolStats){System.out.println("-------------------------------------------------");log.info("Collecting thread pool stats: {}",poolStats.toString());}@OverridepublicStringtype(){return"test";}}

其中type()就是自定义的采集类型。

2.2 SPI配置

自定义采集采用的是SPI配置,需要在resources/META-INF/services 下配置:

  • 文件名:固定类型

    org.dromara.dynamictp.core.monitor.collector.MetricsCollector

  • 文件值:定义的采集器

    com.simonking.ws.boot.dynamictp.controller.CollectCollector

2.3 配置文件配置

需要配置采集的类型:test

dynamictp:enabled:trueenabledCollect:truecollectorTypes:testmonitorInterval:5

2.4 测试

我们可以看到每隔5s采集一次。

03 报警通知

报警通知是业务最常用的手段,框架支持的类型包括:

  • change:线程池核心参数变更通知
  • liveness:线程池活性通知
  • capacity:队列容量使用率通知
  • reject:触发任务拒绝告警
  • run_timeout:任务执行超时告警
  • queue_timeout:任务排队超时告警

我们来模拟一下任务执行超时告警(run_timeout),然后通过邮件通知。

3.1 依赖引入

<dependency><groupId>org.dromara.dynamictp</groupId><artifactId>dynamic-tp-spring-boot-starter-extension-notify-email</artifactId><version>1.2.2-x</version></dependency>

3.2 配置

spring:application:name:boot-dynamictp# email notify configurationmail:host:smtp.163.comport:465username:wsapplyjob@163.compassword:******default-encoding:UTF-8properties:mail:smtp:socketFactoryClass:javax.net.ssl.SSLSocketFactoryssl:enable:true# 暴露 actuator 端点,用于查看线程池监控management:endpoints:web:exposure:include:"*"# DynamicTp 无配置中心模式(本地配置文件,无动态调参,支持监控告警)dynamictp:enabled:trueenabledCollect:truecollectorTypes:testmonitorInterval:5# 线程池配置executors:-threadPoolName:dtpExecutor1threadPoolAliasName:测试线程池executorType:commoncorePoolSize:1maximumPoolSize:2queueCapacity:200queueType:VariableLinkedBlockingQueuerejectedHandlerType:CallerRunsPolicykeepAliveTime:60threadNamePrefix:dtp-test# 设置超时的阈值runTimeout:1000notifyItems:-type:run_timeoutcount:1period:5silencePeriod:0platforms:# 通知平台-platform:emailplatformId:1receivers:sh9527@qq.com

这主要的配置如图:

3.3 测试demo

3.4 启动测试

我们可以看到已经触发了超时的阈值。我们看看有没有收到邮件。

04 小结

日志的采集和通知介绍完了,但是细想一下似乎还有问题。生产环境基本都是多节点部署,采集和通知可能出现重复的问题,这种又该如何解决呢?可能一个配置就可以搞定,有兴趣的可以了解一下。

http://www.jsqmd.com/news/987427/

相关文章:

  • 海口黄金回收避坑实测篇|本地卖金正规辨别技巧与机构实测 - 薛定谔的梨花猫
  • 3步实现抖音无水印批量下载:douyin-downloader开源工具全解析
  • 精工铸标杆 引领中国厨房水槽品质升级 - 玖叁鹿
  • 2026东莞环保公司优质厂家推荐|东莞环保公司排行榜5强
  • 免费通达信数据接口:Python金融分析的终极解决方案
  • COM3D2女仆调校器:实时修改游戏角色属性的终极解决方案
  • AI生成FPGA代码为何难实现真并行
  • 长沙卖黄金避坑实录:这 4 大套路最常见,这样做没人能坑你 - 奢侈品回收测评
  • 2026钦州防水补漏哪家靠谱?正规公司排名及避坑价格指南 - 苏易修缮
  • 金狮悠闲服,在家舒服、出门体面,2026新风尚~!
  • 2026年整厂设备回收与二手工厂设备处置TOP榜单:涵盖机床冲床、工控化学及自动化设备回收公司的优质口碑推荐 - 品牌发掘
  • 随机访问(Random Access)
  • 如何确认你的手机是否使用软陀螺
  • 如何用大角几何 MCP 保存和复用几何项目?
  • 抖音批量下载终极指南:告别水印,轻松获取高清素材
  • 想转行AI?这4个热门大模型赛道,小白也能入局!收藏这份超全指南
  • 北京出手黄金首饰指南:2026 奢二网免费上门当面验金交易安全 - 讯息早知道
  • 2026 哈尔滨黄金首饰回收排行:奢二网资质齐全本地商家实力第一 - 讯息早知道
  • 海口黄金回收机构综合实力排名 本地出手贵金属实用参考 - 薛定谔的梨花猫
  • 【JAVA毕设源码分享】基于springboot综合性旅游服务系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 卡诺图(Karnaugh Map)详解
  • 中式水墨公众号排版模板推荐:新手直接套用 - 一串葡萄
  • 科研领域 AI 技术发展:赋能科学计算的实践分析
  • tox:Python 项目的测试与构建自动化工具
  • 抖音音频提取终极指南:免费开源工具5分钟搞定高效音乐素材收集
  • 2026年护颈枕头实力甄选:九大品牌贴心推荐 - 每日行业榜
  • 橡胶材料Abaqus有限元分析有哪些关键要点
  • 盘点3类市面上进口清关企业口碑 选错踩坑真的太糟心
  • iOS 27 开发者测试版安装与降级完整教程
  • Geek Uninstaller下载免费版|电脑强力卸载神器,彻底清理软件残留