All Products
Search
Document Center

Application Real-Time Monitoring Service:Tambahkan dan gunakan tag

Last Updated:Jun 22, 2026

Tag dalam Application Real-Time Monitoring Service (ARMS) membantu Anda mengorganisasi dan memantau data, seperti metrik pemantauan aplikasi, jejak, dan log. Topik ini menjelaskan cara menambahkan tag ke aplikasi Anda, menggunakan tag aplikasi untuk memfilter aplikasi dan mengelola izin, serta menggunakan tag instans untuk memfilter data di halaman Application Details dan Grafana View.

Prasyarat

Aplikasi Anda telah terhubung ke Pemantauan Aplikasi. Untuk informasi selengkapnya, lihat Ikhtisar Pemantauan Aplikasi.

Aplikasi Java juga harus memenuhi persyaratan berikut:

  • Untuk aplikasi di kluster kontainer, pastikan komponen ack-onepilot versi v3.0.4 atau lebih baru dan agen ARMS versi v2.7.3.5 atau lebih baru.

  • Untuk aplikasi di lingkungan lain, pastikan versi agen ARMS adalah v2.7.3.5 atau lebih baru. Anda dapat mengunduh agen ARMS terbaru dari tab Agent Release Notes pada halaman Application Monitoring > Agent Management di Konsol ARMS.

Jenis tag

Pemantauan Aplikasi menyediakan dua jenis tag: tag aplikasi dan tag instans. Keduanya menggunakan pasangan kunci-nilai. Pilih jenis yang paling sesuai dengan kasus penggunaan Anda.

Tag aplikasi

Tag aplikasi berlaku untuk aplikasi ARMS. Anda dapat melihat atau mengubah tag aplikasi di halaman Application Monitoring > Application List di Konsol ARMS. Anda dapat menggunakan tag aplikasi untuk tujuan seperti memfilter aplikasi, mengelola izin, dan mengalokasikan biaya.

Tag instans

Setiap instans aplikasi merepresentasikan proses aplikasi yang terhubung ke ARMS dengan nama aplikasi yang sama. Berbeda dengan tag aplikasi, tag instans berlaku untuk masing-masing instans aplikasi, sehingga instans berbeda dari aplikasi yang sama dapat memiliki tag yang berbeda.

Untuk instans aplikasi yang ditemukan secara otomatis di lingkungan Kubernetes, ARMS menambahkan tag instans default berikut:

Tag key

Description

workloadKind

Jenis workload tempat instans aplikasi berjalan, seperti Deployment.

workloadName

Nama workload tempat instans aplikasi berjalan.

clusterName

Nama kluster Kubernetes tempat instans aplikasi berjalan.

namespace

Namespace Kubernetes tempat instans aplikasi berjalan.

version

Image tag.

Tag instans kustom dapat mengganti nilai ini.

agentVersion

Versi agen ARMS.

Selain tag default, Anda dapat menambahkan tag instans kustom. Instans aplikasi juga mewarisi semua tag dari aplikasi induknya. Data pemantauan yang dihasilkan ARMS untuk suatu instans aplikasi mencakup semua tag aplikasi dan instans yang ditetapkan padanya.

Catatan

Kami menyarankan agar kunci tag instans kustom mengikuti konvensi penamaan Prometheus, artinya kunci tersebut harus sesuai dengan ekspresi reguler ^[a-zA-Z_][a-zA-Z0-9_]*$. Untuk kunci yang tidak sesuai, agen ARMS akan mengganti karakter yang tidak valid dengan underscore (_). Misalnya, 1key:1value menjadi _key:1value.

Contoh:

Seperti yang ditunjukkan pada gambar berikut, aplikasi my-app memiliki dua instans. Data metrik yang dihasilkan ARMS untuk Instans B mencakup tag berikut: {env: Dev, team: Observability, app: my-app, workloadKind: Deployment, workloadName: my-app, clusterName: ClusterA, namespace: nsA, gitVersion: 1.0.1}.

Tambahkan tag instans kustom

Tambahkan tag instans kustom di Kubernetes

Metode 1 (disarankan): Suntikkan tag menggunakan pod labels

Jika aplikasi Anda dideploy di lingkungan Kubernetes tempat agen ARMS diinstal secara otomatis, Anda dapat menambahkan tag instans kustom dengan menggunakan pod labels.

Catatan

Metode ini cocok untuk aplikasi yang dideploy baik di Container Service for Kubernetes (ACK) maupun di lingkungan Kubernetes umum. Untuk informasi tentang cara menginstal agen ARMS secara otomatis di lingkungan tersebut, lihat Ikhtisar Pemantauan Aplikasi.

Ambil contoh aplikasi yang dideploy di lingkungan ACK:

Di Konsol ACK, buka halaman Deployments atau StatefulSets kluster target Anda. Pilih namespace target, temukan aplikasi target, lalu di kolom Actions, pilih image > View in YAML. Di kotak dialog Edit YAML, tambahkan tag kustom Anda dan klik Update. Instans aplikasi akan restart untuk menerapkan tag baru.

'f:readyReplicas': {}
        'f:replicas': {}
        'f:updatedReplicas': {}
    manager: kube-controller-manager
    operation: Update
    subresource: status
    time: '2023-11-16T09:39:32Z'
  name: mall-gateway
  namespace: arms-apm-demo
  resourceVersion: '943537'
  uid: xxxd0b1bf76f42
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: mall-gateway
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        gitVersion: '1.0.2'  # Tambahkan tag instans kustom
        app: mall-gateway
        armsPilotAutoEnable: 'on'
        armsPilotCreateAppName: mall-gateway
    spec:
      containers:
      - env:
        - name: SERVICE_NAME

Metode 2: Suntikkan tag menggunakan variabel lingkungan pod

Catatan
  • Untuk menggunakan metode ini pada aplikasi Java, versi agen ARMS harus 4.0.0 atau lebih baru.

  • Untuk menggunakan metode ini pada aplikasi Go, versi agen ARMS harus 1.5.0 atau lebih baru.

  • Untuk menggunakan metode ini pada aplikasi Python, versi agen ARMS harus 1.3.0 atau lebih baru.

Untuk menyuntikkan tag kustom yang hanya tersedia setelah pod dibuat (seperti podName), Anda dapat menyuntikkannya dengan menambahkan variabel lingkungan sistem operasi ke skrip startup kontainer aplikasi. Ikuti langkah-langkah berikut:

  1. Tambahkan variabel lingkungan bernama ARMS_HOST_TAGS ke kontainer aplikasi Anda. Tetapkan nilainya ke tag instans Anda. Pisahkan beberapa tag dengan format key1:value1&key2:value2. Contoh: export ARMS_HOST_TAGS="gitVersion:1.0.2&ip:192.168.1.101".

  2. Restart aplikasi agar perubahan diterapkan.

Tambahkan tag untuk agen yang diinstal secara manual

Aplikasi Java

Metode 1: Gunakan parameter -D

Tambahkan parameter -Darms.host.tags="${yourLabel}" ke perintah startup aplikasi Java Anda.

Ganti ${yourLabel} dengan tag instans yang ingin Anda tambahkan. Gunakan format key1:value1&key2:value2 untuk beberapa tag. Contoh: -Darms.host.tags="gitVersion:1.0.2&ip:192.168.1.101".

Metode 2: Ubah file konfigurasi

Agen v4.0.0 atau lebih baru

  1. Seperti dijelaskan dalam Ubah file konfigurasi dan wilayah pelaporan default agen Java, buat file konfigurasi dengan ekstensi .properties di direktori mana pun. Di file tersebut, tambahkan field profiler.tags.customtags dan tetapkan nilainya ke tag instans Anda. Gunakan format key1:value1&key2:value2 untuk beberapa tag. Contoh:

    #profiler.tags.customtags=key1:value1&key2:value2
    profiler.tags.customtags=gitVersion:1.0.2&ip:192.168.1.101
  2. Tambahkan parameter -Dotel.javaagent.configuration-file=${path/to/config/file} ke parameter startup aplikasi Java Anda, atau tetapkan variabel lingkungan OTEL_JAVAAGENT_CONFIGURATION_FILE=${path/to/config/file}.

    Catatan
    • Ganti ${path/to/config/file} dengan path lengkap file konfigurasi yang Anda buat. Contoh: -Dotel.javaagent.configuration-file=/home/admin/config/agent-config.properties atau OTEL_JAVAAGENT_CONFIGURATION_FILE=/home/admin/config/agent-config.properties.

    • Jika parameter startup dan variabel lingkungan keduanya dikonfigurasi, parameter startup memiliki prioritas lebih tinggi.

  3. Restart proses aplikasi.

Agen sebelum v4.0.0

  1. Seperti dijelaskan dalam Ubah file konfigurasi dan wilayah pelaporan default agen Java, ubah field profiler.tags.customtags di file arms-agent.config, yang berada di direktori instalasi agen. Anda dapat menambahkan tag instans kustom dalam format key1:value1&key2:value2. Contoh:

    #profiler.tags.customtags=key1:value1&key2:value2
    profiler.tags.customtags=gitVersion:1.0.2&ip:192.168.1.101
  2. Restart proses aplikasi.

Aplikasi Go

Deklarasikan variabel lingkungan, lalu restart proses aplikasi.

#export ARMS_HOST_TAGS=key1:value1&key2:value2
export ARMS_HOST_TAGS="gitVersion:1.0.2&ip:192.168.1.101"

Aplikasi Python

Deklarasikan variabel lingkungan, lalu restart proses aplikasi.

#export ARMS_HOST_TAGS=key1:value1&key2:value2
export ARMS_HOST_TAGS="gitVersion:1.0.2&ip:192.168.1.101"

Suntikkan tag aplikasi melalui pod labels

Penting
  • Untuk aplikasi Java, hanya komponen ack-onepilot versi v3.0.16 atau lebih baru yang mendukung penyuntikan tag aplikasi menggunakan pod labels.

  • Untuk aplikasi Go, hanya komponen ack-onepilot versi v3.2.0 atau lebih baru yang mendukung penyuntikan tag aplikasi menggunakan pod labels.

  • Untuk aplikasi Python, hanya komponen ack-onepilot versi v4.1.1 atau lebih baru yang mendukung penyuntikan tag aplikasi menggunakan pod labels.

  • Hanya ack-onepilot v4.1.2 atau lebih baru yang mendukung Metode 2 untuk menyuntikkan tag aplikasi.

Metode 1:

Jika label pod memiliki awalan app.customAppKey., ARMS mengidentifikasinya sebagai tag aplikasi, bukan tag instans.

Misalnya, dalam kode berikut, ARMS menambahkan tag aplikasi env: dev ke aplikasi yang terkait dengan workload ini.

  template:
    metadata:
      labels:
        app.customAppKey.env: dev
        app: mall-gateway
        armsPilotAutoEnable: 'on'
        aliyun.com/app-language: golang  # Diperlukan untuk aplikasi Go agar bahasa aplikasi teridentifikasi. Tidak diperlukan untuk aplikasi Java.
        armsPilotCreateAppName: mall-gateway

Metode 2:

Untuk menggunakan kembali label pod yang sudah ada sebagai tag aplikasi, konfigurasikan komponen ack-onepilot.

Prasyarat

Versi ack-onepilot adalah 4.1.2 atau lebih baru.

Prosedur

  1. Temukan Deployment untuk komponen ack-onepilot. Biasanya bernama ack-onepilot-ack-onepilot dan berada di namespace ack-onepilot.

    Konfirmasi bahwa jumlah pod pada Deployment menunjukkan 2/2, yang menandakan komponen ack-onepilot berjalan dengan benar.

  2. Tambahkan variabel lingkungan ARMS_APP_LABELS ke Deployment komponen ack-onepilot. Variabel ini berupa string yang dipisahkan koma berisi daftar kunci. Setelah dikonfigurasi, setiap kunci dari /spec/template/metadata/labels yang tercantum dalam variabel ARMS_APP_LABELS akan diidentifikasi sebagai tag aplikasi.

    Misalnya, jika Anda menetapkan nilai ARMS_APP_LABELS menjadi env,group, maka tag dengan kunci env dan group dalam label pod akan diidentifikasi sebagai tag aplikasi.

  3. Tunggu hingga komponen ack-onepilot restart dan lulus pemeriksaan kesehatan. Kemudian, restart aplikasi Anda agar tag aplikasi diterapkan.

    Di Konsol ACK, pada halaman detail Deployment ack-onepilot-ack-onepilot, konfirmasi bahwa status ready adalah 2/2 dan status semua pod adalah Running. Hal ini menunjukkan komponen siap digunakan.

Catatan
  • Di ARMS, aplikasi merupakan konsep agregat yang merepresentasikan kumpulan instans aplikasi. Satu aplikasi dapat memiliki banyak instans dan berasal dari beberapa workload atau kluster Kubernetes. Oleh karena itu, penyuntikan tag aplikasi melalui pod labels merupakan praktik yang nyaman untuk skenario DevOps, tetapi memiliki batasan tertentu.

  • Tag aplikasi yang disuntikkan melalui pod labels hanya dapat ditambahkan. Tag tersebut tidak dapat dihapus dengan menghapus label dari YAML. Untuk memodifikasi atau menghapus tag, Anda harus menggunakan Konsol ARMS atau OpenAPI.

  • Jika beberapa workload dipetakan ke aplikasi ARMS yang sama, penyuntikan tag aplikasi melalui pod labels dapat menyebabkan konflik. Pastikan tag aplikasi konsisten di seluruh workload tersebut.

Gunakan tag aplikasi

Filter aplikasi

Di halaman Application List ARMS dan saat membuat aturan alert, Anda dapat menggunakan tag aplikasi untuk memfilter aplikasi secara cepat.

Kontrol akses berbasis tag

Anda dapat mengelola izin Resource Access Management (RAM) berdasarkan tag aplikasi. Untuk informasi selengkapnya, lihat Kebijakan RAM Kustom untuk Pemantauan Aplikasi.

Gunakan tag instans

Filter data berdasarkan tag instans

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Application Monitoring > Application List.

  2. Di halaman Application List, pilih wilayah di bagian atas, lalu klik nama aplikasi target Anda.

    Catatan

    Ikon di kolom Language menunjukkan bahasa pemrograman aplikasi:

    Java图标: Aplikasi Java yang terhubung ke Pemantauan Aplikasi.

    image: Aplikasi Go yang terhubung ke Pemantauan Aplikasi.

    image: Aplikasi Python yang terhubung ke Pemantauan Aplikasi.

    -: Aplikasi yang terhubung ke Managed Service for OpenTelemetry.

  3. Di halaman detail aplikasi, Anda dapat memfilter data pemantauan berdasarkan tag instans, misalnya untuk membandingkan dan menganalisis data berdasarkan nomor versi gambar.

Kueri metrik berdasarkan tag di Grafana

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Application Monitoring > Application List.

  2. Di halaman Application List, pilih wilayah di bagian atas, lalu klik nama aplikasi target Anda.

    Catatan

    Ikon di kolom Language menunjukkan bahasa pemrograman aplikasi:

    Java图标: Aplikasi Java yang terhubung ke Pemantauan Aplikasi.

    image: Aplikasi Go yang terhubung ke Pemantauan Aplikasi.

    image: Aplikasi Python yang terhubung ke Pemantauan Aplikasi.

    -: Aplikasi yang terhubung ke Managed Service for OpenTelemetry.

  3. Di panel navigasi kiri, klik Grafana View. Di bagian atas halaman, pilih tag berbeda untuk memfilter metrik.

    GrafanaView