APM支持环境参数
更新时间:2025-10-28
背景
为区分不同环境应用,APM提供了环境变量筛选能力,本文档介绍如何在应用接入时注入环境参数和环境变量的应用
注入环境参数
java 语言
请参考java应用接入的整体流程,仅需调整步骤3中上报参数即可注入环境参数:
Shell
1-Dotel.resource.attributes=service.name=<serviceName>,env=<env>
2-Dotel.exporter.otlp.headers=Authentication=<Authentication>
3-Dotel.exporter.otlp.endpoint=<endpoint>
4-javaagent:<javaagent>
5-Dotel.logs.exporter=none
其中,其他参数按照原有说明填充后,再将 <env> 用预期的环境参数名称即可实现注入
go 语言
请参考go应用接入的整体流程,仅需调整步骤2中部分SDK初始化逻辑即可注入环境参数:
Go
1.... // 上面省略
2 r, err := resource.New(ctx, []resource.Option{
3 resource.WithAttributes(
4 attribute.KeyValue{Key: "service.name", Value: attribute.StringValue("<serviceName>")}, // <serviceName>替换为应用名
5 attribute.KeyValue{Key: "host.name", Value: attribute.StringValue("<hostName>")}, // <hostName>替换为IP地址
6 attribute.KeyValue{Key: "env", Value: attribute.StringValue("<env>")}, // <env>替换为预期的环境参数名称
7 ),
8 }...)
9... // 后面省略
在上述代码位置,其他参数按照原有说明填充后,再将 <env> 用预期的环境参数名称即可实现注入
python 语言
请参考python应用接入的整体流程,仅需调整步骤3中启动python应用命令即可注入环境参数:
Shell
1opentelemetry-instrument \
2--traces_exporter otlp \
3--metrics_exporter otlp \
4--service_name <serviceName> \
5--exporter_otlp_endpoint <endpoint> \
6--exporter_otlp_protocol http/protobuf \
7--exporter_otlp_headers Authentication=<Authentication> \
8--resource_attributes host.name=<hostName> \
9--resource_attributes env=<env> \
10python3 app.py
在上述启动命令中,其他参数按照原有说明填充后,再将 <env> 用预期的环境参数名称即可实现注入
使用环境变量筛选应用
在应用列表,全局拓扑等模块右上角进行环境变量筛选,即可根据环境变量筛选应用数据

