All Products
Search
Document Center

Application Real-Time Monitoring Service:Instal agen ARMS untuk aplikasi Java di Function Compute

Last Updated:Mar 11, 2026

Saat menjalankan fungsi Java di Function Compute, Anda memerlukan visibilitas terhadap kinerja aplikasi, jejak terdistribusi, dan kondisi kesehatan JVM. Application Real-Time Monitoring Service (ARMS) terintegrasi dengan Function Compute sebagai ekstensi internal dan menyediakan:

  • observabilitas tingkat instans

  • jejak terdistribusi

  • metrik Java Virtual Machine (JVM)

  • Pemprofilan Tingkat Kode

  • informasi keamanan aplikasi

Langkah-langkah berikut menjelaskan cara menambahkan agen ARMS ke fungsi dengan runtime kustom.

Penting

Agen ARMS mengonsumsi sekitar 300 MB memori saat runtime. Pastikan fungsi Anda memiliki alokasi memori minimal 512 MB. Jendela pembekuan selama 10 detik setelah invokasi yang diperlukan untuk pelaporan data akan ditagih dengan tarif invokasi standar. Untuk detailnya, lihat penagihan Function Compute.

Runtime dan persyaratan yang didukung

PersyaratanDetail
RuntimeRuntime kustom dengan Java 8, Java 11, atau Java 17. Runtime Java 8 bawaan juga didukung.
Versi JDKHarus didukung oleh Pemantauan Aplikasi ARMS. Lihat Komponen dan framework Java yang didukung oleh ARMS.
Memori heapLebih dari 256 MB
Memori fungsiMinimal 512 MB (ARMS mengonsumsi ~300 MB)
WilayahARMS dan Function Compute harus berada di wilayah yang sama. Pemantauan lintas-wilayah tidak didukung.

Untuk membuat fungsi dengan runtime kustom, lihat Buat fungsi.

Langkah 1: Dapatkan kunci lisensi

Panggil operasi API DescribeTraceLicenseKey di OpenAPI Explorer untuk mengambil kunci lisensi ARMS Anda. Simpan kunci ini untuk digunakan di Langkah 3.

Langkah 2: Tambahkan layer agen ARMS

Function Compute menyediakan layer umum resmi yang telah menggabungkan agen ARMS untuk setiap versi Java yang didukung.

Versi JavaRuntime yang kompatibelARN Common Layer
Java 8 / Java 11Runtime kustomacs:fc:{region}:official:layers/ArmsAgent273x/versions/2
Java 17Runtime kustomacs:fc:{region}:official:layers/ArmsAgent273x_JDK17/versions/1

Ganti {region} dengan ID wilayah fungsi Anda, misalnya cn-hangzhou.

Untuk menambahkan layer di Konsol Function Compute:

  1. Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi target.

  3. Di halaman detail fungsi, klik tab Configurations.

  4. Di panel navigasi sebelah kiri, klik Layers, lalu klik Modify.

  5. Di panel Layers, pilih + Add Layer > Add Official Common Layer, lalu pilih layer agen ARMS yang sesuai dengan versi Java Anda.

Langkah 3: Konfigurasikan variabel lingkungan

Tetapkan variabel lingkungan berikut untuk fungsi Anda:

VariabelNilaiDeskripsi
FC_EXTENSION_ARMStrueMengaktifkan ekstensi ARMS di Function Compute.
FC_EXTENSIONS_ARMS_LICENSE_KEYKunci lisensi ARMS AndaMengotentikasi agen ARMS. Dapatkan kunci ini dari Langkah 1.
Penting

Menyetel FC_EXTENSION_ARMS=true menyebabkan instans fungsi membeku selama 10 detik setelah setiap invokasi selesai. Hal ini memberi waktu bagi agen ARMS untuk melaporkan data yang dikumpulkan. Penagihan tetap berlaku dengan tarif standar selama jendela 10 detik ini. Untuk detailnya, lihat penagihan Function Compute.

Untuk menyetel variabel ini di Konsol Function Compute:

  1. Di halaman detail fungsi, klik tab Configurations.

  2. Di panel navigasi sebelah kiri, klik Environment Variables, lalu klik Modify.

  3. Tambahkan FC_EXTENSION_ARMS=true dan FC_EXTENSIONS_ARMS_LICENSE_KEY=<your-license-key>.

Untuk detail lebih lanjut, lihat Konfigurasikan variabel lingkungan.

Langkah 4: Buat skrip bootstrap

Agen ARMS menyambung ke proses Java Anda melalui parameter startup JVM. Buat file bootstrap untuk meneruskan parameter tersebut saat fungsi dimulai.

Tabel berikut menjelaskan parameter JVM yang diperlukan:

ParameterDeskripsi
-javaagent:/opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jarPath ke file JAR agen ARMS yang disediakan oleh layer umum.
-Darms.licenseKey=${FC_EXTENSIONS_ARMS_LICENSE_KEY}Kunci lisensi ARMS, dibaca dari variabel lingkungan yang ditetapkan di Langkah 3.
-Darms.appName=${appName}Nama aplikasi sebagaimana ditampilkan di Konsol ARMS. Nilai default-nya adalah FC:{FunctionName}.
-Dfc.instanceId=$HOSTNAME@`hostname -i`Pengidentifikasi unik untuk instans fungsi.

Contoh skrip bootstrap:

#!/bin/bash
set -eo pipefail

# Tetapkan nama aplikasi ARMS.
# Default-nya adalah FC:{FunctionName} jika variabel FC_FUNCTION_NAME tersedia.
appName="FC:Custom_Java_Arms_Demo"
if [ -n "${FC_FUNCTION_NAME}" ]; then
    appName="FC:${FC_FUNCTION_NAME}"
fi

echo "appName: ${appName}"
params=" "

# Bangun parameter JVM ARMS.
if [[ -n "${FC_EXTENSIONS_ARMS_LICENSE_KEY}" ]]; then
    echo "FC_EXTENSIONS_ARMS_LICENSE_KEY: ${FC_EXTENSIONS_ARMS_LICENSE_KEY}"
    params+="-Dfc.instanceId=$HOSTNAME@`hostname -i` "
    params+="-javaagent:/opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar "
    params+="-Darms.licenseKey=${FC_EXTENSIONS_ARMS_LICENSE_KEY} "
    params+="-Darms.appName=${appName} "
else
    echo "Variabel lingkungan FC_EXTENSIONS_ARMS_LICENSE_KEY tidak ada, harap tetapkan variabel lingkungan FC_EXTENSIONS_ARMS_LICENSE_KEY!"
    exit 1
fi

# Jalankan aplikasi. Ganti path JAR dengan milik Anda sendiri.
echo "params: ${params}"
exec java $params \
    -Dserver.port=9000 \
    -jar /code/target/demo-0.0.1-SNAPSHOT.jar

Ganti /code/target/demo-0.0.1-SNAPSHOT.jar dengan path ke file JAR aplikasi Anda.

Terapkan file bootstrap

  1. Di WebIDE pada halaman kode fungsi, buat file bernama bootstrap dengan konten di atas.

  2. Buka terminal di WebIDE dan jalankan chmod +x bootstrap untuk menjadikan file tersebut dapat dieksekusi.

  3. Klik Deploy.

Untuk detail lebih lanjut, lihat Gunakan skrip bootstrap sebagai perintah startup.

Langkah 5: Verifikasi integrasi

Setelah penerapan, panggil fungsi tersebut minimal sekali untuk memicu pengumpulan data, lalu pastikan ARMS menerima data:

  1. Masuk ke Konsol ARMS.

  2. Di panel navigasi sebelah kiri, pilih Application Monitoring > Applications.

  3. Temukan aplikasi yang namanya sesuai dengan nilai appName dari skrip bootstrap Anda. Nilai default-nya adalah FC:{FunctionName}.

  4. Klik nama aplikasi untuk melihat jejak, metrik JVM, dan data pemantauan lainnya.

Untuk detail mengenai dasbor pemantauan, lihat Ikhtisar aplikasi.

Penagihan

Integrasi ARMS dengan Function Compute menghasilkan biaya dari dua layanan:

LayananBiayaDetail
ARMSBiaya pemantauan aplikasiIkhtisar penagihan ARMS
Function ComputeJendela pembekuan 10 detik setelah invokasi, ditagih dengan tarif invokasi standarPenagihan Function Compute