APM支持环境参数
更新时间:2026-07-08
背景
为区分不同环境应用,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 初始化逻辑即可注入环境参数:
Plain Text
11.... // 上面省略
22 r, err := resource.New(ctx, []resource.Option{
33 resource.WithAttributes(
44 attribute.KeyValue{Key: "service.name", Value: attribute.StringValue("<serviceName>")}, // <serviceName>替换为应用名
55 attribute.KeyValue{Key: "host.name", Value: attribute.StringValue("<hostName>")}, // <hostName>替换为IP地址
66 attribute.KeyValue{Key: "env", Value: attribute.StringValue("<env>")}, // <env>替换为预期的环境参数名称
77 ),
88 }...)
99... // 后面省略
在上述代码位置,其他参数按照原有说明填充后,将 <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> \
10 python3 app.py
在上述启动命令中,其他参数按照原有说明填充后,将 <env> 替换为预期的环境参数名称即可实现注入。
使用环境变量筛选应用
应用接入并上报 env 资源属性后,可在应用列表、全局拓扑等支持环境变量筛选的模块中,根据环境变量筛选应用数据。需要查看全部环境时,选择全部环境。

评价此篇文章
