全部产品
Search
文档中心

Application Real-Time Monitoring Service:Mulai memantau aplikasi multi-kontainer dalam satu Pod

更新时间:Nov 10, 2025

Dalam skenario Sidecar, sebuah Pod dapat berisi beberapa kontainer yang menjalankan aplikasi dalam bahasa pemrograman berbeda. Topik ini menyajikan praktik terbaik untuk memantau aplikasi multi-bahasa menggunakan komponen ack-onepilot dalam skenario Sidecar.

Prasyarat

Versi ack-onepilot harus 4.2.0 atau lebih baru.

Prosedur

  1. Lihat dokumen-dokumen berikut untuk menginstal ack-onepilot dan memberikan izin akses sumber daya yang sesuai:

  2. Tambahkan tag yang relevan ke beban kerja.

    Contoh YAML aplikasi

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: multicontainer          
      name: multicontainer
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: multicontainer
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          labels:
            app: multicontainer
            apsara.apm/container.test-java.app-language: java
            apsara.apm/container.test-java.armsPilotAutoEnable: 'on'
            apsara.apm/container.test-java.armsPilotCreateAppName: multilanguage-java
            apsara.apm/container.test-go.app-language: golang
            apsara.apm/container.test-go.armsPilotAutoEnable: 'on'
            apsara.apm/container.test-go.armsPilotCreateAppName: multilanguage-go
            apsara.apm/container.test-python.app-language: python
            apsara.apm/container.test-python.armsPilotAutoEnable: 'on'
            apsara.apm/container.test-python.armsPilotCreateAppName: multilanguage-python
        spec:
          containers:
            - command:
                - sleep
                - '360000'
              image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
                # Ganti dengan citra aplikasi Java Anda yang sebenarnya
              imagePullPolicy: Always
              name: test-java
              resources:
                requests:
                  cpu: 250m
                  memory: 512Mi
            - command:
                - sleep
                - '3600000'
              image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
                # Ganti dengan citra aplikasi Go yang sebenarnya
              imagePullPolicy: Always
              name: test-go
              resources:
                requests:
                  cpu: 500m
                  memory: 512Mi
            - command:
                - sleep
                - '3600000'
              image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
                # Ganti dengan citra aplikasi Python yang sebenarnya
              imagePullPolicy: Always
              name: test-python
              resources:
                requests:
                  cpu: 500m
                  memory: 512Mi

    YAML di atas merepresentasikan aplikasi kompleks yang menggunakan bahasa pemrograman Java, Golang, dan Python secara bersamaan. Aplikasi ini terdiri dari tiga kontainer dengan bahasa pemrograman berbeda, yaitu test-java, test-go, dan test-python.

    Anda dapat menghubungkan ketiga kontainer tersebut ke tiga aplikasi ARMS yang berbeda untuk mencapai isolasi data. Ikuti langkah-langkah berikut:

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

    2. Di halaman Clusters, temukan kluster yang ingin Anda kelola lalu klik namanya. Di panel navigasi kiri, pilih Workloads > Deployments.

    3. Di halaman Deployments, klik image > Edit YAML di sisi kanan aplikasi target.

      Untuk membuat aplikasi baru, klik Create From YAML.

    4. Tambahkan label berikut ke tingkat spec.template.metadata dalam file YAML, lalu klik Update.

      labels:
        # Harap ganti ${containerName} dengan nama kontainer yang sebenarnya
        apsara.apm/container.${containerName}.app-language: java # Ganti dengan bahasa pemrograman sebenarnya dari kontainer
        apsara.apm/container.${containerName}.armsPilotAutoEnable: 'on'
        apsara.apm/container.${containerName}.armsPilotCreateAppName: "<your-deployment-name>"    # Harap ganti <your-deployment-name> dengan nama aplikasi Anda.
  3. Jika aplikasi muncul di halaman Application Monitoring > Applications di Konsol ARMS dan data sedang dilaporkan, koneksi berhasil.

    image