Cara memantau aplikasi Spring Boot dengan AppDynamics Java Agent
Catatan
Paket Basic, Standard, dan Enterprise tidak digunakan lagi mulai pertengahan Maret 2025, dengan periode penghentian 3 tahun. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat pengumuman penghentian Azure Spring Apps.
Konsumsi Standar dan paket khusus akan ditolak mulai 30 September 2024, dengan pematian lengkap setelah enam bulan. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat Memigrasikan konsumsi Azure Spring Apps Standard dan paket khusus ke Azure Container Apps.
Artikel ini berlaku untuk: ✔️ Konsumsi standar dan khusus (Pratinjau) ✔️ Basic/Standard ❌️ Enterprise
Artikel ini menjelaskan cara menggunakan Agen Java AppDynamics untuk memantau aplikasi Spring Boot di Azure Spring Apps.
Dengan AppDynamics Java Agent, Anda dapat:
- Memantau aplikasi
- Mengonfigurasi AppDynamics Java Agent menggunakan variabel lingkungan
- Memeriksa semua data pemantauan dari dasbor AppDynamics
Video berikut memperkenalkan agen dalam proses AppDynamics Java.
Prasyarat
Mengaktifkan agen dalam proses AppDynamics Java
Untuk seluruh alur kerja, Anda perlu:
- Mengaktifkan agen dalam proses Java AppDynamics di Azure Spring Apps untuk menghasilkan data metrik aplikasi.
- Sambungkan AppDynamics Agent ke AppDynamics Controller untuk mengumpulkan dan memvisualisasikan data di pengontrol.
Mengaktifkan aplikasi dengan AppDynamics Agent menggunakan Azure CLI
Untuk mengaktifkan aplikasi melalui Azure CLI, gunakan langkah-langkah berikut.
Buat grup sumber daya.
Buat instans Azure Spring Apps.
Buat aplikasi menggunakan perintah berikut. Ganti tempat penampung <...> dengan nilai Anda sendiri.
az spring app create \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --is-public true
Buat penyebaran dengan AppDynamics Agent menggunakan variabel lingkungan.
az spring app deploy \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --artifact-path app.jar \ --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \ --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \ APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \ APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \ APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \ APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \ APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \ APPDYNAMICS_CONTROLLER_PORT=443
Azure Spring Apps menginstal lebih dulu agen Java AppDynamics ke jalur /opt/agents/appdynamics/java/javaagent.jar. Anda dapat mengaktifkan agen dari opsi JVM aplikasi Anda, lalu mengonfigurasi agen menggunakan variabel lingkungan. Anda dapat menemukan nilai untuk variabel ini di Memantau Azure Spring Apps dengan Agen Java. Untuk informasi selengkapnya tentang bagaimana variabel ini membantu menampilkan dan mengatur laporan di antarmuka pengguna AppDynamics, lihat Tingkat dan Node.
Mengaktifkan aplikasi dengan AppDynamics Agent menggunakan portal Azure
Untuk mengaktifkan aplikasi melalui portal Azure, gunakan langkah-langkah berikut.
Buka instans Azure Spring Apps Anda di portal Azure.
Pilih Aplikasi di bagian Pengaturan panel navigasi.
Pilih aplikasi, lalu pilih Konfigurasi di panel navigasi.
Gunakan tab Pengaturan umum untuk memperbarui nilai seperti opsi JVM.
Pilih Variabel lingkungan untuk menambahkan atau memperbarui variabel yang digunakan oleh aplikasi Anda.
Mengotomatiskan penyediaan
Anda juga dapat menjalankan alur otomatisasi provisi menggunakan templat Terraform, Bicep, atau Azure Resource Manager (templat ARM). Alur ini dapat memberikan pengalaman penyerahan yang lengkap untuk instrumen dan memantau setiap aplikasi baru yang Anda buat dan sebarkan.
Melakukan provisi otomatis dengan menggunakan Terraform
Untuk mengonfigurasi variabel lingkungan di template Terraform, tambahkan kode berikut ke template, ganti tempat penampung <...> dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Mengelola Penyebaran Azure Spring Apps Aktif.
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:/opt/agents/appdynamics/java/javaagent.jar"
...
environment_variables = {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
}
}
Mengotomatiskan provisi menggunakan Bicep
Untuk mengonfigurasi variabel lingkungan dalam file Bicep, tambahkan kode berikut ke file, ganti <tempat penampung ...> dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Microsoft.AppPlatform Spring/apps/deployments.
deploymentSettings: {
environmentVariables: {
APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
APPDYNAMICS_CONTROLLER_PORT : '443'
}
jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}
Melakukan provisi otomatis dengan menggunakan templat ARM
Untuk mengonfigurasi variabel lingkungan di template ARM, tambahkan kode berikut ke template, ganti tempat penampung <...> dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Microsoft.AppPlatform Spring/apps/deployments.
"deploymentSettings": {
"environmentVariables": {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
},
"jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
...
}
Meninjau laporan di dasbor AppDynamics
Bagian ini memperlihatkan berbagai laporan di AppDynamics.
Cuplikan layar berikut memperlihatkan ringkasan aplikasi Anda di dasbor AppDynamics:
Tab Aplikasi memperlihatkan informasi keseluruhan untuk setiap aplikasi Anda, seperti yang ditunjukkan pada cuplikan layar berikut menggunakan contoh aplikasi:
Cuplikan layar berikut memperlihatkan bagaimana Anda bisa mendapatkan informasi dasar dari dasbor Panggilan Database.
Anda juga bisa mendapatkan informasi tentang panggilan database paling lambat, seperti yang diperlihatkan pada cuplikan layar ini:
Cuplikan layar berikut memperlihatkan analisis penggunaan memori di bagian Tumpukan dari halaman Memori:
Anda juga dapat melihat proses pengumpulan sampah, seperti yang diperlihatkan pada cuplikan layar ini:
Cuplikan layar berikut memperlihatkan halaman Transaksi Lambat:
Anda dapat menentukan lebih banyak metrik untuk JVM, seperti yang diperlihatkan pada cuplikan layar Browser Metrik ini:
Menampilkan log AppDynamics Agent
Secara default, Azure Spring Apps mencetak log tingkat info Agen AppDynamics ke STDOUT
. Log dicampur dengan log aplikasi. Anda dapat menemukan versi agen eksplisit dari log aplikasi.
Anda juga bisa mendapatkan log AppDynamics Agent dari lokasi berikut:
- Log Aplikasi Azure Spring
- Application Insights Azure Spring Apps
- Azure Spring Apps LogStream
Pelajari tentang peningkatan AppDynamics Agent
AppDynamics Agent ditingkatkan secara teratur dengan JDK (triwulanan). Peningkatan agen mungkin memengaruhi skenario berikut:
- Aplikasi yang ada menggunakan AppDynamics Agent sebelum peningkatan tidak berubah, tetapi memerlukan mulai ulang atau sebarkan ulang untuk melibatkan versi baru AppDynamics Agent.
- Aplikasi yang dibuat setelah peningkatan menggunakan versi baru AppDynamics Agent.
Mengonfigurasi lalu lintas keluar instans injeksi jaringan virtual
Untuk instans injeksi jaringan virtual Azure Spring Apps, pastikan lalu lintas keluar dikonfigurasi dengan benar untuk AppDynamics Agent. Untuk detailnya, lihat Cisco AppDynamics SaaS Domains dan IP Ranges dan Tanggung jawab pelanggan untuk menjalankan Azure Spring Apps di jaringan virtual.
Memahami batasannya
Untuk memahami batasan Agen AppDynamics, lihat Memantau Azure Spring Apps dengan Agen Java.
Langkah berikutnya
Menggunakan Agen Dalam Proses Java Application Insights di Azure Spring Apps