为Java应用安装探针后,ARMS即可开始监控Java应用,您可以查看应用拓扑、调用链路、异常事务、慢事务和SQL分析等一系列监控数据。对于 Agent 等 LLM 应用,ARMS 探针还提供了Agent的大模型调用次数、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:应用接入凭证,可通过 DescribeTraceLicenseKey - 列出LicenseKey获取。
方式一:直接在 Dockerfile 中配置环境变量,并在启动命令中引入
# Dockerfile
# 阶段一:应用jar包构建
# ......
# 阶段二:应用运行配置
# 其他逻辑.....
# 配置 ARMS 环境变量
ENV ARMS_LICENSE_KEY="hc4fs****@********"
ENV ARMS_APP_NAME={AppName}方式二(推荐):如果您希望在不同应用中重用 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} -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名称 和 功能描述。
在代码配置部分,配置如下:
代码来源:选择容器镜像。
容器镜像实例、镜像仓库:选择您刚刚上传的镜像。
启动命令:若已在 Dockerfile 中通过
CMD配置,此处可留空。启动端口:填入您应用实际监听的端口,例如
8000。资源配置:根据需要为 Agent 分配CPU和内存。
配置探针环境变量(推荐):参考步骤2配置ARMS探针所需环境变量。
开启链路追踪
在高级配置中,找到并务必启用链路追踪开关。如果此开关关闭,所有探针配置将不会生效,应用无法上报任何监控数据。
点击开始部署。
验证探针状态
部署成功 1–2 分钟后,进入 Agent 详情页 → 可观测性页面,检查:
“概览”中是否出现请求数、LLM 调用次数、Token 使用量;
“Trace 列表”中是否包含
openai或dashscope的调用链。
参考资料
探针版本说明请参考:探针(Java Agent)版本说明
探针支持的组件和框架可以参考:ARMS应用监控支持的Java组件和框架
探针性能开销数据可参考:4.x版本Java探针性能压测报告