Seperti halnya layanan pemantauan kinerja aplikasi (APM) utama lainnya, agen Application Real-Time Monitoring Service (ARMS) menggunakan instrumentasi bytecode berdasarkan kerangka kerja ASM untuk mengimplementasikan pengumpulan data pemantauan otomatis. Agen APM yang dikembangkan oleh vendor berbeda menggunakan kode berbeda untuk mengimplementasikan instrumentasi bytecode. Jika Anda memasang dua agen APM, instrumentasi bytecode akan dilakukan dua kali pada kode tersebut, yang dapat menyebabkan berbagai masalah seperti startup aplikasi yang lambat dan kehilangan data akibat konflik kode. Oleh karena itu, kami menyarankan agar Anda tidak memasang beberapa agen APM.
Jika Anda bermigrasi solusi pemantauan dari layanan APM pihak ketiga ke ARMS Application Monitoring, dua agen APM mungkin berkoeksistensi selama periode transisi. Untuk meningkatkan kompatibilitas antara agen, ARMS telah melakukan sejumlah besar tes kompatibilitas. Namun, ketika agen APM secara bersamaan meningkatkan Plugin untuk suatu aplikasi, konflik lokal masih dapat terjadi. Untuk mencegah konflik tersebut, Anda dapat menonaktifkan Plugin dalam konfigurasi kustom aplikasi.
Bahkan jika tidak ada konflik lokal, memasang beberapa agen APM tetap memengaruhi kinerja aplikasi. Pastikan hanya agen ARMS yang terpasang setelah migrasi selesai.
Selain itu, mekanisme cache SkyWalking memengaruhi kompatibilitas. Akibatnya, fitur-fitur ARMS seperti Arthas menjadi tidak tersedia. Jika Anda bermigrasi solusi pemantauan dari SkyWalking ke ARMS Application Monitoring, kami sarankan Anda menambahkan parameter berikut ke perintah startup Java selama periode transisi untuk menonaktifkan mekanisme cache. Untuk informasi lebih lanjut, lihat dokumentasi SkyWalking.
-Dskywalking.agent.is_cache_enhanced_class=true -Dskywalking.agent.class_cache_mode=MEMORY Jika Anda telah memasang agen ARMS dan agen SkyWalking, dan mengalami kesalahan startup aplikasi atau kesalahan permintaan bisnis waktu proses, Anda dapat menyesuaikan urutan pemasangan agen dan memulai ulang mereka. Gunakan salah satu metode berikut:
Ubah parameter startup
Anda perlu memodifikasi skrip dan memasang agen SkyWalking sebelum agen ARMS di dalam skrip. Perhatikan bahwa jika agen ARMS dipasang secara otomatis di kluster Container Service for Kubernetes (ACK), Anda dapat mencopot pemasangan agen tersebut, memasang ulang agen ARMS secara manual, lalu memodifikasi skrip.
Ambil Spring Boot sebagai contoh:
-javaagent:/home/admin/apache-skywalking-apm-bin/agent/skywalking-agent.jar -javaagent:/{user.workspace}/ArmsAgent/aliyun-java-agent.jarTambahkan parameter JVM
Untuk agen ARMS yang dipasang secara otomatis di kluster ACK, Anda juga dapat menambahkan parameter JVM ke kluster ACK untuk menyederhanakan modifikasi.
Masuk ke konsol ACK. Buka halaman Deployments kluster, temukan aplikasi, dan klik Edit di kolom Actions.
Di bagian Variabel Lingkungan, tambahkan parameter JVM agen SkyWalking dan klik Update.

Jika Anda telah memasang agen ARMS dan agen APM lainnya, seperti transmittableThreadLocal (TTL), Pinpoint, atau agen OTel, dan mengalami kesalahan startup aplikasi atau kesalahan permintaan bisnis waktu proses, Anda dapat menyesuaikan urutan pemasangan agen dan memulai ulang mereka dengan merujuk pada langkah-langkah sebelumnya. Namun, Anda perlu mengubah nama paket agen dan jalur pemasangan berdasarkan kebutuhan bisnis Anda. Sebagai contoh, gunakan salah satu metode berikut untuk agen TTL:
Ubah parameter startup
Anda perlu memodifikasi skrip dan memasang agen TTL sebelum agen ARMS di dalam skrip. Perhatikan bahwa jika agen ARMS dipasang secara otomatis di kluster ACK, Anda dapat mencopot pemasangan agen tersebut, memasang ulang agen ARMS secara manual, lalu memodifikasi skrip.
Ambil Spring Boot sebagai contoh:
-javaagent:/home/admin/transmittable-thread-local-2.14.2.jar -javaagent:/{user.workspace}/ArmsAgent/aliyun-java-agent.jarTambahkan parameter JVM
Untuk agen ARMS yang dipasang secara otomatis di kluster ACK, Anda juga dapat menambahkan parameter JVM ke kluster ACK untuk menyederhanakan modifikasi.
Masuk ke konsol ACK. Buka halaman Deployments kluster, temukan aplikasi, dan klik Edit di kolom Actions.
Di bagian Variabel Lingkungan, tambahkan parameter JVM agen TTL dan klik Update.

Jika Anda menggunakan alat enkripsi untuk mengenkripsi bytecode, pastikan agen memenuhi persyaratan berikut untuk menghindari kegagalan startup:
Agen kustom berjalan sebelum agen ARMS.
Versi agen ARMS adalah 4.x atau lebih baru. Untuk informasi lebih lanjut, lihat Catatan rilis agen ARMS untuk Java.