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

Container Service for Kubernetes:クラスタートポロジーのモニタリング

最終更新日:Mar 26, 2026

Application Monitoring eBPF Edition は、拡張 Berkeley Packet Filter (eBPF) 技術に基づいて構築された Kubernetes クラスター向けの可観測性サービスです。コードに侵入することなくコンテナからレート、エラー、デュレーション (RED) のパフォーマンスデータを収集し、関連するサービスと、Deployment、StatefulSet、DaemonSet などのコントローラーワークロードを自動的に関連付けて、トラブルシューティングを迅速化します。

前提条件

開始する前に、以下をご確認ください:

仕組み

Application Monitoring eBPF Edition では、クラスターに 2 つのエージェントをインストールする必要があります:

エージェントコンポーネント ID目的
Prometheus モニタリングエージェントack-arms-prometheusManaged Service for Prometheus を介してクラスターメトリックを収集します
Application Monitoring eBPF Edition コンポーネントack-arms-cmonitorコンテナから RED パフォーマンスデータを収集します
Application Monitoring eBPF Edition のメトリックは Managed Service for Prometheus によって収集されるため、eBPF モニタリングのみを使用する場合でも ack-arms-prometheus が必要です。

ACK クラスターの接続

ステップ 1:ARMS アドオントークンの確認

ack-arms-cmonitor をインストールする前に、クラスターに ARMS アドオントークン (addon.arms.token) があるかどうかを確認します。トークンが存在する場合、ARMS は自動的にパスワードなしの権限付与を実行します。存在しない場合は、必要な RAM ポリシーを手動でアタッチする必要があります。

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

  2. クラスター名をクリックし、左側のナビゲーションウィンドウで [設定] > [シークレット] を選択します。

  3. [名前空間] ドロップダウンリストから [kube-system] を選択し、[addon.arms.token] が存在するかどうかを確認します。

トークンのステータス次のステップ
トークンが存在するステップ 2:ack-arms-cmonitor のインストール
トークンが存在しない先に進む前に ステップ 1b:RAM ポリシーのアタッチ を完了します
ACK マネージドクラスター:特定の ACK マネージドクラスターでは、ARMS アドオントークンが存在しない場合があります。まず確認し、必要に応じて手動で権限付与を完了してください。
ACK 専用クラスター:デフォルトでは ARMS アドオントークンは存在しません。常に手動での権限付与が必要です。

ステップ 1b:RAM ポリシーのアタッチ (トークンが存在しない場合)

次のポリシーをワーカー Resource Access Management (RAM) ロールにアタッチします:

  • AliyunARMSFullAccess — ARMS に対する完全な権限

  • AliyunTracingAnalysisFullAccess — トレーシング分析に対する完全な権限

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

  2. クラスター名をクリックします。左側のナビゲーションウィンドウで、[クラスター情報] をクリックします。

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

  4. RAM コンソールで、[権限] タブをクリックし、[権限の付与] をクリックします。

  5. [権限の付与] パネルで、両方のポリシーを選択し、[権限を付与] をクリックします:

    • AliyunTracingAnalysisFullAccess

    • AliyunARMSFullAccess

ステップ 2:ack-arms-cmonitor のインストール

重要

ack-arms-cmonitor がすでにインストールされている場合は、まずバージョンを確認してください。ACK コンソールで、クラスターの左側のナビゲーションウィンドウから [操作] > [アドオン] を選択します。バージョンが 4.0.0 より前の場合は、先に進む前に [アップグレード] をクリックしてください。

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

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

  3. [クラスタートポロジー] ページで、[インストール] をクリックします。ACK コンソールがエージェントを自動的にインストールします。

    デフォルトの名前空間は arms-prom です。
  4. (ACK 専用クラスターのみ) AccessKey ペアを更新します:

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

    2. arms-cmonitor を見つけて、[更新] をクリックします。accessKey および accessKeySecret を、Alibaba Cloud アカウントの AccessKey ID と AccessKey シークレットに設定します。詳細については、「主アカウントの AccessKey ペアの取得」をご参照ください。> [重要]: Alibaba Cloud アカウントに、AliyunARMSFullAccess ポリシーおよび AliyunSTSAssumeRoleAccess ポリシーがアタッチされていることを確認してください。

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

アプリケーションでの Application Monitoring eBPF Edition の有効化

ご利用のワークフローに合った統合方法を選択してください:

方法最適なケース
ACK コンソールによる手動統合既存のアプリケーション、または YAML でデプロイされた新しいアプリケーション
ARMS コンソールによる自動統合複数のアプリケーションの一括オンボーディング

手動統合

Deployment の YAML ファイルの spec.template.metadata.labels セクションに、次のラベルを追加します:

armseBPFAutoEnable: "on"
armseBPFCreateAppName: "<your-deployment-name>"    # ご利用のアプリケーション名に置き換えてください

Application Monitoring eBPF Edition を有効にして Deployment を作成する完全な例:

apiVersion: v1
kind: Namespace
metadata:
  name: arms-demo
---
apiVersion: apps/v1
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
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:
    - name: arms-demo-component-svc
      port: 6666
      targetPort: 8888
  selector:
    app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1
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

ACK コンソール経由でデプロイするには:

  1. ACK コンソールにログインします。[クラスター] ページで対象のクラスターを見つけ、[アクション] 列の [アプリケーション] をクリックします。

  2. [デプロイメント] ページで、[YAML から作成] をクリックします。

  3. [サンプルテンプレート] ドロップダウンリストからテンプレートを選択し、spec.template.metadata セクションにラベルを追加して適用します。

自動統合

  1. ARMS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで [インテグレーションセンター] をクリックします。[サーバーアプリケーション] セクションで、[eBPF アプリケーションモニター] カードをクリックします。

  3. 表示されるパネルで、プロンプトに従ってパラメーターを設定し、統合を完了します。

統合の確認

統合後、アプリケーションとクラスターがモニタリングされていることを確認します:

  1. ARMS コンソールで、左側のナビゲーションウィンドウの [統合管理] をクリックして、ARMS に統合されているすべてのアプリケーションとサービスを表示します。

  2. [統合済み環境] タブで、ACK クラスター名をクリックして以下を表示します:

    • クラスターの基本情報

    • 有効化されたコンポーネント

    • クラスターメトリック

  3. このページから、必要に応じてメトリックを調査したり、ARMS エージェントを設定したりできます。

次のステップ