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

如何禁用OpenTelemetry的JVM默认指标以仅获取自定义指标

如何禁用OpenTelemetry中的JVM默认指标

我来帮你解决这个问题!要移除那些不需要的JVM相关默认指标(比如你提到的process_runtime_jvm_memory_usage),可以根据你的部署方式选择对应的方法:

场景1:使用OpenTelemetry Java Agent

如果你的服务是通过Java Agent自动注入监控的,直接通过配置关闭JVM instrumentation即可,有几种方式:

  • 配置文件方式:在otel.properties里添加一行:

    otel.instrumentation.jvm.enabled=false
    
  • 环境变量方式:启动服务前设置环境变量:

    export OTEL_INSTRUMENTATION_JVM_ENABLED=false
    
  • JVM启动参数方式:把参数直接加在启动命令里:

    java -javaagent:opentelemetry-javaagent.jar -Dotel.instrumentation.jvm.enabled=false -jar your-service.jar
    

场景2:手动集成OpenTelemetry SDK

如果是自己在代码里配置SDK,分两种情况处理:

如果你手动注册了JVM指标

如果代码里有主动初始化JVM指标的代码(比如下面这样),直接删掉这部分就行:

// 移除这行,就不会生成JVM指标了
JvmMetrics.create().register();

如果用了自动配置SDK(opentelemetry-sdk-autoconfigure)

这种情况下和Java Agent的配置逻辑一样,通过参数或者环境变量禁用:

  • 在otel.properties中添加otel.instrumentation.jvm.enabled=false
  • 或者设置环境变量OTEL_INSTRUMENTATION_JVM_ENABLED=false

验证配置是否生效

重启服务后,查看你的指标输出,确认process_runtime_jvm_*系列的指标已经消失,就说明配置成功了。

内容的提问来源于stack exchange,提问作者Rahul Choudhary

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:37:27