すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:ACK または ACS にデプロイされた Java アプリケーションに ARMS エージェントをインストールする

最終更新日:Jun 10, 2025

ack-onepilot をインストールすると、Application Real-Time Monitoring Service (ARMS) は、Container Service for Kubernetes (ACK) または Container Compute Service (ACS) にデプロイされた Java アプリケーションを監視します。 アプリケーション トポロジー、インターフェイス呼び出し、異常および低速なトランザクション数などのモニタリングデータを表示できます。 このトピックでは、ACK または ACS にデプロイされた Java アプリケーションに ARMS エージェントをインストールする方法について説明します。

ack-onepilot の概要

アプリケーション監視コンポーネント ack-onepilot は、さまざまな言語の ARMS エージェントをインストールするエージェントインストールアシスタントです。 コンテナー環境でデータをレポートするために、ARMS エージェント パッケージを自動的に準備し、エージェントの環境をセットアップします。 ack-onepilot の動作原理については、「ack-onepilot コンポーネントの動作原理」をご参照ください。

最適なユーザー エクスペリエンスを確保するために、ARMS エージェントをインストールした後、新しいエージェント バージョンがリリースされると、アプリケーションの再起動時に ack-onepilot コンポーネントがエージェントを最新バージョンに自動的に更新します。 新しいリリースごとにエージェントを自動的に更新したくない場合は、エージェントのバージョンを手動で制御できます。

重要

古いコンポーネント arms-pilot は、今後メンテナンスされません。 新しいコンポーネント ack-onepilot をインストールして、アプリケーションを監視できます。 ack-onepilot コンポーネントは arms-pilot と完全に互換性があります。 アプリケーション構成を変更することなく、ack-onepilot をシームレスにインストールできます。 詳細については、「arms-pilot をアンインストールして ack-onepilot をインストールするにはどうすればよいですか。」をご参照ください。

前提条件

手順

ACK にデプロイされたアプリケーションに ARMS エージェントをインストールする手順は、ACS にデプロイされたアプリケーションの手順と同じです。 以下では、ACK 環境を例として使用します。

ステップ 1: ack-onepilot をインストールする

  1. ACK コンソール にログインします。 [クラスター] ページで、クラスターの名前をクリックします。

  2. 左側のナビゲーションウィンドウで、[アドオン] をクリックします。 [アドオン] ページで、ack-onepilot を検索します。

  3. [ack-onepilot] カードの [インストール] をクリックします。

    説明

    デフォルトでは、ack-onepilot コンポーネントは 1,000 ポッドをサポートします。 クラスター内の追加の 1,000 ポッドごとに、コンポーネントに 0.5 CPU コアと 512 MB のメモリを追加する必要があります。

  4. 表示されたダイアログボックスで、パラメーターを構成し、[OK] をクリックします。 デフォルト値を使用することをお勧めします。

    説明

    ack-onepilot をインストールした後、[アドオン] ページで、ack-onepilot をスペックアップ、構成、またはアンインストールできます。

ステップ 2: ARMS リソースへのアクセス権限を付与する

ACK マネージドクラスター

ACK マネージドクラスター に ARMS Addon Token が存在しない場合は、次の手順を実行して、クラスターに ARMS へのアクセスを承認します。 ARMS Addon Token が存在する場合は、ステップ 3 に進みます。

クラスターに ARMS Addon Token が存在するかどうかを確認する

  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 [クラスター] ページで、クラスターの名前をクリックして、クラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[構成] > [シークレット] を選択します。 ページの上部にある [名前空間] ドロップダウン リストから kube-system を選択し、[シークレット] ページに addon.arms.token が表示されているかどうかを確認します。

説明

クラスターに ARMS Addon Token がある場合、ARMS はクラスターでパスワードなしの承認を実行します。 一部の ACK マネージドクラスターには、ARMS Addon Token が存在しない場合があります。 ARMS を使用してクラスター内のアプリケーションを監視する前に、ACK マネージドクラスターに ARMS Addon Token があるかどうかを確認することをお勧めします。 クラスターに ARMS Addon Token がない場合は、クラスターに ARMS へのアクセスを承認する必要があります。

権限ポリシーを手動で追加する

  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 [クラスター] ページで、クラスターの名前をクリックします。

  2. [クラスター情報] ページの [基本情報] タブで、[クラスター リソース] セクションの [ワーカー RAM ロール] の横にあるリンクをクリックします。

  3. 表示されたページで、[権限] タブの [権限の付与] をクリックします。

  4. [権限の付与] パネルで、次のポリシーを追加し、[権限の付与] をクリックします。

    • AliyunTracingAnalysisFullAccess: Managed Service for OpenTelemetry へのフルアクセス。

    • AliyunARMSFullAccess:ARMS へのフル アクセス。

ACK 専用クラスター/登録済みクラスター

ACK 専用クラスター または 登録済みクラスター にデプロイされたアプリケーションを監視するには、AliyunARMSFullAccess および AliyunSTSAssumeRoleAccess 権限が Resouce Access Management (RAM) ユーザーに付与されていることを確認してください。

ack-onepilot コンポーネントをインストールした後、ack-onepilot の構成ファイルにアカウントの AccessKey ID と AccessKey Secret を入力します。

方法 1: Hem に入力する

  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターをクリックします。 表示されたページの左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。 次に、ack-onepilot の横にある [更新] をクリックします。

  3. accessKeyaccessKeySecret をアカウントの AccessKey ID と AccessKey Secret に置き換え、[OK] をクリックします。

    説明

    AccessKey Secret は、Alibaba Cloud AccessKey ペアの最初の作成時にのみ表示され、その後は取得できません。 この設計により、リークのリスクが軽減されます。 シークレットはすぐに安全に保管してください。

    image

  4. デプロイメントを再起動します。

方法 2: Kubernetes シークレット経由でインポートする

  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターをクリックします。 表示されたページの左側のナビゲーションウィンドウで、[構成] > [シークレット] を選択します。

  3. [作成] をクリックします。 表示されたパネルで、[追加] をクリックし、ack-onepilot の AccessKey ID と AccessKey Secret を追加します。

    説明

    AccessKey Secret は、Alibaba Cloud AccessKey ペアの最初の作成時にのみ表示され、その後は取得できません。 この設計により、リークのリスクが軽減されます。 シークレットはすぐに安全に保管してください。

    image

  4. 左側のナビゲーションウィンドウで、[ワークロード] > [デプロイメント] を選択します。 表示されたページで、ack-onepilot コンポーネントをクリックします。 通常、ack-onepilot 名前空間では ack-onepilot-ack-onepilot という名前になっています。

  5. 表示されたページの右上隅にある [編集] をクリックします。

  6. [環境] セクションが表示されるまで下にスクロールします。 [追加] をクリックし、環境変数 ONE_PILOT_ACCESSKEYONE_PILOT_ACCESSKEY_SECRET を追加し、Kubernetes シークレットのシークレットを参照して、[OK] をクリックします。

    image

ASK/ECI クラスター

ACK Serverless (ASK) クラスター内のアプリケーション、または Elastic Container Instance に接続されている Kubernetes クラスター内のアプリケーションを監視するには、まず クラウド リソース アクセス承認 ページで、クラスターに ARMS へのアクセスを承認する必要があります。 その後、ack-onepilot コンポーネントがデプロイされているすべてのポッドを再起動します。

ステップ 3: アプリケーションのアプリケーション監視を有効にする

次の YAML テンプレートは、デプロイメントを作成し、アプリケーションのアプリケーション監視を有効にする方法を示しています。

YAML テンプレート

apiVersion: v1
kind: Namespace
metadata:
  name: arms-demo
---
apiVersion: apps/v1 # 1.8.0 より前のバージョンでは apps/v1beta1 を使用します
kind: Deployment
metadata:
  name: arms-springboot-demo
  namespace: arms-demo
  labels:
    app: arms-springboot-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: arms-springboot-demo
  template:
    metadata:
      labels:
        app: arms-springboot-demo
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo"
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
          imagePullPolicy: Always
          name: arms-springboot-demo
          env:
            - name: SELF_INVOKE_SWITCH
              value: "true"
            - name: COMPONENT_HOST
              value: "arms-demo-component"
            - name: COMPONENT_PORT
              value: "6666"
            - name: MYSQL_SERVICE_HOST
              value: "arms-demo-mysql"
            - name: MYSQL_SERVICE_PORT
              value: "3306"
---
apiVersion: apps/v1 
kind: Deployment
metadata:
  name: arms-springboot-demo-subcomponent
  namespace: arms-demo
  labels:
    app: arms-springboot-demo-subcomponent
spec:
  replicas: 2
  selector:
    matchLabels:
      app: arms-springboot-demo-subcomponent
  template:
    metadata:
      labels:
        app: arms-springboot-demo-subcomponent
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo-subcomponent"
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
          imagePullPolicy: Always
          name: arms-springboot-demo-subcomponent
          env:
            - name: SELF_INVOKE_SWITCH
              value: "false"
            - name: MYSQL_SERVICE_HOST
              value: "arms-demo-mysql"
            - name: MYSQL_SERVICE_PORT
              value: "3306"
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: arms-demo-component
  name: arms-demo-component
  namespace: arms-demo
spec:
  ports:
    # このサービスが提供する必要があるポート
    - name: arms-demo-component-svc
      port: 6666
      targetPort: 8888
  # このサービスのトラフィックを受信するために一致する必要があるラベルキーと値
  selector:
    app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1 # 1.8.0 より前のバージョンでは apps/v1beta1 を使用します
kind: Deployment
metadata:
  name: arms-demo-mysql
  namespace: arms-demo
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-demo-mysql:v0.1
          name: mysql
          ports:
            - containerPort: 3306
              name: mysql
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: mysql
  name: arms-demo-mysql
  namespace: arms-demo
spec:
  ports:
    # このサービスが提供する必要があるポート
    - name: arms-mysql-svc
      port: 3306
      targetPort: 3306
  # このサービスのトラフィックを受信するために一致する必要があるラベルキーと値
  selector:
    app: mysql
---
  1. ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイメント] を選択します。

  3. [デプロイメント] ページで、[アクション] 列の image > [YAML を編集] を選択します。

  4. YAML ファイルで、spec.template.metadata に次のラベルを追加します。

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<デプロイメント名>"    # <デプロイメント名> を実際のアプリケーション名に置き換えます。
      armsSecAutoEnable: "on"    # アプリケーションを Application Security に接続する場合は、このパラメータを構成する必要があります。
    説明

    YAML Example

  5. [更新] をクリックします。

  6. デプロイメント[デプロイメント] ページで、 列の image > [ARMS コンソール]アクション を選択して、アプリケーション監視の詳細を表示します。

    image.png

よくある質問