You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Micrometer后无法找到文件描述符使用率指标问题

问题排查及解决方法

基础规则确认

  • 文件描述符相关指标仅在Unix系系统(含Linux、macOS)下生效,Windows环境无法采集属于正常情况,无需额外排查。
  • 该指标无需额外引入依赖,Spring Boot 2.x自带的spring-boot-starter-actuator已经包含了micrometer-core核心包,默认会自动加载FileDescriptorMetrics指标采集器。
  • Micrometer侧的原生指标分为两个,无直接的使用率指标:
    • process.files.open:进程当前已打开的文件描述符数量
    • process.files.max:进程允许打开的最大文件描述符数量
      使用率可通过 process.files.open / process.files.max 自行计算得到。

Docker Linux环境下无指标排查步骤

第一步:确认Micrometer侧是否正常生成指标

开启Spring Boot Actuator的metrics端点,直接访问服务的/actuator/metrics/process.files.open接口,若接口返回404说明指标未在Micrometer中注册,可按以下两个方向排查:

  • 检查Docker镜像使用的JDK版本:部分精简版JRE镜像(如openjdk-jre-slim)裁剪了Unix系统文件描述符的读取接口,替换为完整的OpenJDK或Eclipse Temurin镜像即可解决。
  • 手动注册指标采集器:添加如下配置类强制加载文件描述符指标:
@Configuration
public class MetricsConfig {
    @Bean
    public FileDescriptorMetrics fileDescriptorMetrics() {
        return new FileDescriptorMetrics();
    }
}

第二步:确认Elastic APM Agent是否漏采指标

如果Actuator端点能正常返回指标数值,说明是Elastic APM Agent的采集过滤规则导致指标丢失,可做以下配置调整:

  • 新增JVM启动参数,明确放开process.files类指标的采集规则:-Delastic.apm.metrics.include_micrometer_metrics=process.files.*
  • 升级Elastic APM Agent到7.10及以上版本,低版本对Micrometer系统类指标的适配存在缺陷,会出现漏采问题。

内容的提问来源于stack exchange,提问作者Vincent F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 19:45:01