站长网 安全 用了很多年Dubbo,连Dubbo线程池监控都不明白

用了很多年Dubbo,连Dubbo线程池监控都不明白

micrometer 中自带了很多其他框架的指标信息,可以很方便的通过 prometheus 进行采集和监控,常用的有 JVM 的信息,Http 请求的信息,Tomcat 线程的信息等。 对于一些比较活跃的框架,有些还是不支持的,比如 Dubbo。如果想监控 Dubbo 的一些指标,比如线

micrometer 中自带了很多其他框架的指标信息,可以很方便的通过 prometheus 进行采集和监控,常用的有 JVM 的信息,Http 请求的信息,Tomcat 线程的信息等。

对于一些比较活跃的框架,有些还是不支持的,比如 Dubbo。如果想监控 Dubbo 的一些指标,比如线程池的状况,我们需要手动去扩展,输出对应的线程池指标才行。

在这种情况下,肯定是没什么思路的,因为你不知道怎么去扩展,下面给大家介绍去做一件事情之前的思考,方式方法很重要。

Dubbo 有没有现成的实现?

参考 micrometer 中指标的实现,依葫芦画瓢?

Dubbo 有没有现成的实现?

完整的实现应该没有,至少我还没用过,也没有那种去搜索引擎一搜就大把结果的现状,于是我在 Dubbo 的 Github 上找到了一个相关的项目 dubbo-spring-boot-actuator。

dubbo-spring-boot-actuator 看名称就知道,提供了 Dubbo 相关的各种信息端点和健康检查。从这里面也许能发现点有用的代码。

果不其然,在介绍页面中看到了想要的内容,线程池的指标数据,只不过是拼接成了字符串显示而已。

"threadpool": { 

      "source": "management.health.dubbo.status.extras", 

      "status": { 

        "level": "OK", 

        "message": "Pool status:OK, max:200, core:200, largest:0, active:0, task:0, service port: 12345", 

        "description": null 

      } 

然后就去翻 dubbo-spring-boot-actuator 的代码了,没找到线程池这块的代码。后面在 dubbo.jar 中找到了 ThreadPoolStatusChecker 这个类,核心逻辑在这里面。现在已经解决了第一个问题,就是获取到 Dubbo 的线程池对象。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/fuwuqi/anquan/2021/0601/8537.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部