Menggunakan Agen Dalam Proses Java Application Insights di Azure Spring Apps
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.
Dengan aplikasi Spring Boot Native Image, gunakan azure Monitor OpenTelemetry Distro / Application Insights di proyek aplikasi Java gambar asli Spring Boot alih-alih agen Application Insights Java.
Artikel ini berlaku untuk: ✔️ Konsumsi standar dan khusus (Pratinjau) ✔️ Basic/Standard ✔️ Enterprise
Artikel ini menjelaskan cara memantau aplikasi dengan menggunakan Agen Java Application Insights di Azure Spring Apps.
Dengan fitur ini Anda dapat:
- Telusuri data penelusuran dengan filter berbeda.
- Lihat peta dependensi aplikasi Spring.
- Periksa kinerja permintaan.
- Pantau metrik langsung real time.
- Periksa kegagalan permintaan.
- Periksa metrik aplikasi.
- Periksa log aplikasi.
Application Insights memberikan banyak perspektif yang dapat diamati, termasuk:
- Peta aplikasi
- Performa
- Kegagalan
- Metrik
- Metrik Langsung
- Ketersediaan
- Log
Menggunakan fitur Application Insights
Saat fitur Application Insights diaktifkan, Anda dapat:
Di panel navigasi, pilih Application Insights untuk melihat halaman Gambaran Umum Application Insights. Halaman Gambaran Umum menunjukkan gambaran umum semua aplikasi yang sedang berjalan.
Klik Peta Aplikasi untuk melihat status panggilan antar aplikasi.
Pilih tautan antara pelanggan-layanan dan
petclinic
untuk melihat detail selengkapnya seperti kueri dari SQL.Pilih titik akhir untuk melihat semua aplikasi yang membuat permintaan ke titik akhir.
Di panel navigasi, pilih Performa untuk melihat data performa semua operasi, dependensi, dan peran aplikasi.
Di panel navigasi, pilih Kegagalan untuk melihat kegagalan atau pengecualian yang tidak terduga dari aplikasi Anda.
Di panel navigasi, pilih Metrik dan pilih namespace layanan untuk melihat metrik Spring Boot dan metrik kustom, jika ada.
Di panel navigasi, pilih Metrik Langsung untuk melihat metrik real-time untuk dimensi yang berbeda.
Di panel navigasi, pilih Ketersediaan untuk memantau ketersediaan dan respons aplikasi Web dengan membuat pengujian Ketersediaan di Application Insights.
Di panel navigasi, pilih Log untuk menampilkan semua log aplikasi, atau satu log aplikasi saat memfilter menurut
cloud_RoleName
.
Mengelola Application Insights menggunakan portal Azure
Aktifkan Java In-Process Agent dengan menggunakan prosedur berikut ini.
Buka layanan | Halaman gambaran umum instans layanan Anda lalu pilih Application Insights di bagian Pemantauan.
Pilih Aktifkan Application Insights untuk mengaktifkan Application Insights di Azure Spring Apps.
Pilih instans Application Insights yang ada atau buat yang baru.
Saat Application Insights diaktifkan, Anda dapat mengonfigurasi satu rasio pengambilan sampel opsional (default 10,0%).
Pilih Simpan untuk menyimpan perubahan.
Catatan
Jangan gunakan instans Application Insights yang sama di instans Azure Spring Apps yang berbeda, atau Anda ditampilkan data campuran.
Anda dapat menggunakan Portal untuk memeriksa atau memperbarui pengaturan saat ini di Application Insights.
Mengaktifkan Application Insights menggunakan portal Azure
Pilih Application Insights.
Aktifkan Application Insights dengan memilih Edit pengikatan, atau hyperlink Tidak Terikat.
Edit Application Insights atau Tingkat pengambilan sampel, lalu pilih Simpan.
Menonaktifkan Application Insights
Pilih Application Insights.
Pilih Lepas pengikatan untuk menonaktifkan Application Insights.
Mengubah Pengaturan Application Insights
Pilih nama di bawah kolom Application Insights untuk membuka bagian Application Insights.
Mengedit pengikatan buildpack Application Insights di Layanan Build
Untuk memeriksa dan memperbarui pengaturan saat ini untuk pengikatan buildpack Application Insights di Layanan Build, ikuti langkah-langkah berikut:
- Pilih Layanan Build.
- Pilih penyusun Anda.
- Pilih Edit di bagian kolom Pengikatan.
Pengaturan Application Insights ada di item ApplicationInsights yang tercantum di kolom Jenis pengikatan.
Pilih hyperlink Terikat, atau pilih Edit Pengikatan di bawah elips, untuk membuka dan mengedit pengikatan buildpack Application Insights.
Edit pengaturan pengikatan, lalu pilih Simpan.
Mengelola Application Insights menggunakan Azure CLI
Anda dapat mengelola Application Insights menggunakan perintah Azure CLI. Dalam perintah berikut, pastikan untuk mengganti teks <tempat penampung> dengan nilai yang dijelaskan. Tempat penampung <service-instance-name> mengacu pada nama instans Azure Spring Apps Anda.
Mengaktifkan Application Insights
Untuk mengonfigurasi Application Insights saat membuat instans Azure Spring Apps, gunakan perintah berikut. Untuk app-insights
argumen, Anda dapat menentukan nama Application Insights atau ID sumber daya.
az spring create \
--resource-group <resource-group-name> \
--name "service-instance-name" \
--app-insights <name-or-resource-ID> \
--sampling-rate <sampling-rate>
az spring create \
--resource-group <resource-group-name> \
--name "service-instance-name" \
--app-insights <name-or-resource-ID> \
--sampling-rate <sampling-rate> \
--sku Enterprise
Anda juga dapat menggunakan string koneksi Application Insights (lebih disukai) atau kunci instrumentasi, seperti yang ditunjukkan dalam contoh berikut.
az spring create \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--app-insights-key <connection-string-or-instrumentation-key> \
--sampling-rate <sampling-rate>
az spring create \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--app-insights-key <connection-string-or-instrumentation-key> \
--sampling-rate <sampling-rate> \
--sku Enterprise
Menonaktifkan Application Insights
Untuk menonaktifkan Application Insights saat membuat instans Azure Spring Apps, gunakan perintah berikut:
az spring create \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--disable-app-insights
az spring create \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--disable-app-insights \
--sku Enterprise
Memeriksa pengaturan Application Insights
Untuk memeriksa pengaturan Application Insights dari instans Azure Spring Apps yang ada, gunakan perintah berikut:
az spring app-insights show \
--resource-group <resource-group-name> \
--name <service-instance-name>
Memperbarui Application Insights
Untuk memperbarui Application Insights agar menggunakan string koneksi (lebih diutamakan) atau kunci instrumentasi, gunakan perintah berikut:
az spring app-insights update \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--app-insights-key <connection-string-or-instrumentation-key> \
--sampling-rate <sampling-rate>
Untuk memperbarui Application Insights agar menggunakan nama sumber daya atau ID, gunakan perintah berikut:
az spring app-insights update \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--app-insights <name-or-resource-ID> \
--sampling-rate <sampling-rate>
Menonaktifkan Application Insights dengan perintah perbarui
Untuk menonaktifkan Application Insights pada instans Azure Spring Apps yang ada, gunakan perintah berikut:
az spring app-insights update \
--resource-group <resource-group-name> \
--name <service-instance-name> \
--disable
Mengelola pengikatan buildpack Application Insights
Bagian ini hanya berlaku untuk paket Enterprise, dan memberikan instruksi yang melengkapi bagian sebelumnya.
Paket Azure Spring Apps Enterprise menggunakan pengikatan buildpack untuk mengintegrasikan Azure Application Insights dengan jenis ApplicationInsights
. Untuk informasi selengkapnya, lihat Cara mengonfigurasi integrasi APM dan sertifikat CA.
Untuk membuat pengikatan buildpack Application Insights, gunakan perintah berikut:
az spring build-service builder buildpack-binding create \
--resource-group <your-resource-group-name> \
--service <your-service-instance-name> \
--name <your-binding-name> \
--builder-name <your-builder-name> \
--type ApplicationInsights \
--properties sampling-percentage=<your-sampling-percentage> \
connection-string=<your-connection-string>
Untuk mencantumkan semua pengikatan buildpack, dan menemukan Application Insights mengikat jenis ApplicationInsights
, gunakan perintah berikut:
az spring build-service builder buildpack-binding list \
--resource-group <your-resource-group-name> \
--service <your-service-resource-name> \
--builder-name <your-builder-name>
Untuk mengganti pengikatan buildpack Application Insights, gunakan perintah berikut:
az spring build-service builder buildpack-binding set \
--resource-group <your-resource-group-name> \
--service <your-service-instance-name> \
--name <your-binding-name> \
--builder-name <your-builder-name> \
--type ApplicationInsights \
--properties sampling-percentage=<your-sampling-percentage> \
connection-string=<your-connection-string>
Untuk mendapatkan pengikatan buildpack Application Insights, gunakan perintah berikut:
az spring build-service builder buildpack-binding show \
--resource-group <your-resource-group-name> \
--service <your-service-instance-name> \
--name <your-binding-name> \
--builder-name <your-builder-name>
Untuk menghapus pengikatan buildpack Application Insights, gunakan perintah berikut:
az spring build-service builder buildpack-binding delete \
--resource-group <your-resource-group-name> \
--service <your-service-instance-name> \
--name <your-binding-name> \
--builder-name <your-builder-name>
Automation
Bagian berikut menjelaskan cara mengotomatiskan penyebaran Anda menggunakan Bicep, templat Azure Resource Manager (templat ARM) atau Terraform.
Bicep
Untuk menyebarkan menggunakan file Bicep, salin konten berikut ke dalam file main.bicep . Untuk informasi selengkapnya, lihat Microsoft.AppPlatform Spring/monitoringSettings.
param springName string
param location string = resourceGroup().location
resource spring 'Microsoft.AppPlatform/Spring@2020-07-01' = {
name: springName
location: location
properties: {}
}
resource monitorSetting 'Microsoft.AppPlatform/Spring/monitoringSettings@2020-11-01-preview' = {
parent: spring
name: 'default'
properties: {
appInsightsInstrumentationKey: '00000000-0000-0000-0000-000000000000'
appInsightsSamplingRate: 88
}
}
Templat ARM
Untuk menyebarkan menggunakan templat ARM, salin konten berikut ke dalam file azuredeploy.json. Untuk informasi selengkapnya, lihat Microsoft.AppPlatform Spring/monitoringSettings.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"springName": {
"type": "string"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.AppPlatform/Spring",
"apiVersion": "2020-07-01",
"name": "[parameters('springName')]",
"location": "[parameters('location')]",
"properties": {}
},
{
"type": "Microsoft.AppPlatform/Spring/monitoringSettings",
"apiVersion": "2020-11-01-preview",
"name": "[format('{0}/{1}', parameters('springName'), 'default')]",
"properties": {
"appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
"appInsightsSamplingRate": 88
},
"dependsOn": [
"[resourceId('Microsoft.AppPlatform/Spring', parameters('springName'))]"
]
}
]
}
Terraform
Untuk penyebaran Terraform, gunakan templat berikut. Untuk informasi selengkapnya, lihat azurerm_spring_cloud_service.
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}
resource "azurerm_application_insights" "example" {
name = "tf-test-appinsights"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
application_type = "web"
}
resource "azurerm_spring_cloud_service" "example" {
name = "example-springcloud"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
sku_name = "S0"
config_server_git_setting {
uri = "https://github.com/Azure-Samples/piggymetrics"
label = "config"
search_paths = ["dir1", "dir2"]
}
trace {
connection_string = azurerm_application_insights.example.connection_string
sample_rate = 10.0
}
tags = {
Env = "staging"
}
}
Automation dalam paket Enterprise menunggu dukungan. Dokumentasi ditambahkan segera setelah tersedia.
Pembaruan/peningkatan agen Java
Agen Java diperbarui/ditingkatkan secara teratur dengan JDK, yang dapat memengaruhi skenario berikut.
Catatan
Versi JDK diperbarui/ditingkatkan triwulanan per tahun.
- Aplikasi yang ada yang menggunakan agen Java sebelum memperbarui/memutakhirkan tidak terpengaruh.
- Aplikasi yang dibuat setelah memperbarui/memutakhirkan menggunakan versi baru agen Java.
- Aplikasi yang ada yang sebelumnya tidak menggunakan agen Java memerlukan mulai ulang atau penyebaran ulang untuk menggunakan versi baru agen Java.
Agen Java diperbarui/ditingkatkan saat buildpack diperbarui.
Pemuatan-panas konfigurasi agen Java
Azure Spring Apps memiliki mekanisme pemuatan panas untuk menyesuaikan pengaturan konfigurasi agen tanpa memulai ulang aplikasi.
Catatan
Mekanisme pemuatan panas memiliki penundaan dalam beberapa menit.
Jika agen Java sudah diaktifkan, perubahan pada instans atau
SamplingRate
nilai Application Insights tidak memerlukan mulai ulang aplikasi.Jika Anda mengaktifkan agen Java, maka Anda harus memulai ulang aplikasi.
Saat Anda menonaktifkan agen Java, aplikasi berhenti mengirim semua data pemantauan setelah penundaan dalam beberapa menit. Anda dapat memulai ulang aplikasi untuk menghapus agen dari lingkungan runtime Java.
Pencocokan konsep antara Azure Spring Apps dan Application Insights
Azure Spring Apps | Application Insights |
---|---|
App |
* Peta/PeranAplikasi * Metrik/PeranAplikasi * Kegagalan/Peran/Peran Cloud * Kinerja/Peran/Peran Cloud |
App Instance |
* Peta/ PeranAplikasi * Metrik Langsung/Nama Layanan * Kegagalan/Peran/Peran Cloud * Kinerja/Peran/Instans Cloud |
Nama App Instance
dari Azure Spring Apps diubah atau dihasilkan dalam skenario berikut:
- Anda membuat aplikasi baru.
- Anda menerapkan file JAR atau kode sumber ke aplikasi yang sudah ada.
- Anda memulai penyebaran biru/hijau.
- Anda mulai ulang aplikasi.
- Anda menghentikan penyebaran aplikasi, lalu memulai ulang.
Ketika data disimpan dalam Application Insights, data itu akan memuat riwayat instans aplikasi Azure Spring Apps yang dibuat atau disebarkan sejak agen Java diaktifkan. Misalnya, di portal Application Insights, Anda dapat melihat data aplikasi yang dibuat kemarin, tetapi kemudian dihapus dalam rentang waktu tertentu, seperti 24 jam terakhir. Skenario berikut menunjukkan cara kerjanya:
- Anda membuat aplikasi sekitar pukul 8:00 pagi hari ini dari Azure Spring Apps dengan agen Java yang diaktifkan, kemudian Anda menyebarkan file JAR ke aplikasi ini sekitar pukul 8:10 pagi hari ini. Setelah beberapa pengujian, Anda mengubah kode dan menyebarkan file JAR baru ke aplikasi ini pada pukul 8:30 pagi hari ini. Kemudian, Anda beristirahat, dan ketika Anda kembali sekitar pukul 11:00 pagi, Anda memeriksa beberapa data dari Application Insights. Anda melihat:
- Tiga instans dalam Peta Aplikasi dengan rentang waktu dalam 24 jam terakhir, serta Kegagalan, Performa, dan Metrik.
- Satu instans dalam Peta Aplikasi dengan rentang waktu dalam satu jam terakhir, serta Kegagalan, Performa, dan Metrik.
- Satu instans dalam Metrik Langsung.
- Anda membuat aplikasi sekitar pukul 8:00 pagi hari ini dari Azure Spring Apps dengan agen Java yang diaktifkan, kemudian Anda menyebarkan file JAR ke aplikasi ini sekitar pukul 8:10 pagi hari ini. Sekitar pukul 8:30 pagi hari ini, Anda mencoba penyebaran biru/hijau dengan file JAR lain. Saat ini, Anda memiliki dua penyebaran untuk aplikasi ini. Setelah istirahat sekitar pukul 11:00 pagi hari ini, Anda ingin memeriksa beberapa data dari Application Insights. Anda melihat:
- Tiga instans dalam Peta Aplikasi dengan rentang waktu dalam 24 jam terakhir, serta Kegagalan, Performa, dan Metrik.
- Dua instans dalam Peta Aplikasi dengan rentang waktu dalam satu jam terakhir, serta Kegagalan, Performa, dan Metrik.
- Dua instans dalam Metrik Langsung.