Cara memantau aplikasi Spring Boot dengan Agen Java APM Elastis
Catatan
Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.
Artikel ini berlaku untuk: ✔️ Basic/Standard ❌ Enterprise
Artikel ini menjelaskan cara menggunakan Agen APM Elastis untuk memantau aplikasi Spring Boot yang berjalan di Azure Spring Apps.
Dengan Solusi Observabilitas Elastis, Anda dapat mencapai observabilitas terpadu untuk:
- Memantau aplikasi menggunakan Agen Java APM Elastis dan menggunakan penyimpanan persisten dengan Azure Spring Apps.
- Menggunakan pengaturan diagnostik untuk mengirimkan log Azure Spring Apps ke Elastis. Untuk informasi selengkapnya, lihat Menganalisis log dengan Elastis (ELK) menggunakan pengaturan diagnostik.
Video berikut memperkenalkan observabilitas terpadu untuk aplikasi Spring Boot menggunakan Elastis.
Prasyarat
Menyebarkan aplikasi Spring Petclinic
Artikel ini menggunakan sampel Spring Petclinic untuk mengikuti langkah-langkah yang diperlukan. Gunakan langkah-langkah berikut untuk menyebarkan aplikasi contoh:
Ikuti langkah-langkah di Menyebarkan aplikasi Spring Boot menggunakan Azure Spring Apps dan MySQL hingga Anda mencapai bagian Menyebarkan aplikasi Spring Boot dan mengatur variabel lingkungan.
Gunakan ekstensi Azure Spring Apps untuk Azure CLI dengan perintah berikut untuk membuat aplikasi yang dijalankan di Azure Spring Apps:
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --is-public true
Mengaktifkan penyimpanan persisten kustom untuk Azure Spring Apps
Gunakan langkah-langkah berikut untuk mengaktifkan penyimpanan persisten kustom:
Ikuti langkah-langkah di Cara mengaktifkan penyimpanan persisten Anda sendiri di Azure Spring Apps.
Gunakan perintah Azure CLI berikut untuk menambahkan penyimpanan persisten untuk aplikasi Azure Spring Apps Anda.
az spring app append-persistent-storage \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --persistent-storage-type AzureFileVolume \ --share-name <your-Azure-file-share-name> \ --mount-path <unique-mount-path> \ --storage-name <your-mounted-storage-name>
Mengaktifkan Agen Java APM Elastis
Sebelum melanjutkan, Anda memerlukan informasi konektivitas server Elastic APM, yang mengasumsikan Anda telah menyebarkan Elastic di Azure. Untuk informasi selengkapnya, lihat Cara menyebarkan dan mengelola Elastis di Microsoft Azure. Untuk mendapatkan informasi ini, gunakan langkah-langkah berikut:
Di portal Microsoft Azure, buka halaman Gambaran Umum penyebaran Elastis Anda, lalu pilih Kelola Penyebaran Cloud Elastis.
Di bawah penyebaran Anda di Elastic Cloud Console, pilih bagian APM & Fleet untuk mendapatkan titik akhir Elastic APM Server dan token rahasia.
Unduh Agen Java APM Elastis dari Maven Central.
Unggah Agen APM Elastis ke penyimpanan persisten kustom yang Anda aktifkan sebelumnya. Buka Azure Fileshare dan pilih Unggah untuk menambahkan file JAR agen.
Setelah Anda memiliki titik akhir APM Elastis dan token rahasia, gunakan perintah berikut untuk mengaktifkan agen Java APM Elastis saat menyebarkan aplikasi. Tempat penampung
<agent-location>
mengacu pada lokasi penyimpanan yang dipasang dari Agen Java APM Elastis.az spring app deploy \ --name <your-app-name> \ --artifact-path <unique-path-to-your-app-jar-on-custom-storage> \ --jvm-options='-javaagent:<elastic-agent-location>' \ --env ELASTIC_APM_SERVICE_NAME=<your-app-name> \ ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package-name>' \ ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>' \ ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
Mengotomatiskan penyediaan
Anda juga dapat menjalankan alur otomatisasi provisi menggunakan Terraform, Bicep, atau templat 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:<elastic-agent-location>"
...
environment_variables = {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
}
}
Mengotomatiskan provisi menggunakan file 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: {
ELASTIC_APM_SERVICE_NAME='<your-app-name>',
ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package>',
ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>',
ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
},
jvmOptions: '-javaagent:<elastic-agent-location>',
...
}
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": {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
},
"jvmOptions": "-javaagent:<elastic-agent-location>",
...
}
Meningkatkan Agen Java APM Elastis
Guna merencanakan peningkatan Anda, lihat Meningkatkan versi untuk Cloud Elastis di Azure, dan Melanggar Perubahan untuk APM. Setelah Anda meningkatkan APM Server, unggah file JAR agen Elastic APM Java di penyimpanan persisten kustom. Kemudian, mulai ulang aplikasi Anda dengan opsi JVM yang diperbarui yang menunjuk ke JAR agen Elastic APM Java yang ditingkatkan.
Memantau aplikasi dan metrik dengan APM Elastis
Gunakan langkah-langkah berikut untuk memantau aplikasi dan metrik:
Di portal Microsoft Azure, buka halaman Gambaran Umum penyebaran Elastis Anda, lalu pilih tautan Kibana.
Setelah Kibana terbuka, cari APM di bilah pencarian, lalu pilih APM.
APM Kibana adalah aplikasi yang dikumpulkan untuk mendukung alur kerja Pemantauan Aplikasi. Di sini Anda dapat melihat detail tingkat tinggi seperti waktu permintaan/respons, throughput, dan transaksi dalam layanan dengan dampak paling besar pada durasi.
Anda dapat menelusuri dengan sangat detail transaksi tertentu untuk memahami detail khusus transaksi seperti pelacakan terdistribusi.
Agen Java APM Elastis juga mengambil metrik JVM dari aplikasi Azure Spring Apps yang tersedia dengan Aplikasi Kibana bagi pengguna untuk pemecahan masalah.
Dengan menggunakan mesin AI bawaan dalam solusi Elastis, Anda juga dapat mengaktifkan Deteksi Anomali pada Layanan Azure Spring Apps dan memilih tindakan yang sesuai - seperti pemberitahuan Teams, pembuatan masalah JIRA, panggilan API berbasis webhook, dan lainnya.