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

:アプリケーションを手動でアプリケーションモニタリング eBPF 版に接続

最終更新日:Dec 25, 2025

Alibaba Cloud アプリケーションモニタリング eBPF 版は、Kubernetes クラスター向けのオールインワンの可観測性プロダクトです。Kubernetes クラスターにアプリケーションモニタリング eBPF 版コンポーネントを手動でインストールすると、そのメトリック、アプリケーショントレース、ログ、イベントを表示できます。

前提条件

説明

アプリケーションモニタリング eBPF 版はパブリックプレビュー中です。パブリックプレビュー期間中は、Alibaba Cloud アプリケーションモニタリング eBPF 版を無料でご利用いただけます。ご不明な点がございましたら、アプリケーションモニタリング eBPF 版のサポート DingTalk グループ (グループ ID: 35568145) にご参加ください。

接続手順

Kubernetes クラスターをアプリケーションモニタリング eBPF 版に接続するには、クラスターにeBPF 版コンポーネントをインストールする必要があります。

インストールする前に、ターゲットクラスターに ARMS Addon トークンがあるかどうかを確認します。ARMS Addon トークンが存在する場合、ARMS はパスワードレス認証を実行し、コンポーネントのインストール後にeBPF 版を使用できます。ARMS Addon トークンが存在しない場合、権限エラーが発生します。この場合、ARMS と Tracing Analysis のアクセスポリシーを手動で追加する必要があります。以下のセクションでは、ARMS Addon トークンの確認方法とアクセスポリシーの手動追加方法について説明します。

クラスター内の ARMS Addon トークンの存在確認

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

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

権限ポリシーの手動追加

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

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

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

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

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

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

説明
  • ACK マネージドクラスター:一部の ACK マネージドクラスターには ARMS Addon トークンがない場合があります。これらのクラスターでは、まず ARMS Addon トークンが存在するかどうかを確認する必要があります。存在しない場合は、手動で権限を付与する必要があります。

  • ACK 専用クラスター:デフォルトでは、ACK 専用クラスターは ARMS Addon トークンをサポートしていません。したがって、手動で権限を付与する必要があります。

アプリケーションモニタリング eBPF 版コンポーネントのインストール

既存のアプリケーションへのコンポーネントのインストール

お使いのアプリケーションにApplication Monitoring eBPF エディション コンポーネントがすでにインストールされている場合は、Container Service 管理コンソールで、ターゲットクラスターの[運用] > [アドオン] ページに移動します。 このページで、ack-arms-cmonitor コンポーネントのバージョンが 4.0.0 以降であるかどうかを確認します。 そうでない場合は、[アップグレード] をクリックしてコンポーネントを最新バージョンにアップグレードします。

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

  2. 左側のナビゲーションウィンドウで、[運用管理] > [クラスタートポロジー] を選択します。

  3. [クラスタートポロジー] ページで、[インストール開始] をクリックします。ACK コンソールは自動的にeBPF 版コンポーネントをインストールします。

    説明

    デフォルトの名前空間は arms-prom です。

  4. ACK 専用クラスターを使用する場合は、AccessKey ペアの構成を更新します。

    1. 左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。

    2. `arms-cmonitor` を見つけて [更新] をクリックします。accessKeyaccessKeySecret を Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret に設定します。詳細については、「AccessKey ペアの取得」をご参照ください。

      重要

      Alibaba Cloud アカウントに AliyunARMSFullAccess および AliyunSTSAssumeRoleAccess 権限があることを確認してください。

    3. [OK] をクリックします。

アプリケーション作成時のコンポーネントのインストール

  1. Container Service for Kubernetes (ACK) コンソールにログインします。[クラスター] ページで、ターゲットクラスターを見つけます。[アクション] 列で、[アプリケーション管理] をクリックします。

  2. [ステートレス] ページで、[YAML で作成] をクリックします。

  3. [サンプルテンプレート] を選択します。YAML 形式の [テンプレート] フィールドで、spec.template.metadata レベルの下に次の labels を追加します。

    labels:
      armseBPFAutoEnable: "on"
      armseBPFCreateAppName: "<your-deployment-name>"    # <your-deployment-name> をお使いのアプリケーション名に置き換えます。

    次のコードは、ステートレス (Deployment) アプリケーションを作成し、ARMS アプリケーションモニタリング eBPF 版を有効にするための完全なサンプル YAML テンプレートです。

    完全なサンプル YAML ファイルを展開して表示

    apiVersion: v1
    kind: Namespace
    metadata:
      name: arms-demo
    ---
    apiVersion: apps/v1 # for versions before 1.8.0 use 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
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "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 # for versions before 1.8.0 use apps/v1beta1
    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
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "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:
        # the port that this service should serve on
        - name: arms-demo-component-svc
          port: 6666
          targetPort: 8888
      # label keys and values that must match to receive traffic for this service
      selector:
        app: arms-springboot-demo-subcomponent
    ---
    apiVersion: apps/v1 # for versions before 1.8.0 use 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:
        # the port that this service should serve on
        - name: arms-mysql-svc
          port: 3306
          targetPort: 3306
      # label keys and values that must match to receive traffic for this service
      selector:
        app: mysql

関連ドキュメント

アプリケーションをアプリケーションモニタリング eBPF 版に接続した後、ACK クラスターアプリケーションの主要なメトリック、上流および下流の依存コンポーネント、トポロジーグラフを表示できます。詳細については、「アプリケーション詳細」をご参照ください。