为 Java 应用安装 ARMS 探针后,可查看应用拓扑、调用链路、异常事务、慢事务和 SQL 分析等监控数据。对于 Agent 等 LLM 应用,探针还可采集大模型调用次数、Token 使用量、Trace 数、会话数等 AI 业务指标。本文介绍如何为 Java 应用手动安装探针。
环境约束
网络要求:构建环境需能访问公网或阿里云内网,并开放 TCP 出方向端口:80、443、8080、8848、9092、9093、9990;
JDK 版本:支持 JDK 1.8、11、17 和 21;
内存要求:JVM 最大堆内存需大于 256 MB。
LLM 监控功能需使用 ARMS 探针 4.6.0 及以上版本。当前 LTS 版本(如 4.4.2)不支持该能力,须手动下载指定版本探针。
安装步骤
1、下载并解压探针
从 ARMS 控制台探针下载页获取 AliyunJavaAgent.zip(≥4.6.0),置于项目根目录。
在 Dockerfile 的运行阶段解压探针:
COPY AliyunJavaAgent.zip /tmp/AliyunJavaAgent.zip
RUN apk add --no-cache unzip && \
unzip /tmp/AliyunJavaAgent.zip -d /opt/ && \
rm -f /tmp/AliyunJavaAgent.zip2、配置ARMS环境变量
ARMS 探针运行需要以下三个环境变量:
ARMS_APP_NAME:ARMS 控制台中显示的应用名称;ARMS_LICENSE_KEY:应用接入凭证,可通过 列出LicenseKey获取;ARMS_REGION_ID:可观测数据上报的地域。
如需在不同应用中复用同一 Dockerfile,可在 AgentRun 控制台部署 Agent 时配置环境变量,无需在 Dockerfile 中硬编码。
3、启用探针
通过 JAVA_TOOL_OPTIONS 加载 Java Agent:
ENV JAVA_TOOL_OPTIONS="-javaagent:/opt/AliyunJavaAgent/aliyun-java-agent.jar"4、启动应用
在启动命令中通过系统属性传递配置:
ENTRYPOINT ["sh", "-c", "java -Darms.licenseKey=${ARMS_LICENSE_KEY} -Darms.appName=${ARMS_APP_NAME} -Daliyun.javaagent.profileId=${ARMS_REGION_ID} -jar app.jar"]若 ARMS_LICENSE_KEY 为空,探针将静默失效,不影响应用正常运行。
完整 Dockerfile 示例
部署与验证
构建并上传镜像
将包含探针的 Dockerfile 构建成镜像,并上传至容器镜像服务ACR或其他可访问的镜像仓库。
# 示例:将镜像上传至阿里云 ACR
# 1. 为镜像添加标签
docker tag {本地镜像TAG} registry.cn-hangzhou.aliyuncs.com/{您的ACR命名空间}/{您的ACR仓库名}:{镜像版本号}
# 2. 上传镜像
docker push registry.cn-hangzhou.aliyuncs.com/{您的ACR命名空间}/{您的ACR仓库名}:{镜像版本号}在 AgentRun中部署Agent并配置探针
登录AgentRun控制台,在 Agent 运行时页签下,点击创建 Agent。
选择通过代码创建,并填写 Agent名称 和 功能描述。
在代码配置部分,配置如下:
代码来源:选择容器镜像。
容器镜像实例、ACR 镜像仓库:选择您刚刚上传的镜像。
启动命令:若已在 Dockerfile 中通过
CMD配置,此处可留空。启动端口:填入您应用实际监听的端口,例如
8000。资源配置:根据需要为 Agent 分配CPU和内存。
配置探针环境变量(推荐):参考步骤2配置
ARMS_APP_NAME、ARMS_LICENSE_KEY、ARMS_REGION_ID三个环境变量。开启链路追踪:在高级配置中启用链路追踪开关。
警告如果链路追踪开关未开启,所有探针配置将不生效,应用无法上报监控数据。
点击开始部署。
验证探针状态
部署成功 1–2 分钟后,进入 Agent 详情页 → 可观测性页面,检查:
“概览”中是否出现请求数、LLM 调用次数、Token 使用量;
“Trace 列表”中是否包含
openai或dashscope的调用链。
参考资料
探针版本说明:探针(Java Agent)版本说明
探针支持的组件和框架:ARMS应用监控支持的Java组件和框架
探针性能开销数据:4.x版本Java探针性能压测报告