All Products
Search
Document Center

Application Real-Time Monitoring Service:Instal agen Go dengan ack-onepilot

Last Updated:Aug 25, 2026

Untuk memantau aplikasi Go yang dideploy di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS), Anda harus menginstal komponen ack-onepilot dari Application Real-Time Monitoring Service (ARMS) dan mengompilasi file biner Go Anda. Data pemantauan—seperti topologi aplikasi, panggilan API, dan analisis database—kemudian dapat dilihat di ARMS. Topik ini menjelaskan cara menginstal agen Go untuk aplikasi yang dideploy di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS).

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

  • Jika Anda memiliki pertanyaan tentang agen Go, hubungi kami di grup tanya jawab DingTalk kami (ID: 159215000379).

Prasyarat

Langkah 1: Berikan izin untuk mengakses resource ARMS

ACK managed cluster

Jika tidak ada ARMS Addon Token di ACK managed cluster Anda, Anda harus memberikan izin secara manual agar kluster dapat mengakses resource ARMS.

Periksa apakah ARMS Addon Token ada di kluster

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

  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 kluster memiliki ARMS Addon Token, ARMS melakukan otorisasi tanpa password pada kluster tersebut. ARMS Addon Token mungkin tidak tersedia di beberapa kluster ACK managed. 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. Di panel navigasi kiri, klik Clusters. 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 halaman yang muncul, klik Grant Permission di tab Permissions.

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

    • AliyunTracingAnalysisFullAccess: akses penuh ke Managed Service for OpenTelemetry.

    • AliyunARMSFullAccess: akses penuh ke ARMS.

Kluster ACK dedicated dan terdaftar

Untuk memantau aplikasi di kluster ACK dedicated dan kluster terdaftar ACK One, pastikan akun Alibaba Cloud memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess. Untuk informasi lebih lanjut tentang cara memberikan izin, lihat Berikan izin kepada Pengguna RAM.

Setelah menginstal komponen ack-onepilot, Anda juga harus memberikan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) dari akun Alibaba Cloud yang memiliki izin ARMS.

Metode 1: Tentukan pasangan AccessKey di Helm

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

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

  3. Ganti accessKey dan accessKeySecret dengan ID AccessKey dan Rahasia AccessKey Anda, lalu klik OK.

    Catatan

    Untuk informasi tentang cara mendapatkan pasangan AccessKey, lihat Buat pasangan AccessKey.

    Pada halaman Update Release, di editor konfigurasi YAML, temukan bidang accessKey dan accessKeySecret di bawah bagian controller.

  4. Restart Deployment aplikasi.

Metode 2: Referensikan pasangan AccessKey dari secret

  1. Masuk ke Konsol Container Service for Kubernetes (ACK). Di panel navigasi kiri, klik Clusters.

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

  3. Pilih namespace ack-onepilot, buat secret, lalu tambahkan informasi pasangan AccessKey Anda.

    Catatan

    Untuk informasi tentang cara mendapatkan pasangan AccessKey, lihat Buat pasangan AccessKey.

    Tetapkan Name menjadi ack-onepilot-aksk dan Type menjadi Opaque. Di tabel data, tambahkan pasangan kunci-nilai bernama ak dan sk, lalu atur nilainya sesuai dengan ID AccessKey dan Rahasia AccessKey Anda. Kemudian klik OK.

  4. Di panel navigasi kiri, pilih Workloads > Stateless. Klik komponen ack-onepilot, yang biasanya bernama ack-onepilot-ack-onepilot dan berada di namespace ack-onepilot.

  5. Di pojok kanan atas halaman ack-onepilot-ack-onepilot, klik Edit. Lalu, di bagian Environment Variables, tambahkan ONE_PILOT_ACCESSKEY dan ONE_PILOT_ACCESSKEY_SECRET, atur nilainya dengan mereferensikan Secret tersebut, lalu klik OK.

    Tetapkan secret yang direferensikan untuk kedua variabel menjadi ack-onepilot-aksk. Tetapkan kunci untuk ONE_PILOT_ACCESSKEY menjadi ak dan kunci untuk ONE_PILOT_ACCESSKEY_SECRET menjadi sk.

Kluster ACK serverless (ASK) dan kluster terintegrasi ECI

Lengkapi otorisasi di halaman Resource Access Authorization, lalu restart semua pod komponen ack-onepilot.

Langkah 2: Instal komponen ack-onepilot

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

  2. Di panel navigasi kiri, klik Component Management dan cari ack-onepilot.

    Penting

    Pastikan versi ack-onepilot adalah 3.2.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.

  4. Pada kotak dialog yang muncul, konfigurasikan parameter lalu klik OK. Kami menyarankan Anda menggunakan nilai default.

    Catatan

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

Langkah 3: Kompilasi gambar aplikasi Go

  1. (Opsional) Jika proyek Anda menyertakan direktori vendor, tambahkan -mod=vendor setelah go build.

  2. Gunakan perintah wget untuk mengunduh tool kompilasi instgo, dan pilih alamat unduhan yang sesuai dengan lingkungan kompilasi dan wilayah mesin kompilasi Anda.

    Perhatikan bahwa instgo secara otomatis memperbarui dirinya sendiri selama kompilasi. Simpan instgo di direktori tempat pengguna build memiliki izin tulis.

    Catatan
    • Instgo adalah tool build yang disediakan ARMS untuk aplikasi Go. Setelah Anda mengompilasi proyek Go menggunakan instgo, ARMS dapat memantau aplikasi Go Anda.

    • Tool build ini sama di semua wilayah. Jika jaringan publik Anda dapat mengakses URL OSS, Anda dapat mengunduh tool tersebut dari titik akhir publik untuk wilayah China (Hangzhou) yang sesuai dengan sistem operasi dan arsitektur Anda.

    Lihat perintah unduhan

    Linux (AMD64)

    Public URL

    wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo

    Linux (ARM64)

    Public URL

    wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-arm64" -O instgo

    Mac (ARM64)

    Public URL

    wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-darwin-arm64" -O instgo

    Mac (AMD64)

    Public URL

    wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-darwin-amd64" -O instgo

    Windows (AMD64)

    Public URL

    wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-windows-amd64.exe" -O instgo.exe

  3. Berikan izin eksekusi pada tool build tersebut.

    Linux dan Mac

    # Berikan izin eksekusi
    chmod +x instgo

    Windows

    Di Windows, Anda tidak perlu memberikan izin eksekusi.

  4. (Opsional) Konfigurasikan UID sebagai parameter build.

    Penting

    Jika Anda melewatkan langkah ini, instgo akan menginstal versi terbaru agen ARMS secara default.

    Gunakan perintah set untuk mengonfigurasi UID atau kunci lisensi sebagai parameter build.

    instgo set --uid={YourAliyunUid} // Anda harus menggunakan instgo versi 1.4.5 atau lebih baru. uid adalah UID akun Alibaba Cloud utama Anda.
  5. Tambahkan awalan instgo pada perintah build asli Anda.

    instgo go build {arg1} {arg2} {arg3}

    Metode ini juga berlaku jika Anda menggunakan go install.

  6. Buat gambar menggunakan file biner yang dihasilkan pada langkah sebelumnya.

Langkah 4: Aktifkan pemantauan ARMS untuk aplikasi Go

Templat YAML berikut menunjukkan contoh lengkap cara membuat aplikasi tanpa status (Deployment) dan mengaktifkan pemantauan aplikasi ARMS:

Lihat file YAML contoh lengkap (Go)

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: otel-go-client
  name: otel-go-client
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: otel-go-client
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        aliyun.com/app-language: golang
        armsPilotAutoEnable: 'on'
        armsPilotCreateAppName: otel-go-client
        app: otel-go-client
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/private-mesh/hellob:otel-client-arms-go-test-0.0.1
          imagePullPolicy: Always
          name: client
          resources:
            requests:
              cpu: 250m
              memory: 300Mi
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30

---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: otel-go-server
  name: otel-go-server
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: otel-go-server
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: otel-go-server
        aliyun.com/app-language: golang
        armsPilotAutoEnable: 'on'
        armsPilotCreateAppName: otel-go-server
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/private-mesh/hellob:otel-server-arms-go-test-0.0.1
          imagePullPolicy: Always
          name: server
          resources:
            requests:
              cpu: 250m
              memory: 300Mi
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30

---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: otel-go-server
  name: otel-server
  namespace: default
spec:
  internalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  ports:
    - name: http
      port: 9000
      protocol: TCP
      targetPort: 9000
  selector:
    app: otel-go-server
  sessionAffinity: None
  type: ClusterIP
  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di bagian atas halaman Clusters, pilih kelompok sumber daya dan wilayah tempat kluster target berada, lalu klik nama kluster target tersebut. Di panel navigasi kiri, klik Workloads dan pilih Stateless, StatefulSets, atau DaemonSets.

  3. Temukan aplikasi target dan pilih image > Edit YAML di kolom Actions.

    Untuk membuat aplikasi baru, klik Create Resources in YAML.

  4. Pada file YAML, tambahkan labels berikut ke level spec.template.metadata.

    labels:
      aliyun.com/app-language: golang # Wajib untuk aplikasi Go. Ini menunjukkan bahwa ini adalah aplikasi Go.
      armsPilotAutoEnable: 'on'
      armsPilotCreateAppName: "<YOUR-DEPLOYMENT-NAME>"    # Ganti <YOUR-DEPLOYMENT-NAME> dengan nama aplikasi Anda.
  5. Klik Update.

Hasil

Sekitar satu menit kemudian, agen terhubung jika aplikasi Go Anda muncul di halaman Application Monitoring > Application List di Konsol ARMS dan sedang melaporkan data.