全部产品
Search
文档中心

Application Real-Time Monitoring Service:Instal agen ARMS untuk aplikasi Java yang diterapkan di ACK atau ACS

更新时间:Jul 06, 2025

Setelah menginstal ack-onepilot, Application Real-Time Monitoring Service (ARMS) akan memantau aplikasi Java Anda yang diterapkan di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS). Anda dapat melihat data pemantauan seperti topologi aplikasi, panggilan antarmuka, serta transaksi abnormal dan lambat. Topik ini menjelaskan cara menginstal agen ARMS untuk aplikasi Java yang diterapkan di ACK atau ACS.

Pengenalan ack-onepilot

Komponen Pemantauan Aplikasi ack-onepilot adalah asisten instalasi agen yang menginstal agen ARMS untuk berbagai bahasa. Komponen ini secara otomatis menyiapkan paket agen ARMS dan mengatur lingkungan untuk pelaporan data dalam lingkungan kontainer. Untuk informasi lebih lanjut tentang prinsip kerja ack-onepilot, lihat Prinsip Kerja Komponen ack-onepilot.

Untuk memastikan pengalaman pengguna terbaik, setelah menginstal agen ARMS, komponen ack-onepilot secara otomatis memperbarui agen ke versi terbaru ketika aplikasi Anda dimulai ulang setelah rilis versi agen baru. Jika Anda tidak ingin memperbarui agen secara otomatis dengan setiap rilis baru, Anda dapat secara manual mengontrol versi agen.

Penting

Komponen lama arms-pilot tidak lagi dipelihara. Anda dapat menginstal komponen baru ack-onepilot untuk memantau aplikasi Anda. Komponen ack-onepilot sepenuhnya kompatibel dengan arms-pilot. Anda dapat menginstal ack-onepilot tanpa perlu memodifikasi konfigurasi aplikasi. Untuk informasi lebih lanjut, lihat Bagaimana cara saya menghapus instalasi arms-pilot dan menginstal ack-onepilot?

Prasyarat

Prosedur

Prosedur untuk menginstal agen ARMS pada aplikasi yang diterapkan di ACK sama dengan prosedur untuk aplikasi yang diterapkan di ACS. Berikut menggunakan lingkungan ACK sebagai contoh.

Langkah 1: Instal ack-onepilot

  1. Masuk ke Konsol ACK. Di halaman Clusters, klik nama klaster.

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

  3. Klik Install di kartu ack-onepilot.

    Catatan

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

  4. Di kotak dialog yang muncul, konfigurasikan parameter dan klik OK. Kami sarankan Anda menggunakan nilai default.

    Catatan

    Setelah menginstal ack-onepilot, Anda dapat meningkatkan, mengonfigurasi, atau menghapusnya di halaman Add-ons.

Langkah 2: Berikan izin akses pada sumber daya ARMS

ACK managed cluster

Jika ARMS Addon Token tidak ada di ACK managed cluster Anda, lakukan langkah-langkah berikut untuk memberi otorisasi klaster mengakses ARMS. Jika ARMS Addon Token ada, lanjutkan ke Langkah 3.

Periksa apakah ARMS Addon Token ada di klaster

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters. Di halaman Clusters, klik nama klaster untuk masuk ke halaman detail klaster.

  2. Di panel navigasi kiri, pilih Configurations > Secrets. Di bagian atas halaman, pilih kube-system dari daftar drop-down Namespace dan periksa apakah addon.arms.token ditampilkan di halaman Secrets.

Catatan

Jika klaster memiliki ARMS Addon Token, ARMS melakukan otorisasi tanpa kata sandi pada klaster. ARMS Addon Token mungkin tidak ada di beberapa klaster ACK managed. Kami sarankan Anda memeriksa apakah klaster ACK managed memiliki ARMS Addon Token sebelum menggunakan ARMS untuk memantau aplikasi di klaster. Jika klaster tidak memiliki ARMS Addon Token, Anda harus memberi otorisasi klaster untuk mengakses ARMS.

Tambahkan kebijakan izin secara manual

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

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

  3. Di halaman yang muncul, klik Grant Permission di tab Permissions.

  4. Di panel Grant Permission, tambahkan kebijakan berikut dan klik Grant permissions.

    • AliyunTracingAnalysisFullAccess: akses penuh ke Managed Service for OpenTelemetry.

    • AliyunARMSFullAccess: akses penuh ke ARMS.

ACK dedicated cluster/klaster terdaftar

Untuk memantau aplikasi yang diterapkan di ACK dedicated cluster atau klaster terdaftar, pastikan bahwa izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess diberikan kepada pengguna Resource Access Management (RAM).

Setelah menginstal komponen ack-onepilot, masukkan ID AccessKey dan Rahasia AccessKey akun di file konfigurasi ack-onepilot.

Metode 1: Masukan di Hem

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

  2. Di halaman Clusters, klik klaster yang ingin Anda kelola. Di panel navigasi kiri halaman yang muncul, pilih Applications > Helm. Lalu, klik Perbarui di sebelah ack-onepilot.

  3. Ganti accessKey dan accessKeySecret dengan ID AccessKey dan Rahasia AccessKey akun dan klik OK.

    Catatan

    Rahasia AccessKey hanya terlihat selama pembuatan awal pasangan AccessKey Alibaba Cloud dan tidak dapat diambil kembali setelahnya. Desain ini mengurangi risiko kebocoran. Simpan Rahasia dengan aman segera setelah dibuat.

    image

  4. Mulai ulang Deployment.

Metode 2: Impor melalui Kubernetes Secrets

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

  2. Di halaman Clusters, klik klaster yang ingin Anda kelola. Di panel navigasi kiri halaman yang muncul, pilih Configurations > Secrets.

  3. Klik Create. Di panel yang muncul, klik Add dan tambahkan ID AccessKey dan Rahasia AccessKey untuk ack-onepilot.

    Catatan

    Rahasia AccessKey hanya terlihat selama pembuatan awal pasangan AccessKey Alibaba Cloud dan tidak dapat diambil kembali setelahnya. Desain ini mengurangi risiko kebocoran. Simpan Rahasia dengan aman segera setelah dibuat.

    image

  4. Di panel navigasi kiri, pilih Workloads > Deployments. Di halaman yang muncul, klik komponen ack-onepilot. Secara umum, namanya adalah ack-onepilot-ack-onepilot di namespace ack-onepilot.

  5. Di sudut kanan atas halaman yang muncul, klik Edit.

  6. Gulir ke bawah sampai Anda melihat bagian Environments. Klik Add, tambahkan variabel lingkungan ONE_PILOT_ACCESSKEY dan ONE_PILOT_ACCESSKEY_SECRET, referensikan Secrets di Kubernetes Secrets, dan klik OK.

    image

ASK/ECI cluster

Untuk memantau aplikasi di klaster ACK Serverless (ASK) atau aplikasi di klaster Kubernetes yang terhubung ke Elastic Container Instance, Anda harus terlebih dahulu memberi otorisasi klaster untuk mengakses ARMS di halaman Otorisasi Akses Sumber Daya Cloud. Kemudian, mulai ulang semua pod tempat komponen ack-onepilot diterapkan.

Langkah 3: Aktifkan Pemantauan Aplikasi untuk aplikasi

Templat YAML berikut menunjukkan cara membuat Deployment dan mengaktifkan Pemantauan Aplikasi untuk aplikasi:

Templat 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
        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:
    # port yang harus dilayani oleh service ini
    - name: arms-demo-component-svc
      port: 6666
      targetPort: 8888
  # kunci dan nilai label yang harus cocok agar menerima lalu lintas untuk service ini
  selector:
    app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1 # untuk versi sebelum 1.8.0 gunakan 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:
    # port yang harus dilayani oleh service ini
    - name: arms-mysql-svc
      port: 3306
      targetPort: 3306
  # kunci dan nilai label yang harus cocok agar menerima lalu lintas untuk service ini
  selector:
    app: mysql
---
  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, temukan klaster yang ingin Anda kelola dan klik namanya. Di panel kiri, pilih Workloads > Deployments.

  3. Di halaman Deployments, pilih image > Edit YAML di kolom Actions.

  4. Di file YAML, tambahkan label berikut ke spec.template.metadata:

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    # Ganti <your-deployment-name> dengan nama aplikasi aktual.
      armsSecAutoEnable: "on"    # Jika Anda ingin menghubungkan aplikasi ke Application Security, Anda harus mengonfigurasi parameter ini.
    Catatan

    YAML Example

  5. Klik Update.

  6. Di halaman Deployments, pilih image > ARMS Console di kolom Actions untuk melihat detail pemantauan aplikasi.

    image.png

FAQ