Application Real-Time Monitoring Service (ARMS) dapat terhubung dengan runtime Java 8 bawaan dari Function Compute. Runtime kustom yang menggunakan Java 8, Java 11, dan Java 17 juga mendukung ekstensi ARMS. Topik ini menjelaskan cara menghubungkan runtime kustom ke ARMS.
Informasi latar belakang
Setelah Function Compute terintegrasi dengan ARMS, Anda dapat menggunakan ARMS untuk memantau dan melacak fungsi serta memperoleh informasi seperti observabilitas tingkat instance, informasi pelacakan, metrik Java Virtual Machine, profil tingkat kode, dan informasi keamanan aplikasi.
Prasyarat
Fungsi dalam runtime kustom telah dibuat dan runtime tersebut menggunakan Java 8, Java 11, atau Java 17. Untuk informasi lebih lanjut, lihat Buat Fungsi.
Versi JDK didukung oleh Pemantauan Aplikasi. Untuk informasi lebih lanjut, lihat Komponen dan Framework Java yang Didukung oleh ARMS.
Memori heap maksimum proses lebih besar dari 256 MB.
Peroleh kunci lisensi
Peroleh kunci lisensi di OpenAPI Explorer. Untuk informasi lebih lanjut, lihat DescribeTraceLicenseKey.
Hubungkan runtime kustom ke ARMS
Anda dapat mengintegrasikan ARMS ke dalam runtime kustom sebagai ekstensi internal. Bagian berikut menjelaskan cara menghubungkan runtime kustom ke ARMS.
Gunakan lapisan umum untuk mendapatkan agen ARMS
Function Compute menggunakan lapisan umum untuk menyediakan agen ARMS yang mendukung Java 8, Java 11, dan Java 17.
Versi Java | Runtime kompatibel | ARN lapisan umum |
Java 11/Java 8 | Runtime kustom | acs:fc:{region}:official:layers/ArmsAgent273x/versions/2 |
Java 17 | Runtime kustom | acs:fc:{region}:official:layers/ArmsAgent273x_JDK17/versions/1 |
Gunakan skrip bootstrap untuk memulai aplikasi
Untuk menggunakan ARMS, Anda harus menambahkan tiga parameter startup. Kami sarankan Anda menggunakan skrip untuk melakukan startup demi kesederhanaan. Anda dapat menggunakan WebIDE untuk membuat file bootstrap di halaman kode fungsi dan mengonfigurasi izin eksekusi untuk file tersebut dengan menjalankan perintah chmod +x bootstrap di terminal. Contoh kode berikut memberikan contoh:
#!/bin/bash
set -eo pipefail
#1. Tentukan nama untuk aplikasi ARMS.
appName="FC:Custom_Java_Arms_Demo"
if [ -n "${FC_FUNCTION_NAME}" ]; then
appName="FC:${FC_FUNCTION_NAME}"
fi
echo "appName: ${appName}"
params=" "
#2. Tambahkan parameter 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` "
# Gunakan jalur program ARMS di lapisan umum.
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 "Lingkungan FC_EXTENSIONS_ARMS_LICENSE_KEY tidak ada, silakan atur lingkungan FC_EXTENSIONS_ARMS_LICENSE_KEY!"
exit 1
fi
#3. Jalankan aplikasi.
echo "params: ${params}"
exec java $params \
-Dserver.port=9000 \
-jar /code/target/demo-0.0.1-SNAPSHOT.jarBerikut adalah rincian dari contoh kode:
Tentukan nama untuk aplikasi ARMS. Nilai defaultnya adalah
FC:{FunctionName}.Tambahkan parameter ARMS.
javaagent: jalur program ARMS. Jika lapisan umum agen ARMS digunakan, jalurnya adalah/opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar.Darms.licenseKey: informasi kunci lisensi. Dalam contoh ini, kunci lisensi diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara memperoleh kunci lisensi, lihat Peroleh Kunci Lisensi.Darms.appName: nama aplikasi ARMS. Gunakan nama aplikasi ARMS Anda yang sebenarnya.
Konfigurasikan variabel lingkungan
Konfigurasikan variabel lingkungan
FC_EXTENSIONS_ARMS_LICENSE_zKEY=xxxxdengan menyetel nilainya menjadi kunci lisensi. Untuk informasi lebih lanjut tentang cara memperoleh kunci lisensi, lihat Obtain a license key.Atur variabel lingkungan
FC_EXTENSION_ARMS=true.Setelah variabel lingkungan ditambahkan, instance fungsi akan dibekukan selama 10 detik setelah pemanggilan fungsi selesai. Ini memastikan bahwa agen ARMS dapat melaporkan log sesuai harapan.
PentingSetelah pemanggilan selesai, biaya terus dihasilkan sebelum instance dibekukan berdasarkan aturan penagihan yang sama selama pemanggilan. Untuk informasi lebih lanjut, lihat Tagihan.
Prosedur
Masuk ke Konsol Function Compute. Di panel navigasi di sebelah kiri, klik Functions.
Di bilah navigasi atas, pilih wilayah. Di halaman Functions, klik fungsi yang ingin Anda kelola.
Di halaman detail fungsi, klik tab Configurations.
Di panel navigasi di sebelah kiri, klik Layers. Di halaman yang muncul, klik Modify. Di panel Layers, pilih untuk menambahkan lapisan agen ARMS yang kompatibel dengan runtime Java Anda.
Di panel navigasi di sebelah kiri, klik Environment Variables. Di halaman yang muncul, klik Modify untuk mengonfigurasi variabel lingkungan berikut:
FC_EXTENSION_ARMS=truedanFC_EXTENSIONS_ARMS_LICENSE_KEY=xxxxUntuk informasi lebih lanjut, lihat Konfigurasikan Variabel Lingkungan.
Di WebIDE halaman kode fungsi, buat file bootstrap dan klik Deploy.
Untuk informasi lebih lanjut, lihat Gunakan Skrip Bootstrap sebagai Perintah Startup.
Setelah Anda memperbarui konfigurasi dan menerapkan kode, fungsi ditambahkan ke ARMS untuk manajemen berperforma tinggi. Anda akan dikenakan biaya untuk menggunakan ARMS. Untuk informasi lebih lanjut, lihat Ikhtisar.
Jika Anda ingin melihat informasi pemantauan setelah fungsi Anda terhubung ke ARMS, pastikan ARMS berada di wilayah yang sama dengan fungsi Anda.
Pastikan ukuran memori fungsi Anda lebih besar dari 512 MB karena ARMS mengonsumsi sekitar 300 MB memori.
Periksa hasil eksekusi pekerjaan HTTP
Setelah Anda menghubungkan fungsi ke ARMS, Anda dapat melihat fungsi tersebut di konsol ARMS.
Anda juga dapat masuk ke Konsol ARMS. Di panel navigasi di sebelah kiri, pilih . Klik nama aplikasi yang diinginkan untuk melihat informasi pemantauan. Untuk informasi lebih lanjut, lihat Ikhtisar.
appName menunjukkan nama aplikasi target di skrip Bootstrap. Nilai defaultnya adalah FC:{FunctionName}.