Mengaktifkan pemantauan aplikasi di Azure App Service untuk aplikasi .NET, Node.js, Python, dan Java
Artikel
Autoinstrumentasi, juga disebut sebagai pemantauan runtime , adalah cara term mudah untuk mengaktifkan Application Insights untuk Azure App Service tanpa memerlukan perubahan kode atau konfigurasi tingkat lanjut. Berdasarkan skenario spesifik Anda, evaluasi apakah Anda memerlukan pemantauan yang lebih canggih melalui instrumentasi manual.
Catatan
Pada tanggal 31 Maret 2025, dukungan untuk penyerapan kunci instrumentasi akan berakhir. Penyerapan kunci instrumentasi akan berjalan terus, namun kami tidak akan lagi menyediakan pembaruan atau dukungan terhadap fitur tersebut. Transisi ke string koneksi untuk memanfaatkan kemampuan baru.
Jika pemantauan autoinstrumentasi dan instrumentasi berbasis SDK manual terdeteksi, hanya pengaturan instrumentasi manual yang dihormati. Pengaturan ini mencegah data duplikat dikirim. Untuk mempelajari selengkapnya, lihat Pemecahan Masalah.
Pilih Application Insights di menu navigasi sebelah kiri layanan aplikasi Anda, lalu pilih Aktifkan.
Buat sumber daya baru atau pilih sumber daya Application Insights yang ada untuk aplikasi ini.
Catatan
Saat Anda memilih OK untuk membuat sumber daya baru, Anda akan diminta untuk Menerapkan pengaturan pemantauan. Memilih Lanjutkan menautkan sumber daya Application Insights baru Anda ke layanan aplikasi Anda. Layanan aplikasi Anda kemudian dimulai ulang.
Setelah menentukan sumber daya mana yang akan digunakan, Anda dapat memilih bagaimana Anda ingin Application Insights mengumpulkan data per platform untuk aplikasi Anda. ASP.NET Opsi pengumpulan inti Direkomendasikan atau Dinonaktifkan.
Penting
Jika pemantauan autoinstrumentasi dan instrumentasi berbasis SDK manual terdeteksi, hanya pengaturan instrumentasi manual yang dihormati. Pengaturan ini mencegah data duplikat dikirim. Untuk mempelajari selengkapnya, lihat Pemecahan Masalah.
Catatan
Kombinasi dan APPINSIGHTS_JAVASCRIPT_ENABLEDurlCompression tidak didukung. Untuk informasi selengkapnya, lihat Pemecahan masalah.
Autoinstrumentasi di portal Azure
Pilih Application Insights di menu navigasi sebelah kiri layanan aplikasi Anda, lalu pilih Aktifkan.
Buat sumber daya baru atau pilih sumber daya Application Insights yang ada untuk aplikasi ini.
Catatan
Saat Anda memilih OK untuk membuat sumber daya baru, Anda akan diminta untuk Menerapkan pengaturan pemantauan. Memilih Lanjutkan menautkan sumber daya Application Insights baru Anda ke layanan aplikasi Anda. Layanan aplikasi Anda kemudian dimulai ulang.
Setelah menentukan sumber daya mana yang akan digunakan, Anda dapat memilih bagaimana Anda ingin Application Insights mengumpulkan data per platform untuk aplikasi Anda. ASP.NET pemantauan aplikasi aktif secara default dengan dua tingkat pengumpulan yang berbeda, Direkomendasikan dan Dasar.
Tabel berikut ini meringkas data yang dikumpulkan untuk setiap rute.
Data
Direkomendasikan
Dasar
Menambahkan tren penggunaan CPU, memori, dan I/O
Ya
Tidak
Mengumpulkan tren penggunaan, dan memungkinkan korelasi dari ketersediaan hasil hingga transaksi
Ya
Ya
Mengumpulkan pengecualian yang tidak ditangani oleh proses yang tersedia
Ya
Ya
Meningkatkan ketepatan metrik APM di bawah beban, saat pengambilan sampel digunakan
Ya
Ya
Mengorelasikan layanan mikro melintasi batas permintaan/dependensi
Pilih Application Insights di menu navigasi sebelah kiri layanan aplikasi Anda, lalu pilih Aktifkan.
Buat sumber daya baru atau pilih sumber daya Application Insights yang ada untuk aplikasi ini.
Catatan
Saat Anda memilih OK untuk membuat sumber daya baru, Anda akan diminta untuk Menerapkan pengaturan pemantauan. Memilih Lanjutkan menautkan sumber daya Application Insights baru Anda ke layanan aplikasi Anda. Layanan aplikasi Anda kemudian dimulai ulang.
Penting
Jika pemantauan autoinstrumentasi dan instrumentasi berbasis SDK manual terdeteksi, hanya pengaturan instrumentasi manual yang dihormati. Pengaturan ini mencegah data duplikat dikirim. Untuk mempelajari selengkapnya, lihat bagian Pemecahan Masalah.
Catatan
Anda dapat mengonfigurasi agen yang terpasang secara otomatis menggunakan APPLICATIONINSIGHTS_CONFIGURATION_CONTENT variabel lingkungan di bilah variabel Lingkungan App Service. Untuk detail tentang opsi konfigurasi yang dapat diteruskan melalui variabel lingkungan ini, lihat Konfigurasi Node.js.
Application Insights untuk Node.js terintegrasi dengan Azure App Service di Linux - kontainer berbasis kode dan kustom, dan dengan App Service di Windows untuk aplikasi berbasis kode. Integrasinya ada di pratinjau publik.
Autoinstrumentasi di portal Azure
Pilih Application Insights di menu navigasi sebelah kiri layanan aplikasi Anda, lalu pilih Aktifkan.
Buat sumber daya baru atau pilih sumber daya Application Insights yang ada untuk aplikasi ini.
Catatan
Saat Anda memilih OK untuk membuat sumber daya baru, Anda akan diminta untuk Menerapkan pengaturan pemantauan. Memilih Lanjutkan menautkan sumber daya Application Insights baru Anda ke layanan aplikasi Anda. Layanan aplikasi Anda kemudian dimulai ulang.
Setelah Anda menentukan sumber daya mana yang akan digunakan, Anda siap untuk pergi.
Hanya gunakan autoinstrumentasi di App Service jika Anda tidak menggunakan instrumentasi manual OpenTelemetry dalam kode Anda, seperti Distro OpenTelemetry Azure Monitor atau Pengekspor OpenTelemetry Azure Monitor. Hal ini untuk mencegah data duplikat dikirim. Untuk mempelajari selengkapnya tentang ini, lihat bagian pemecahan masalah di artikel ini.
Application Insights untuk Python terintegrasi dengan Linux Azure App Service berbasis kode. Integrasi berada dalam pratinjau publik dan menambahkan Python SDK, yang ada di GA. Ini instrumen pustaka Python populer dalam kode Anda, memungkinkan Anda secara otomatis mengumpulkan dan menghubungkan dependensi, log, dan metrik. Untuk melihat panggilan dan metrik mana yang dikumpulkan, lihat Pustaka Python
Telemetri pengelogan dikumpulkan pada tingkat pencatat akar. Untuk mempelajari lebih lanjut tentang hierarki pengelogan asli Python, kunjungi dokumentasi pengelogan Python.
Prasyarat
Python versi 3.11 atau yang lebih lama.
App Service harus disebarkan sebagai kode. Kontainer kustom tidak didukung.
Autoinstrumentasi di portal Azure
Pilih Application Insights di menu navigasi sebelah kiri layanan aplikasi Anda, lalu pilih Aktifkan.
Buat sumber daya baru atau pilih sumber daya Application Insights yang ada untuk aplikasi ini.
Catatan
Saat Anda memilih OK untuk membuat sumber daya baru, Anda akan diminta untuk Menerapkan pengaturan pemantauan. Memilih Lanjutkan menautkan sumber daya Application Insights baru Anda ke layanan aplikasi Anda. Layanan aplikasi Anda kemudian dimulai ulang.
Anda menentukan sumber daya, dan siap digunakan.
Pustaka Python
Setelah instrumenting, Anda mengumpulkan panggilan dan metrik dari pustaka Python ini:
Untuk menggunakan instrumentasi OpenTelemetry Django, Anda perlu mengatur DJANGO_SETTINGS_MODULE variabel lingkungan di pengaturan App Service untuk mengarahkan dari folder aplikasi Anda ke modul pengaturan Anda.
Untuk informasi selengkapnya, lihat dokumentasi Django.
Menambahkan pustaka instrumentasi komunitas
Anda dapat mengumpulkan lebih banyak data secara otomatis saat menyertakan pustaka instrumentasi dari komunitas OpenTelemetry.
Perhatian
Kami tidak mendukung atau menjamin kualitas pustaka instrumentasi komunitas. Untuk menyarankan satu untuk distro, posting, atau up-vote kami di komunitas umpan balik kami. Perlu diketahui, beberapa didasarkan pada spesifikasi OpenTelemetry eksperimental dan mungkin memperkenalkan perubahan yang melanggar di masa depan.
Untuk menambahkan Pustaka Instrumentasi OpenTelemetry komunitas, instal melalui file aplikasi requirements.txt Anda. Autoinstrumentasi OpenTelemetry secara otomatis mengambil dan instrumen semua pustaka yang diinstal. Temukan daftar pustaka komunitas di sini.
Meningkatkan ekstensi/agen pemantauan secara manual
Pemutakhiran dari versi 2.8.9 terjadi secara otomatis, tanpa tindakan tambahan. Bit pemantauan baru dikirimkan di latar belakang ke layanan aplikasi target, dan diambil pada mulai ulang aplikasi.
Untuk memeriksa versi ekstensi yang Anda jalankan, buka https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Upgrade dari versi 1.0.0 - 2.6.5
Dimulai dengan versi 2.8.9, ekstensi situs yang telah diinstal sebelumnya digunakan. Jika Anda menggunakan versi yang lebih lama, Anda dapat memperbarui melalui salah satu dari dua cara:
Tingkatkan dengan mengaktifkan melalui portal Azure: Bahkan jika Anda memiliki ekstensi Application Insights untuk App Service yang terinstal, UI hanya menampilkan tombol Aktifkan. Di balik layar, ekstensi situs privat lama dihapus.
Atur pengaturan aplikasi untuk mengaktifkan ekstensi ApplicationInsightsAgentsitus yang telah diinstal sebelumnya. Untuk informasi selengkapnya, lihat Mengaktifkan melalui PowerShell.
Hapus ekstensi situs privat bernama ekstensi Application Insights secara manual untuk Azure App Service.
Jika peningkatan dilakukan dari versi sebelum 2.5.1, periksa apakah ApplicationInsights DLL dihapus dari folder bin aplikasi. Untuk informasi selengkapnya, lihat Pemecahan masalah.
Tingkatkan dari versi 2.8.9 dan yang lebih tinggi
Pemutakhiran dari versi 2.8.9 terjadi secara otomatis, tanpa tindakan tambahan. Bit pemantauan baru dikirimkan di latar belakang ke layanan aplikasi target, dan diambil pada mulai ulang aplikasi.
Untuk memeriksa versi ekstensi yang Anda jalankan, buka https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Upgrade dari versi 1.0.0 - 2.6.5
Dimulai dengan versi 2.8.9, ekstensi situs yang telah diinstal sebelumnya digunakan. Jika Anda menggunakan versi yang lebih lama, Anda dapat memperbarui melalui salah satu dari dua cara:
Tingkatkan dengan mengaktifkan melalui portal Azure: Bahkan jika Anda memiliki ekstensi Application Insights untuk App Service yang terinstal, UI hanya menampilkan tombol Aktifkan. Di balik layar, ekstensi situs privat lama dihapus.
Atur pengaturan aplikasi untuk mengaktifkan ekstensi ApplicationInsightsAgentsitus yang telah diinstal sebelumnya. Untuk informasi selengkapnya, lihat Mengaktifkan melalui PowerShell.
Hapus ekstensi situs privat bernama ekstensi Application Insights secara manual untuk Azure App Service.
Jika peningkatan dilakukan dari versi sebelum 2.5.1, periksa apakah ApplicationInsights DLL dihapus dari folder bin aplikasi. Untuk informasi selengkapnya, lihat Pemecahan masalah.
Versi Application Insights Java diperbarui secara otomatis sebagai bagian dari pembaruan App Service. Jika Anda mengalami masalah yang diperbaiki di versi terbaru agen Application Insights Java, Anda dapat memperbaruinya secara manual.
Unggah file jar agen Java ke App Service.
a. Pertama, dapatkan versi terbaru Azure CLI dengan mengikuti instruksi di sini.
b. Selanjutnya, dapatkan versi terbaru agen Application Insights Java dengan mengikuti instruksi di sini.
c. Kemudian, sebarkan file jar agen Java ke App Service menggunakan perintah berikut: az webapp deploy --src-path applicationinsights-agent-{VERSION_NUMBER}.jar --target-path java/applicationinsights-agent-{VERSION_NUMBER}.jar --type static --resource-group {YOUR_RESOURCE_GROUP} --name {YOUR_APP_SVC_NAME}. Atau, Anda dapat menggunakan panduan ini untuk menyebarkan agen melalui plugin Maven.
Nonaktifkan Application Insights melalui tab Application Insights di portal Azure.
Setelah file jar agen diunggah, buka Konfigurasi App Service. Jika Anda perlu menggunakan Perintah Startup untuk Linux, sertakan argumen JVM:
Perintah Startup tidak sesuai JAVA_OPTS untuk JavaSE atau CATALINA_OPTS untuk Tomcat.
Jika Anda tidak menggunakan Perintah Startup, buat variabel lingkungan baru, JAVA_OPTS untuk JavaSE atau CATALINA_OPTS untuk Tomcat, dengan nilai -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar.
Untuk menerapkan perubahan, mulai ulang aplikasi.
Catatan
Jika Anda mengatur JAVA_OPTS untuk variabel lingkungan JavaSE atau CATALINA_OPTS untuk Tomcat, Anda harus menonaktifkan Application Insights di portal Azure. Atau, jika Anda lebih suka mengaktifkan Application Insights dari portal Azure, pastikan Anda tidak mengatur JAVA_OPTS untuk variabel JavaSE atau CATALINA_OPTS untuk Tomcat di pengaturan konfigurasi App Service.
Versi Node.js Application Insights diperbarui secara otomatis sebagai bagian dari pembaruan App Service dan tidak dapat diperbarui secara manual.
Jika Anda mengalami masalah yang diperbaiki dalam versi terbaru Application Insights SDK, Anda dapat menghapus autoinstrumentasi dan secara manual melengkapi aplikasi Anda dengan versi SDK terbaru.
Versi Application Insights Python diperbarui secara otomatis sebagai bagian dari pembaruan App Service dan tidak dapat diperbarui secara manual.
Jika Anda mengalami masalah yang diperbaiki dalam versi terbaru Application Insights SDK, Anda dapat menghapus autoinstrumentasi dan secara manual melengkapi aplikasi Anda dengan versi SDK terbaru.
Saat ini kami tidak menawarkan opsi untuk mengonfigurasi ekstensi pemantauan untuk ASP.NET Core.
Untuk mengonfigurasi pengambilan sampel, yang sebelumnya dapat Anda kontrol melalui file applicationinsights.config , Anda sekarang dapat berinteraksi dengannya melalui pengaturan aplikasi dengan awalan MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessoryang sesuai.
Misalnya, untuk mengubah persentase pengambilan sampel awal, Anda dapat membuat pengaturan MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage aplikasi dan nilai 100.
Untuk menonaktifkan pengambilan sampel, atur MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage ke nilai 100.
Untuk daftar pengaturan dan definisi prosesor telemetri pengambilan sampel adaptif yang didukung, lihat dokumentasi kode dan pengambilan sampel.
Setelah menentukan sumber daya mana yang akan digunakan, Anda dapat mengonfigurasi agen Java. Jika Anda tidak mengonfigurasi agen Java, konfigurasi default akan berlaku.
Set konfigurasi lengkap tersedia. Anda hanya perlu menempelkan file json yang valid. Kecualikan string koneksi dan konfigurasi apa pun yang ada dalam pratinjau - Anda dapat menambahkan item yang saat ini dalam pratinjau saat tersedia secara umum.
Setelah Anda memodifikasi konfigurasi melalui portal Azure, APPLICATIONINSIGHTS_CONFIGURATION_FILE variabel lingkungan secara otomatis diisi dan muncul di panel pengaturan App Service. Variabel ini berisi konten json lengkap yang Anda tempelkan di kotak teks konfigurasi portal Azure untuk aplikasi Java Anda.
Agen Node.js dapat dikonfigurasi menggunakan JSON. Atur APPLICATIONINSIGHTS_CONFIGURATION_CONTENT variabel lingkungan ke string JSON atau atur APPLICATIONINSIGHTS_CONFIGURATION_FILE variabel lingkungan ke jalur file yang berisi JSON.
Set konfigurasi lengkap tersedia. Anda hanya perlu menggunakan file json yang valid.
Anda dapat mengonfigurasi dengan variabel lingkungan OpenTelemetry seperti:
Variabel lingkungan
Deskripsi
OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES
Menentukan Atribut Sumber Daya OpenTelemetry yang terkait dengan aplikasi Anda. Anda dapat mengatur Atribut Sumber Daya apa pun dengan OTEL_RESOURCE_ATTRIBUTES atau menggunakan OTEL_SERVICE_NAME untuk hanya mengatur service.name.
OTEL_LOGS_EXPORTER
Jika diatur ke None, menonaktifkan pengumpulan dan ekspor telemetri pengelogan.
OTEL_METRICS_EXPORTER
Jika diatur ke None, menonaktifkan pengumpulan dan ekspor telemetri metrik.
OTEL_TRACES_EXPORTER
Jika diatur ke None, menonaktifkan pengumpulan dan ekspor telemetri pelacakan terdistribusi.
OTEL_BLRP_SCHEDULE_DELAY
Menentukan interval ekspor pengelogan dalam milidetik. Default ke 5000.
OTEL_BSP_SCHEDULE_DELAY
Menentukan interval ekspor pelacakan terdistribusi dalam milidetik. Default ke 5000.
OTEL_TRACES_SAMPLER_ARG
Menentukan rasio telemetri pelacakan terdistribusi yang akan diambil sampelnya. Nilai yang diterima berkisar antara 0 hingga 1. Defaultnya adalah 1.0, yang berarti tidak ada telemetri yang diambil sampelnya.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
Menentukan instrumentasi OpenTelemetry mana yang akan dinonaktifkan. Saat dinonaktifkan, instrumentasi tidak dijalankan sebagai bagian dari autoinstrumentasi. Menerima daftar nama pustaka huruf kecil yang dipisahkan koma. Misalnya, atur ke "psycopg2,fastapi" untuk menonaktifkan instrumentasi Psycopg2 dan FastAPI. Ini default ke daftar kosong, memungkinkan semua instrumentasi yang didukung.
Pemantauan sisi klien diaktifkan secara default untuk aplikasi ASP.NET Core dengan Koleksi yang Direkomendasikan , terlepas dari apakah pengaturan APPINSIGHTS_JAVASCRIPT_ENABLED aplikasi ada.
Jika Anda ingin menonaktifkan pemantauan sisi klien:
Pilih Pengaturan>Konfigurasi.
Di bawah Pengaturan aplikasi, buat pengaturan Aplikasi baru dengan informasi berikut:
Nama: APPINSIGHTS_JAVASCRIPT_ENABLED
Nilai: false
Simpan pengaturan. Mulai ulang aplikasi.
Pemantauan sisi klien adalah keikutsertaan untuk ASP.NET. Untuk mengaktifkan pemantauan sisi klien:
Pilih Pengaturan>Konfigurasi.
Di bagian pengaturan Aplikasi, buat pengaturan aplikasi baru:
Nama: Masukkan APPINSIGHTS_JAVASCRIPT_ENABLED.
Nilai: Masukkan true.
Simpan pengaturan dan mulai ulang aplikasi Anda.
Untuk menonaktifkan pemantauan sisi klien, hapus pasangan nilai kunci terkait dari Pengaturan aplikasi atau atur nilai ke false.
Untuk mengaktifkan pemantauan sisi klien, agen Java dapat menyuntikkan Browser SDK Loader (Pratinjau) ke halaman HTML aplikasi Anda, termasuk mengonfigurasi string koneksi yang sesuai.
Ekstensi utama, yang mengontrol pemantauan runtime.
~2 untuk Windows atau ~3 untuk Linux
XDT_MicrosoftApplicationInsights_Mode
Dalam mode default, hanya fitur penting yang diaktifkan untuk memastikan kinerja optimal.
disabled atau recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk
Hanya untuk ASP.NET Core. Mengaktifkan Interop (interopasi) dengan Application Insights SDK. Memuat ekstensi berdampingan dengan SDK dan menggunakannya untuk mengirim telemetri. (Menonaktifkan Application Insights SDK.)
1
Definisi pengaturan aplikasi
Nama pengaturan aplikasi
Definisi
Nilai
ApplicationInsightsAgent_EXTENSION_VERSION
Ekstensi utama, yang mengontrol pemantauan runtime.
~2
XDT_MicrosoftApplicationInsights_Mode
Dalam mode default, hanya fitur penting yang diaktifkan untuk memastikan kinerja optimal.
default atau recommended
InstrumentationEngine_EXTENSION_VERSION
Mengontrol apakah mesin InstrumentationEngine refrite biner dinyalakan. Pengaturan ini memiliki implikasi performa dan memengaruhi waktu mulai/mulai dingin.
~1
XDT_MicrosoftApplicationInsights_BaseExtensions
Mengontrol apakah teks tabel SQL dan Azure diambil bersama dengan panggilan dependensi. Peringatan performa: Waktu mulai dingin aplikasi terpengaruh. Pengaturan ini membutuhkan InstrumentationEngine.
~1
Definisi pengaturan aplikasi
Nama pengaturan aplikasi
Definisi
Nilai
ApplicationInsightsAgent_EXTENSION_VERSION
Ekstensi utama, yang mengontrol pemantauan runtime.
~2 di Windows atau ~3 di Linux.
XDT_MicrosoftApplicationInsights_Java
Bendera untuk mengontrol bahwa agen Java disertakan.
0 atau 1 (hanya berlaku di Windows).
Catatan
Snapshot Debugger tidak tersedia untuk aplikasi Java.
Definisi pengaturan aplikasi
Nama pengaturan aplikasi
Definisi
Nilai
ApplicationInsightsAgent_EXTENSION_VERSION
Ekstensi utama, yang mengontrol pemantauan runtime.
~2 di Windows atau ~3 di Linux.
XDT_MicrosoftApplicationInsights_NodeJS
Tandai untuk mengontrol apakah agen Node.js disertakan.
0 atau 1 (hanya berlaku di Windows).
Catatan
Snapshot Debugger tidak tersedia untuk aplikasi Node.js.
Definisi pengaturan aplikasi
Nama pengaturan aplikasi
Definisi
Nilai
APPLICATIONINSIGHTS_CONNECTION_STRING
String koneksi untuk sumber daya Application Insights Anda.
Contoh: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
Ekstensi utama, yang mengontrol pemantauan runtime.
~3
Catatan
Snapshot Debugger tidak tersedia untuk aplikasi Python.
Pengaturan aplikasi App Service dengan Azure Resource Manager
Pengaturan aplikasi untuk Azure App Service dapat dikelola dan dikonfigurasi dengan templat Azure Resource Manager. Anda dapat menggunakan metode ini saat menyebarkan sumber daya App Service baru dengan otomatisasi Resource Manager atau mengubah pengaturan sumber daya yang ada.
Struktur dasar pengaturan aplikasi JSON untuk sumber daya App Service:
Mengotomatiskan pembuatan sumber daya Application Insights dan menautkan ke sumber daya App Service yang baru dibuat
Untuk membuat templat Resource Manager dengan pengaturan Application Insights default, mulai proses seolah-olah Anda akan membuat aplikasi web baru dengan Application Insights diaktifkan.
Buat sumber daya App Service baru dengan informasi aplikasi web yang Anda inginkan. Aktifkan Application Insights pada tab Pemantauan .
Pilih Tinjau + buat. Lalu pilih Unduh templat untuk otomatisasi.
Opsi ini menghasilkan templat Resource Manager terbaru dengan semua pengaturan yang diperlukan dikonfigurasi.
Dalam sampel berikut, ganti semua instans AppMonitoredSite dengan nama situs Anda:
Catatan
Jika menggunakan Windows, atur ApplicationInsightsAgent_EXTENSION_VERSION ke ~2. Jika menggunakan Linux, atur ApplicationInsightsAgent_EXTENSION_VERSION ke ~3.
Untuk mengaktifkan pemantauan aplikasi melalui PowerShell, hanya pengaturan aplikasi yang mendasar yang harus diubah. Sampel berikut memungkinkan pemantauan aplikasi untuk situs web yang disebut AppMonitoredSite dalam grup AppMonitoredRGsumber daya . Ini mengonfigurasi data yang akan dikirim ke 012345678-abcd-ef01-2345-6789abcd kunci instrumentasi.
Jika menggunakan Windows, atur ApplicationInsightsAgent_EXTENSION_VERSION ke ~2. Jika menggunakan Linux, atur ApplicationInsightsAgent_EXTENSION_VERSION ke ~3.
Bagian ini menyediakan jawaban atas pertanyaan umum.
Apa yang diubah oleh Application Insights dalam proyek saya?
Detailnya tergantung pada jenis proyek. Daftar berikut adalah contoh untuk aplikasi web.
Menambahkan file ke proyek Anda:
ApplicationInsights.config
ai.js
Menginstal paket NuGet:
API Application Insights: API inti
API Application Insights untuk Aplikasi Web: Digunakan untuk mengirim telemetri dari server
API Application Insights untuk Aplikasi JavaScript: Digunakan untuk mengirim telemetri dari klien
Termasuk rakitan dalam paket:
Microsoft.ApplicationInsights
Microsoft.ApplicationInsights.Platform
Sisipkan item ke dalam:
Web.config
packages.config
Masukkan cuplikan kode ke dalam kode klien dan server untuk menginisialisasi mereka dengan ID sumber daya Application Insights. Misalnya, dalam aplikasi MVC, kode dimasukkan ke dalam halaman utama Views/Shared/_Layout.cshtml. Hanya untuk proyek baru, Anda menambahkan Application Insights ke proyek yang sudah ada secara manual.
Apa perbedaan antara metrik standar dari metrik Application Insights vs. Azure App Service?
Application Insights mengumpulkan telemetri untuk permintaan yang berhasil masuk ke aplikasi. Jika kegagalan terjadi di WebApps/WebServer, dan permintaan tidak mencapai aplikasi pengguna, Application Insights tidak memiliki telemetri tentang hal itu.
Durasi untuk serverresponsetime dihitung oleh Application Insights tidak selalu cocok dengan waktu respons server yang diamati oleh Web Apps. Perilaku ini karena Application Insights hanya menghitung durasi ketika permintaan benar-benar mencapai aplikasi pengguna. Jika permintaan macet atau diantrekan di WebServer, waktu tunggu disertakan dalam metrik Web Apps tetapi tidak dalam metrik Application Insights.
Pemecahan Masalah
Menguji konektivitas antara host aplikasi Anda dan layanan penyerapan
Application Insights SDK dan agen mengirim telemetri untuk diserap sebagai panggilan REST ke titik akhir penyerapan kami. Anda dapat menguji konektivitas dari server web atau komputer host aplikasi Anda ke titik akhir layanan penyerapan dengan menggunakan klien REST mentah dari PowerShell atau perintah curl. Lihat Memecahkan masalah telemetri aplikasi yang hilang di Azure Monitor Application Insights.
Saat Anda membuat aplikasi web dengan ASP.NET Core runtime di App Service, aplikasi tersebut menyebarkan satu halaman HTML statis sebagai situs web pemula. Kami tidak menyarankan Anda memecahkan masalah dengan templat default. Sebarkan aplikasi sebelum Anda memecahkan masalah.
Telemetri hilang
Windows
Periksa apakah ApplicationInsightsAgent_EXTENSION_VERSION pengaturan aplikasi diatur ke nilai ~2.
Konfirmasikan bahwa Status Ekstensi Application Insights adalah Pre-Installed Site Extension, version 2.8.x.xxxx, is running.
Jika tidak berjalan, ikuti instruksi di bagian Mengaktifkan pemantauan Application Insights.
Konfirmasikan bahwa sumber status ada dan terlihat seperti Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.
Jika nilai serupa tidak ada, itu berarti aplikasi saat ini tidak berjalan atau tidak didukung. Untuk memastikan bahwa aplikasi berjalan, coba kunjungi url aplikasi/titik akhir aplikasi secara manual, yang memungkinkan informasi runtime tersedia.
Konfirmasikan bahwa IKeyExists adalah True. Jika False, tambahkan APPINSIGHTS_INSTRUMENTATIONKEY dan APPLICATIONINSIGHTS_CONNECTION_STRING dengan panduan kunci GUID ke pengaturan aplikasi Anda.
Jika aplikasi Anda mengacu pada paket Application Insights apa pun, mengaktifkan integrasi App Service mungkin tidak berlaku, dan data mungkin tidak muncul di Application Insights. Contohnya adalah jika Anda sebelumnya melengkapi, atau mencoba melengkapi, aplikasi Anda dengan ASP.NET Core SDK. Untuk memperbaiki masalah ini, di portal Azure, aktifkan Interop dengan Application Insights SDK.
Penting
Fungsionalitas ini dalam pratinjau.
Data dikirim menggunakan pendekatan tanpa kode, bahkan jika Application Insights SDK awalnya digunakan atau dicoba untuk digunakan.
Penting
Jika aplikasi menggunakan Application Insights SDK untuk mengirim telemetri apa pun, telemetri akan dinonaktifkan. Dengan kata lain, telemetri kustom (misalnya, metode apa pun Track*() ) dan pengaturan kustom (seperti pengambilan sampel) akan dinonaktifkan.
Linux
Periksa apakah ApplicationInsightsAgent_EXTENSION_VERSION pengaturan aplikasi diatur ke nilai ~3.
Telusuri https://your site name.scm.azurewebsites.net/ApplicationInsights.
Dalam situs ini, konfirmasikan:
Sumber status ada dan terlihat seperti Status source /var/log/applicationinsights/status_abcde1234567_89_0.json.
Nilai Auto-Instrumentation enabled successfully ditampilkan. Jika nilai serupa tidak ada, itu berarti aplikasi tidak berjalan atau tidak didukung. Untuk memastikan bahwa aplikasi berjalan, coba kunjungi url aplikasi/titik akhir aplikasi secara manual, yang memungkinkan informasi runtime tersedia.
IKeyExists adalah True. Jika False, tambahkan APPINSIGHTS_INSTRUMENTATIONKEY dan APPLICATIONINSIGHTS_CONNECTION_STRING dengan panduan kunci GUID ke pengaturan aplikasi Anda.
Situs web default yang diterapkan dengan aplikasi web tidak mendukung pemantauan sisi klien otomatis
Saat Anda membuat aplikasi web dengan runtime ASP.NET Core di App Service, aplikasi ini menyebarkan satu halaman HTML statis sebagai situs web pemula. Halaman web statis juga memuat ASP. Bagian web yang dikelola NET di IIS. Perilaku ini memungkinkan pengujian pemantauan sisi server tanpa kode tetapi tidak mendukung pemantauan sisi klien otomatis.
Jika Anda ingin menguji server tanpa kode dan pemantauan sisi klien untuk ASP.NET Core di aplikasi web App Service, sebaiknya ikuti panduan resmi untuk membuat aplikasi web ASP.NET Core. Setelah itu, gunakan instruksi dalam artikel saat ini untuk mengaktifkan pemantauan.
Situs PHP dan WordPress tidak didukung
Situs PHP dan WordPress tidak didukung. Saat ini tidak ada SDK/agen yang didukung secara resmi untuk pemantauan beban kerja dari sisi server. Untuk melacak transaksi sisi klien di situs PHP atau WordPress, tambahkan JavaScript sisi klien ke halaman web Anda menggunakan JavaScript SDK.
Tabel berikut ini memberikan penjelasan tentang apa arti nilai-nilai ini, penyebab mendasarnya, dan perbaikan yang direkomendasikan.
Nilai masalah
Penjelasan
Perbaikan
AppAlreadyInstrumented:true
Nilai ini menunjukkan bahwa ekstensi mendeteksi beberapa aspek SDK yang sudah ada di aplikasi dan mundur. Referensi ke Microsoft.ApplicationInsights.AspNetCore atau Microsoft.ApplicationInsights dapat menyebabkan nilai ini.
Hapus referensi. Beberapa referensi ini ditambahkan secara default dari templat Visual Studio tertentu. Versi lama referensi Microsoft.ApplicationInsightsVisual Studio .
AppAlreadyInstrumented:true
Kehadiran Microsoft.ApplicationsInsights DLL di folder aplikasi dari penyebaran sebelumnya juga dapat menyebabkan nilai ini.
Bersihkan folder aplikasi untuk memastikan bahwa DLL ini dihapus. Periksa direktori bin aplikasi lokal Anda dan direktori wwwroot di App Service. (Untuk memeriksa direktori wwwroot aplikasi web App Service Anda, pilih Konsol Debug Advanced Tools (Kudu) >CMD>home\site\wwwroot).>
IKeyExists:false
Nilai ini menunjukkan bahwa kunci instrumentasi tidak ada di pengaturan APPINSIGHTS_INSTRUMENTATIONKEYaplikasi . Kemungkinan penyebabnya termasuk menghapus nilai secara tidak sengaja atau lupa mengatur nilai dalam skrip otomatisasi.
Pastikan pengaturan ada di pengaturan App Service.
Catatan
Saat Anda membuat aplikasi web dengan ASP.NET runtime di App Service, aplikasi tersebut menyebarkan satu halaman HTML statis sebagai situs web pemula. Kami tidak menyarankan Anda memecahkan masalah dengan templat default. Sebarkan aplikasi sebelum Anda memecahkan masalah.
Telemetri hilang
Periksa apakah ApplicationInsightsAgent_EXTENSION_VERSION pengaturan aplikasi diatur ke nilai ~2.
Konfirmasikan bahwa sumber status ada dan terlihat seperti Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.
Jika nilai serupa tidak ada, itu berarti aplikasi saat ini tidak berjalan atau tidak didukung. Untuk memastikan bahwa aplikasi berjalan, coba kunjungi url aplikasi/titik akhir aplikasi secara manual, yang memungkinkan informasi runtime tersedia.
Konfirmasikan bahwa IKeyExists adalah true.
Jika tidak, tambahkan APPINSIGHTS_INSTRUMENTATIONKEY dan APPLICATIONINSIGHTS_CONNECTION_STRING dengan GUID kunci instrumentasi Anda ke pengaturan aplikasi Anda.
Konfirmasikan bahwa tidak ada entri untuk AppAlreadyInstrumented, AppContainsDiagnosticSourceAssembly, dan AppContainsAspNetTelemetryCorrelationAssembly.
Jika ada salah satu entri ini, hapus paket berikut dari aplikasi Anda: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSource, dan Microsoft.AspNet.TelemetryCorrelation.
Situs web default yang diterapkan dengan aplikasi web tidak mendukung pemantauan sisi klien otomatis
Saat Anda membuat aplikasi web dengan runtime ASP.NET di App Service, aplikasi tersebut menyebarkan satu halaman HTML statis sebagai situs web pemula. Halaman web statis juga memuat ASP. Bagian web yang dikelola NET di IIS. Halaman ini memungkinkan pengujian pemantauan sisi server tanpa kode tetapi tidak mendukung pemantauan sisi klien otomatis.
Jika Anda ingin menguji server tanpa kode dan pemantauan sisi klien untuk ASP.NET di aplikasi web App Service, sebaiknya ikuti panduan resmi untuk membuat aplikasi web ASP.NET Framework. Setelah itu, gunakan instruksi dalam artikel saat ini untuk mengaktifkan pemantauan.
APPINSIGHTS_JAVASCRIPT_ENABLED dan urlCompression tidak didukung
Jika Anda menggunakan APPINSIGHTS_JAVASCRIPT_ENABLED=true dalam kasus di mana konten dikodekan, Anda mungkin mendapatkan kesalahan seperti:
Kesalahan penulisan ulang URL 500.
Kesalahan modul penulisan ulang URL 500.53 dengan pesan "Aturan penulisan ulang keluar tidak dapat diterapkan ketika konten respons HTTP dikodekan ('gzip')."
Kesalahan terjadi karena APPINSIGHTS_JAVASCRIPT_ENABLED pengaturan aplikasi diatur ke true dan pengodean konten ada secara bersamaan. Skenario ini masih belum didukung. Solusinya adalah menghapus APPINSIGHTS_JAVASCRIPT_ENABLED dari pengaturan aplikasi Anda. Sayangnya, jika instrumentasi JavaScript sisi klien/browser masih diperlukan, referensi SDK manual diperlukan untuk halaman web Anda. Ikuti petunjuk untuk instrumentasi manual dengan JavaScript SDK.
Untuk informasi terbaru tentang agen/ekstensi Application Insights, lihat catatan rilis.
Situs PHP dan WordPress tidak didukung
Situs PHP dan WordPress tidak didukung. Saat ini tidak ada SDK/agen yang didukung secara resmi untuk pemantauan beban kerja dari sisi server. Untuk melacak transaksi sisi klien di situs PHP atau WordPress, tambahkan JavaScript sisi klien ke halaman web Anda menggunakan JavaScript SDK.
Tabel berikut ini memberikan penjelasan tentang apa arti nilai-nilai ini, penyebab mendasarnya, dan perbaikan yang direkomendasikan.
Nilai masalah
Penjelasan
Perbaikan
AppAlreadyInstrumented:true
Nilai ini menunjukkan bahwa ekstensi mendeteksi beberapa aspek SDK yang sudah ada di aplikasi dan mundur. Referensi ke System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelation, atau Microsoft.ApplicationInsights dapat menyebabkan nilai ini.
Hapus referensi. Beberapa referensi ini ditambahkan secara default dari templat Visual Studio tertentu. Versi Visual Studio yang lebih lama mungkin menambahkan referensi ke Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true
Kehadiran DLL sebelumnya di folder aplikasi dari penyebaran sebelumnya juga dapat menyebabkan nilai ini.
Bersihkan folder aplikasi untuk memastikan bahwa DLL ini dihapus. Periksa direktori bin aplikasi lokal Anda dan direktori wwwroot pada sumber daya App Service. Untuk memeriksa direktori wwwroot aplikasi web App Service Anda, pilih Advanced Tools (Kudu)>Debug console>CMD>home\site\wwwroot.
Nilai ini menunjukkan bahwa ekstensi yang terdeteksi mereferensikan dalam Microsoft.AspNet.TelemetryCorrelation aplikasi dan mundur.
Hapus referensi.
AppContainsDiagnosticSourceAssembly**:true
Nilai ini menunjukkan bahwa ekstensi yang terdeteksi mereferensikan dalam System.Diagnostics.DiagnosticSource aplikasi dan mundur.
Untuk ASP.NET, hapus referensi.
IKeyExists:false
Nilai ini menunjukkan bahwa kunci instrumentasi tidak ada di pengaturan APPINSIGHTS_INSTRUMENTATIONKEYaplikasi . Kemungkinan penyebabnya mungkin karena nilai dihapus secara tidak sengaja, atau Anda lupa mengatur nilai dalam skrip otomatisasi.
Pastikan pengaturan ada di pengaturan App Service.
System.IO.FileNotFoundException setelah peningkatan 2.8.44
Versi 2.8.44 dari autoinstrumentation meningkatkan Application Insights SDK ke 2.20.0. Application Insights SDK memiliki referensi tidak langsung melalui System.Runtime.CompilerServices.Unsafe.dllSystem.Diagnostics.DiagnosticSource.dll. Jika aplikasi memiliki pengalihan pengikatan untuk System.Runtime.CompilerServices.Unsafe.dll dan jika pustaka ini tidak ada di folder aplikasi, aplikasi mungkin melemparkan System.IO.FileNotFoundException.
Untuk mengatasi masalah ini, hapus entri pengalihan pengikatan untuk System.Runtime.CompilerServices.Unsafe.dll dari file web.config. Jika aplikasi ingin menggunakan System.Runtime.CompilerServices.Unsafe.dll, atur pengalihan pengikatan seperti yang ditunjukkan di sini:
Sebagai solusi sementara, Anda dapat mengatur pengaturan ApplicationInsightsAgent_EXTENSION_VERSION aplikasi ke nilai 2.8.37. Pengaturan ini memicu App Service untuk menggunakan ekstensi Application Insights lama. Mitigasi sementara hanya boleh digunakan sebagai sementara.
Telemetri hilang
ApplicationInsightsAgent_EXTENSION_VERSION Periksa apakah pengaturan aplikasi diatur ke nilai ~2 di Windows, ~3 di Linux
Periksa file log untuk melihat bahwa agen berhasil dimulai: telusuri ke https://yoursitename.scm.azurewebsites.net/, di bawah Perubahan SSH ke direktori akar, file log terletak di bawah LogFiles/ApplicationInsights.
Setelah mengaktifkan pemantauan aplikasi untuk aplikasi Java, Anda dapat memvalidasi bahwa agen bekerja dengan melihat metrik langsung - bahkan sebelum Anda menyebarkan dan aplikasi ke App Service, Anda akan melihat beberapa permintaan dari lingkungan. Ingatlah bahwa serangkaian telemetri lengkap hanya tersedia saat aplikasi Anda disebarkan dan dijalankan.
Atur APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL variabel lingkungan ke debug jika Anda tidak melihat kesalahan apa pun dan tidak ada telemetri.
Telemetri hilang
Windows
ApplicationInsightsAgent_EXTENSION_VERSION Periksa apakah pengaturan aplikasi diatur ke nilai ~2.
Jika SDKPresent benar, itu berarti ekstensi mendeteksi bahwa beberapa aspek SDK sudah ada di Aplikasi, dan akan mundur.
Telemetri duplikat
Hanya gunakan autoinstrumentasi di App Service jika Anda tidak menggunakan instrumentasi manual OpenTelemetry dalam kode Anda, seperti Distro OpenTelemetry Azure Monitor atau Pengekspor OpenTelemetry Azure Monitor.
Menggunakan autoinstrumentasi di atas instrumentasi manual dapat menyebabkan telemetri duplikat dan meningkatkan biaya Anda. Untuk menggunakan autoinstrumentasi OpenTelemetry App Service, pertama-tama hapus instrumentasi manual OpenTelemetry dari kode Anda.
Telemetri hilang
Jika Anda kehilangan telemetri, ikuti langkah-langkah ini untuk mengonfirmasi bahwa autoinstrumentasi diaktifkan dengan benar.
Konfirmasikan bahwa autoinstrumentasi diaktifkan dalam pengalaman Application Insights di sumber daya App Service Anda.
Konfirmasikan bahwa ApplicationInsightsAgent_EXTENSION_VERSION pengaturan aplikasi diatur ke nilai ~3 dan bahwa Anda APPLICATIONINSIGHTS_CONNECTION_STRING menunjuk ke sumber daya Application Insights yang sesuai.
Periksa diagnostik dan log status autoinstrumentasi.
a. Navigasikan ke /var/log/applicationinsights/ dan buka status_*.json.
b. Konfirmasikan bahwa AgentInitializedSuccessfully diatur ke true dan IKey untuk memiliki iKey yang valid.
File applicationinsights-extension.log dalam folder yang sama dapat menampilkan diagnostik bermanfaat lainnya.
Aplikasi Django
Jika aplikasi Anda menggunakan Django dan gagal memulai atau menggunakan pengaturan yang salah, pastikan untuk mengatur DJANGO_SETTINGS_MODULE variabel lingkungan. Lihat bagian Instrumentasi Django untuk detailnya.