如何自定义Java探针挂载路径

更新时间:2025-03-17 03:15:50

背景

在标准部署场景中,ack-onepilot 组件会通过注入 JAVA_TOOL_OPTIONS 环境变量指定 Java 探针(Agent)的挂载路径。但在某些场景下,用户可能需要自定义探针挂载路径以满足特定需求:

  • 统一配置管理

    需通过 Kubernetes ConfigMap 集中管理探针路径,实现多环境配置一致性。

  • 持久化存储需求

    企业安全规范或运维要求将探针文件存储在自定义持久化卷(PVC)中。

版本依赖

自定义Java探针挂载路径对 ack-onepilot 与 Java 探针版本要求如下:

解决方案

重要

ack-onepilot组件由 MSE 和 ARMS 共用,因此自定义 Java 探针挂载路径对于 MSE 服务治理应用同样生效。

  1. 为需要自定义挂载Java探针的Kubernetes工作负载(如Kubernetes Deployment)添加disableJavaToolOptionsInjection注解。

    添加该注解后ack-onepilot组件将不会通过JAVA_TOOL_OPTIONS环境变量自动指定Java探针的挂载路径及其他JVM参数。

    1. 执行以下命令查看目标无状态(Deployment)应用的YAML文件。

      kubectl get deployment {deployment名称} -o yaml
      说明

      若您不清楚{deployment名称},请先执行以下命令查看所有无状态(Deployment)应用,在执行结果中找到目标无状态(Deployment)应用,再查看目标无状态(Deployment)应用的YAML文件。

      kubectl get deployments --all-namespace
    2. 启动编辑目标无状态(Deployment)应用的YAML文件。

      kubectl edit deployment {Deployment名称} -o yaml
    3. YAML文件中的spec.template.metadata层级下添加以下内容。

      labels:
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "<your-deployment-name>"    # 请将<your-deployment-name>替换为您的应用名称。
        disableJavaToolOptionsInjection: "true" # 如需自定义Java探针挂载路径,请将此开关设为true。
  2. 在您的应用启动脚本或Java启动命令中自行添加ARMS Java探针的挂载路径。

    其中,/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar为探针默认挂载路径,请将该路径替换为需要自定义挂载的路径。

    java -javaagent:/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar ... ... -jar xxx.jar

    其余的重要信息,如上报Region、上报License Key等信息将由ack-onepilot通过环境变量的方式注入。

  • 本页导读 (1)
  • 背景
  • 版本依赖
  • 解决方案
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等