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

如何在Mac上通过opentelemetry-java-instrumentation将Collector作为代理启动

OpenTelemetry Collector Mac 环境部署指南

是否需要本地构建Collector?

不需要手动编译构建,Mac系统下可直接通过预编译版本快速安装使用。

安装Collector

推荐优先使用Homebrew包管理器安装,操作最简单:

  • 执行安装命令:brew install open-telemetry/opentelemetry-collector/otelcol
  • 安装完成后执行otelcol --version,输出版本号即说明安装成功

如果不想用Homebrew,也可以直接下载对应Darwin架构的官方预编译二进制包,解压后即可直接调用。

基础配置(适配Java Instrumentation代理)

Java Instrumentation代理默认通过OTLP gRPC协议向4317端口发送数据,你可以使用如下最小配置完成适配,新建config.yaml文件:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  logging:
    loglevel: info

service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [logging]
    metrics:
      receivers: [otlp]
      exporters: [logging]
    logs:
      receivers: [otlp]
      exporters: [logging]

该配置会让Collector接收4317端口的OTLP数据,并且将所有采集到的数据打印到日志中,适合测试验证使用。如果需要导出到Jaeger、Prometheus等其他观测后端,只需修改exporters部分添加对应配置即可。

同步启动Collector和Java应用

开发测试场景临时启动

  • 先在一个终端窗口启动Collector:otelcol --config ./config.yaml
  • 保持该窗口运行,另开终端窗口启动你的Java应用,挂载javaagent即可:java -javaagent:替换为你的opentelemetry-javaagent.jar路径 -jar 你的应用jar包路径.jar

单脚本同步启动

可以写一个一键启动脚本,省去多窗口操作,新建start-with-otel.sh:

#!/bin/bash
# 后台启动Collector,日志输出到otelcol.log文件
nohup otelcol --config ./config.yaml > otelcol.log 2>&1 &
# 启动Java应用
java -javaagent:替换为你的opentelemetry-javaagent.jar路径 -jar 你的应用jar包路径.jar

给脚本添加执行权限:chmod +x start-with-otel.sh,后续直接执行./start-with-otel.sh即可同步启动两个组件。

长期使用配置自动启动

如果不需要每次都手动启动Collector,可以用Homebrew服务管理配置开机自启:

  • 执行命令:brew services start otelcol
  • 配置后Collector会在开机时自动后台运行,启动Java应用时无需额外操作即可正常上报数据。

连通性验证

启动应用后,查看Collector的控制台输出或者otelcol.log日志,能看到上报的链路、指标数据即说明配置正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:57:03