All Products
Search
Document Center

Cloud Monitor:Instal agen Java untuk kluster ACK dan ACS menggunakan ack-onepilot

Last Updated:Aug 26, 2026

Instal komponen ack-onepilot untuk memantau aplikasi Java di Container Service for Kubernetes ACK atau Container Compute Service ACS, lalu lihat topologi aplikasi, panggilan API, transaksi abnormal, dan transaksi lambat.

Catatan

Langkah instalasi untuk ACK dan ACS identik. Panduan ini menggunakan ACK sebagai contoh.

Komponen ack-onepilot

Komponen ack-onepilot secara otomatis menyiapkan paket agen Pemantauan Aplikasi untuk berbagai bahasa dan mengonfigurasi lingkungan pelaporan di dalam kontainer. Untuk informasi selengkapnya, lihat Cara kerja komponen ack-onepilot.

Saat aplikasi restart, ack-onepilot secara otomatis melakukan upgrade agen ke versi terbaru. Untuk mengunci versi agen tertentu, lihat Mengontrol versi agen.

Langkah 1: Instal helper agen (ack-onepilot)

  1. Masuk ke Konsol ACK. Pada halaman Clusters, klik nama kluster.

  2. Di panel navigasi kiri, klik Add-ons. Lalu, cari ack-onepilot.

    Penting

    Versi komponen ack-onepilot harus 5.1.0 atau lebih baru.

  3. Klik Install pada kartu ack-onepilot.

    Catatan
    • Secara default, komponen ack-onepilot mendukung 1.000 Pod. Untuk setiap tambahan 1.000 Pod di kluster, Anda harus menambahkan 0,5 core CPU dan memori 512 MB untuk komponen tersebut.

    • Jika Anda menginstal ack-onepilot di kluster ACS, konfigurasikan accessKey dan accessKeySecret di bagian bawah kartu instalasi. Gunakan ID AccessKey dan Rahasia AccessKey dari Akun Alibaba Cloud Anda. Untuk informasi cara memperolehnya, lihat Buat AccessKey. Pastikan akun Alibaba Cloud memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess.

  4. Pada halaman yang muncul, Anda dapat mengonfigurasi parameter. Kami menyarankan Anda menggunakan nilai default. Klik OK.

    Catatan

    Setelah menginstal ack-onepilot, Anda dapat melakukan upgrade, mengonfigurasi, atau menguninstalnya di halaman Add-ons.

Langkah 2: Berikan izin untuk mengakses resource ARMS

Kluster ACK yang dikelola

Jika kluster ACK yang dikelola Anda tidak memiliki token addon ARMS, ikuti langkah-langkah berikut untuk memberikan izin yang diperlukan. Jika token addon ARMS sudah ada, lanjutkan ke Langkah 3.

Periksa apakah ARMS Addon Token ada di kluster.

  1. Masuk ke Konsol ACK. Pada halaman Clusters, klik nama kluster untuk membuka halaman detail kluster.

  2. Di panel navigasi kiri, pilih Configurations > Secrets. Di bagian atas halaman, atur Namespace menjadi kube-system dan periksa apakah addon.arms.token ada.

Catatan

Jika kluster memiliki ARMS Addon Token, ARMS melakukan otorisasi tanpa password pada kluster tersebut. ARMS Addon Token mungkin tidak tersedia di beberapa kluster ACK yang dikelola. Kami menyarankan Anda memeriksa keberadaan ARMS Addon Token sebelum menggunakan ARMS untuk memantau aplikasi di kluster tersebut. Jika kluster tidak memiliki ARMS Addon Token, Anda harus memberikan otorisasi agar kluster dapat mengakses ARMS.

Tambahkan kebijakan izin secara manual

  1. Masuk ke Konsol ACK. Pada halaman Clusters, klik nama kluster.

  2. Pada tab Basic Information di halaman Cluster Information, klik tautan di samping Worker RAM Role di bagian Cluster Resources.

  3. Pada tab Permissions, klik Grant Permission.

  4. Di panel Grant Permission, tambahkan dua kebijakan akses berikut lalu klik Confirm Grant Permission.

    • AliyunTracingAnalysisFullAccess: akses penuh ke Managed Service for OpenTelemetry.

    • AliyunARMSFullAccess: akses penuh ke ARMS.

Kluster spesifikasi khusus/kluster terdaftar

Untuk memantau aplikasi di kluster spesifikasi khusus ACK atau kluster terdaftar ACK One, pastikan akun Alibaba Cloud terkait memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess. Untuk informasi selengkapnya, lihat Mengelola izin pengguna RAM.

Setelah menginstal ack-onepilot, konfigurasikan dengan ID AccessKey dan Rahasia AccessKey dari akun Alibaba Cloud yang memiliki izin ARMS.

Metode 1: Masukkan pasangan AccessKey di Helm

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih App > Helm. Temukan komponen ack-onepilot lalu klik Update.

  3. Ganti placeholder untuk accessKey dan accessKeySecret dengan pasangan AccessKey Anda, lalu klik OK.

    Catatan

    Untuk informasi cara memperoleh pasangan AccessKey, lihat Buat AccessKey.

    Di editor YAML, temukan accessKey: __ACCESSKEY__ dan accessKeySecret: __ACCESSKEY_SECRET__ di bagian controller lalu ganti placeholder tersebut dengan Informasi AccessKey Anda yang sebenarnya.

  4. Restart Deployment aplikasi.

Metode 2: Impor pasangan AccessKey melalui secret Kubernetes

  1. Masuk ke Konsol Container Service for Kubernetes, lalu di bilah navigasi kiri, pilih Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Configurations > Secrets.

  3. Pilih namespace ack-onepilot dan buat secret yang berisi pasangan AccessKey Anda.

    Catatan

    Untuk informasi cara memperoleh pasangan AccessKey, lihat Buat AccessKey.

    Atur Nama Secret menjadi ack-onepilot-aksk dan Jenis menjadi Opaque. Di bagian Data, tambahkan dua entri: atur kunci menjadi ak dan sk, lalu masukkan ID AccessKey dan Rahasia AccessKey yang sesuai sebagai nilainya. Kemudian, klik OK.

  4. Di panel navigasi kiri, pilih Workload > Deployment. Klik komponen ack-onepilot (biasanya bernama ack-onepilot-ack-onepilot di namespace ack-onepilot).

  5. Pada halaman ack-onepilot-ack-onepilot, klik Edit di pojok kanan atas. Di bagian Environment Variables, tambahkan ONE_PILOT_ACCESSKEY dan ONE_PILOT_ACCESSKEY_SECRET, lalu konfigurasikan agar merujuk ke nilai yang disimpan di secret. Kemudian, klik OK.

    Pilih secret ack-onepilot-aksk. Untuk variabel ONE_PILOT_ACCESSKEY, pilih kunci ak. Untuk variabel ONE_PILOT_ACCESSKEY_SECRET, pilih kunci sk.

Kluster ASK/ECI

Untuk memantau aplikasi di kluster ACK Serverless (ASK) atau kluster yang menggunakan ECI, lengkapi otorisasi di halaman Cloud Resource Access Authorization, lalu restart semua Pod komponen ack-onepilot.

Langkah 3: Aktifkan Pemantauan Aplikasi untuk aplikasi Java

Contoh YAML berikut menunjukkan cara membuat Deployment dengan Pemantauan Aplikasi yang diaktifkan:

Perluas untuk melihat file YAML contoh lengkap (Java)

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
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo"
        armsPilotAppWorkspace: "workspace"   # Replace with the name of your workspace.
        one-agent.jdk.version: "OpenJDK18"
    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
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo-subcomponent"
        armsPilotAppWorkspace: "workspace"   # Replace with the name of your workspace.
        one-agent.jdk.version: "OpenJDK18"
    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 # 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:
    - name: arms-mysql-svc
      port: 3306
      targetPort: 3306
  selector:
    app: mysql
---
  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

  3. Pada halaman Stateless, klik more icon > YAML Edit di samping aplikasi target. Untuk membuat aplikasi, klik Create from YAML.

  4. Dalam file YAML, tambahkan labels berikut ke bagian spec.template.metadata.

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "deployment-name"    # Replace deployment-name with the name of your application.
      armsPilotAppWorkspace: "workspace"  # Replace with the name of your workspace.
      aliyun.com/app-language: java
    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
            armsPilotAutoEnable: "on"
            armsPilotCreateAppName: "arms-k8s-demo"
            armsPilotAppWorkspace: "workspace"
        spec:
          containers:
            - resources:
                limits:
                  cpu: 0.5
              image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
  5. Klik Update.

Lihat detail pemantauan

  1. Masuk ke Konsol Cloud Monitor 2.0, lalu pilih ruang kerja. Di panel navigasi kiri, pilih Application Center > Application Observability > Application Insights.

  2. Pada halaman Application List, temukan aplikasi Anda lalu klik Application Name-nya untuk melihat data pemantauan detail.