You need to enable JavaScript to run this app.
文档中心
应用性能监控全链路版

应用性能监控全链路版

复制全文
下载 pdf
接入指南
其他语言应用接入
复制全文
下载 pdf
其他语言应用接入
本文介绍除了Java、Go、Python之外的其他语言开发的应用,通过开源产品接入APMPlus。
通过OpenTelemetry接入
OpenTelemetry是CNCF的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方vendor无关的服务。接入APMPlus后,您将获得RED指标生成能力、Trace多维检索、单链路检索、拓扑生成等多项APMPlus能力。
说明
如果您需要隔离生产和测试数据,请参见将生产和测试数据隔离
使用限制
  • 其中,APMPlus采用Prometheus作为OpenTelemetry Metrics的存储,支持promql对metrics进行查询,具体应用请参见自定义看板报警管理
  • OpenTelemetry Metrics转换为Prometheus Metrics时,存在一定限制:
  • 不支持聚合方式为delta的数据。请不要修改SDK侧的默认聚合配置,保证SDK侧数据的聚合方式为cumulative。
  • 工作区拥有独立的数据上报凭证,如需使用工作区进行数据管理和数据隔离,请确保 apmplus-opentelemetry-collector 组件已经升级至 v3.1.0 及以上版本。
Collector采集
SDK将数据上报到Collector,Collector采集数据上报到APM服务端。
  1. 配置应用,开启数据上报。
  1. 下载OpenTelemetryJavaAgent。
  • wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
  1. 修改应用启动参数,设置javaagent和otel.service.name,示例如下:
  • java -javaagent:<path/to/opentelemetry-javaagent.jar> \
    -Dotel.exporter.otlp.endpoint=<your-ot-collector-endpoint> \
    -Dotel.exporter.otlp.protocol=<your-ot-collector-protocol> \
    -Dotel.service.name=java-opentelemetry-otlp-instrumentation \
    -jar myapp.jar
  1. 配置collector,修改上报端点。
  • 进入接入中心,选择其他 > OpenTelemetry > Collector,获取如下配置。需要区分您的开服区域(region)与网络接入方式(network),appkey是用户的唯一标识。
  • exporters:
    otlp:
    endpoint: apmplus-{region}.volces.com:4317
    compression: gzip
    headers:
    X-ByteAPM-AppKey: {appkey}
    tls:
    insecure: true
说明
完整配置命令请到接入中心查看,详情请参见如何使用接入中心?
  1. 重新启动应用。
SDK采集
SDK采集数据,直接上报到APM服务端。
  1. 配置应用,开启数据上报。
  1. 下载OpenTelemetryJavaAgent。
  • wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar
  1. 修改应用启动参数,设置javaagent和otel.service.name,示例如下:
  • java -javaagent:<path/to/opentelemetry-javaagent.jar> \
    -Dotel.exporter.otlp.endpoint=apmplus-grpc.volces.com:443 \
    -Dotel.exporter.otlp.headers=X-ByteAPM-AppKey={appkey} \
    -Dotel.exporter.otlp.protocol=grpc \
    -Dotel.service.name=java-opentelemetry-otlp-instrumentation \
    -jar myapp.jar
说明
完整配置命令请到接入中心查看,详情请参见如何使用接入中心?
  1. 重新启动应用。
通过Prometheus接入
Prometheus是一个最初由SoundCloud建设的开源监控和报警系统,目前已经是一个独立的开源项目,并且于2016年加入CNCF,成为CNCF的第二个项目。
您可以使用Prometheus满足对于自定义打点的需求,APMPlus目前通过OpenTelemetry的PrometheusReciever二次开发了,基于K8s和主机部署的数据采集器,您可以通过安装APMPlus数据采集器,实现对于PrometheusSDK打点的收集,并存储到APMPlus,用于满足后续看板和报警等相关诉求。
容器部署
如果您的应用是基于Kubernetes集群部署,请参见以下步骤安装APM数据采集器,接入APM服务端。
  1. 安装APMPlus OpenTelemetryCollector。
  • 进入接入中心,选择其他 > Prometheus > 容器部署,获取如下配置。需要区分您的开服区域(region)与网络接入方式(network),appkey是用户的唯一标识。
  • kubectl apply -f "https://apmplus.volcbiz.com/server_warehouse/generate_assets/download/apmplus-opentelemetry-k8s/apmplus-opentelemetry-operator-v0.0.17.yaml?appkey={appkey}&promReplicas=1"
说明
完整安装命令请到接入中心查看,详情请参见如何使用接入中心?
  1. 配置应用,开启数据打点。
  1. 在K8S场景下,支持通过pod annotation进行服务发现,通过配置注解实现服务发现。
  • apiVersion: apps/v1
    kind: Deployment
    ...
    spec:
    ...
    template:
    metadata:
    annotations:
    prometheus.io/path: /metrics # your path
    prometheus.io/port: "30002" # your port
    prometheus.io/scrape: "true"
  1. 重新启动应用。
主机部署
如果您的应用是基于虚拟机或者物理机部署,请参见以下步骤安装APMPlus数据采集器,接入APMPlus服务端。
  1. 安装APMPlus OpenTelemetryCollector。
  • 进入接入中心,选择其他 > Prometheus > 主机部署,获取如下配置。需要区分您的开服区域(region),appkey是用户的唯一标识。
  • 若通过公网安装,示例代码如下:
  • bash -c "$(curl -L 'https://apmplus-dl-{region}.volces.com/server_warehouse/generate_assets/download/apmplus-opentelemetry-ecs/install-otel_0.0.9.sh?appkey={appkey}&network=public')"
  • 通过私网安装,示例代码如下:
  • bash -c "$(curl -L 'http://apmplus-dl-{region}.ivolces.com/server_warehouse/generate_assets/download/apmplus-opentelemetry-ecs/install-otel_0.0.9.sh?appkey={appkey}&network=private')"
说明
完整安装命令请到接入中心查看,详情请参见如何使用接入中心?
  1. 配置应用,开启数据打点。
  1. 在ECS场景下,支持通过文件进行服务发现,配置文件地址为/usr/local/apmplus-opentelemetry-collector/targets.json
  • [
    {
    "targets": [
    "localhost:8888"
    ]
    }
    ]
  1. 重新启动应用。
通过Jaeger接入
Jaeger是一款由Uber研发的开源分布式链路追踪系统。
对于已经集成Jaeger的已有系统,可以将已有的通过Jaeger进行配置的应用的Trace数据上报到APMPlus,完成整体的全链路监控能力。接入APMPlus后,您将获得RED指标生成能力、Trace多维检索、单链路检索、拓扑生成等多项APMPlus能力。
JaegerAgent接入
SDK将数据上报到Agent,Agent将数据上报到APMPlus服务端。
  1. 配置应用,开启数据采集。
  • 通过UDP将Trace数据发送到Agent。具体请参见jaeger文档
  1. 配置Agent,修改上报端点。
  1. 修改jaeger-agent启动参数,配置示例如下:
  • ./jaeger-agent --reporter.grpc.host-port=apmplus-grpc.volces.com:443 \
    --reporter.grpc.tls.enabled=true \
    --agent.tags=app_key={appkey}
说明
完整配置命令请到接入中心查看,详情请参见如何使用接入中心?
  1. 重新启动应用。
SDK直接上报
SDK采集数据,直接上报到APMPlus服务端。
  1. 配置应用,开启数据采集。
  1. 获取jaeger http_thrift上报端点。
  • https://apmplus-{region}.volces.com/server_collect/third_party/jaeger/v2/{appkey}/api/trace
  1. 重新启动应用。
通过Zipkin接入
Zipkin是一款由Twitter开源的分布式链路追踪系统,通过zipkin可以帮助用户实现对trace数据的收集。
对于已经集成Zipkin的已有系统,可以将已有的通过Zipkin进行配置的应用的Trace数据上报到APMPlus,完成整体的全链路监控能力。接入APMPlus后,您将获得RED指标生成能力、Trace多维检索、单链路检索、拓扑生成等多项APMPlus能力。
SDK直接上报
SDK采集数据,直接上报到APMPlus服务端。
  1. 配置应用,开启数据上报。
  1. 获取zipkin上报点。
  • https://apmplus-{region}.volces.com/server_collect/third_party/zipkin/v2/{appkey}/api/v2/spans
  1. 接入服务并配置上报点。具体请参见zipkin示例代码
  1. 重新启动应用。
通过SkyWalking接入
SkyWalking Agent采集数据,直接上报到APMPlus服务端。当前支持SkyWalking Trace、Meter、Log、JVM、CLR数据接入。
SDK直接上报
  1. 获取SkyWalking grpc上报端点。
  • skywalking.collector.backend_service=apmplus-{region}.ivolces.com:4317
  1. 获取authentication用户标识。
  • skywalking.agent.authentication={appkey}
  1. 配置应用,开启数据上报。具体请参见SkyWalking文档
  1. 重新启动应用。
  1. 验证数据上报。
  • Trace接入后,可以查看拓扑图、Trace分析、服务详情等数据。
  • Meter接入后,可在自定义指标中查看打点。
  • Log接入后,可以查看日志。
  • JVM、CLR接入后,可以在自定义指标中查看形如"skywalking_jvm_*"和"skywalking_clr_*"的指标。
最近更新时间:2026.06.09 14:58:55
这个页面对您有帮助吗?
有用
有用
无用
无用