阿里云ARMS对dubbo线程池的监控是不是支持的不怎么好?用了cache类型的线程池,都看不到dubbo的线程池了
默认的线程池就能看到
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云ARMS应用实时监控服务(ARMS)对Dubbo线程池的监控支持是明确的,但需要满足一定的前提条件和配置要求。如果在使用过程中发现Dubbo线程池监控数据缺失,可能是由于以下原因导致的:
ARMS对线程池和连接池的监控功能依赖于探针版本。根据知识库资料: - 仅专家版支持线程池和连接池监控功能。 - 2.7.1.3之前版本的Agent暂不支持线程池和连接池监控,需要升级至2.7.1.3或以上版本。 - 2.7.3.5及以上版本Agent默认已开启线程池和连接池监控,而2.7.1.3到2.7.3.5之间的版本需要手动开启。
建议操作: - 检查当前使用的探针版本是否符合要求。如果版本低于2.7.1.3,请升级至最新版本。 - 如果版本在2.7.1.3到2.7.3.5之间,需手动开启线程池和连接池监控功能。
即使探针版本符合要求,线程池监控功能也需要手动开启。具体步骤如下: 1. 登录ARMS控制台,在左侧导航栏选择应用监控 > 应用列表。 2. 在应用列表页面顶部选择目标地域,然后单击目标应用名称。 3. 在左侧导航栏单击应用设置。 4. 在自定义配置页签下的池化监控配置区域,打开线程池、连接池监控的开关。
重要提醒: - 如果未开启此开关,即使探针版本符合要求,也无法采集线程池相关指标。
ARMS支持多种线程池框架,包括Dubbo线程池。根据知识库资料: - 4.1.x及以上探针版本支持java.util.ThreadPoolExecutor
,该类通常用于Tomcat、Dubbo、HSF等框架的线程池。 - 4.1.x以下探针版本也支持Dubbo线程池,但可能对某些特定版本的线程池支持有限。
关于Cache类型的线程池: - ARMS默认支持的线程池类型为ThreadPoolExecutor
,而Dubbo中使用的Cache
类型线程池可能不在默认支持范围内。 - 如果使用了非标准的线程池类型(如Cache
),需要确认探针是否能够正确识别并采集其指标。
建议操作: - 确认Dubbo线程池的具体实现类型。如果是Cache
类型线程池,可能需要通过自定义配置来适配监控。 - 在线程池线程名模式提取策略中调整线程名模板提取规则,确保不同线程池能够被正确区分。
ARMS允许用户通过过滤规则排除某些线程池的监控数据。如果Dubbo线程池被误过滤,可能导致监控数据缺失。相关配置包括: - 线程池使用场景过滤:可以按使用场景(如Tomcat、Dubbo等)过滤线程池。 - 线程池线程名模式过滤:可以按线程名模式过滤线程池。
建议操作: - 检查池化监控配置中的过滤规则,确保未将Dubbo线程池误过滤。
ARMS对Dubbo线程池的监控支持以下指标: - 核心线程数(arms_thread_pool_core_pool_size
) - 最大线程数(arms_thread_pool_max_pool_size
) - 活跃线程数(arms_thread_pool_active_thread_count
) - 当前线程数(arms_thread_pool_current_thread_count
) - 线程池任务队列大小(arms_thread_pool_queue_size
)
如果这些指标未显示,可能是由于上述配置问题或线程池类型不匹配导致的。
Cache
类型线程池,可能需要调整线程名模板提取策略。通过以上步骤,您应该能够解决Dubbo线程池监控数据缺失的问题。如果问题仍然存在,建议联系阿里云技术支持以获取进一步帮助。
云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。