Pemantauan Aplikasi untuk gambaran umum Azure App Service

Sekarang lebih mudah dari sebelumnya untuk mengaktifkan pemantauan pada aplikasi web Anda berdasarkan ASP.NET, ASP.NET Core, Java, dan Node.js yang berjalan di Azure App Service. Sebelumnya, Anda perlu melengkapi aplikasi Anda secara manual, tetapi ekstensi/agen terbaru sekarang sudah terpasang ke dalam gambar App Service secara default.

Mengaktifkan Application Insights

Ada dua cara untuk mengaktifkan pemantauan aplikasi yang dihosting di App Service:

  • Pemantauan aplikasi autoinstrumentasi (ApplicationInsightsAgent).

    Metode ini adalah yang paling mudah diaktifkan, dan tidak ada perubahan kode atau konfigurasi lanjutan yang diperlukan. Hal ini sering disebut sebagai pemantauan "runtime". Untuk App Service, kami sarankan minimal Anda mengaktifkan tingkat pemantauan ini. Berdasarkan skenario spesifik, Anda dapat mengevaluasi apakah pemantauan lebih lanjut melalui instrumentasi manual diperlukan.

    Saat Anda mengaktifkan instrumentasi otomatis, itu memungkinkan Application Insights dengan pengaturan default (termasuk pengambilan sampel juga). Bahkan jika Anda mengatur di Azure AppInsights: Pengambilan sampel: Semua Data 100% pengaturan ini akan diabaikan.

    Untuk daftar lengkap skenario autoinstrumentasi yang didukung, lihat Lingkungan, bahasa, dan penyedia sumber daya yang didukung.

    Platform berikut didukung untuk pemantauan autoinstrumentasi:

  • Secara manual menginstrumentasi aplikasi melalui kode dengan menginstal Application Insights SDK.

    Pendekatan ini jauh lebih dapat disesuaikan, tetapi memerlukan pendekatan berikut: SDK untuk .NET Core, .NET, Node.js, Python, dan agen mandiri untuk Java. Metode ini juga berarti Anda harus mengelola pembaruan ke versi terbaru dari paket sendiri.

    Jika Anda perlu melakukan panggilan API kustom untuk melacak peristiwa/dependensi yang tidak diambil secara default dengan pemantauan autoinstrumentasi, Anda perlu menggunakan metode ini. Untuk mempelajari lebih lanjut, lihat API Application Insights untuk peristiwa dan metrik khusus.

Jika pemantauan autoinstrumentasi dan instrumentasi berbasis SDK manual terdeteksi, di .NET hanya pengaturan instrumentasi manual yang dihormati, sementara di Java hanya autoinstrumentasi yang memancarkan telemetri. Tindakan ini untuk mencegah data duplikat dikirim.

Catatan

Snapshot Debugger dan Profiler hanya tersedia di .NET dan .NET Core.

Catatan rilis

Bagian ini berisi catatan rilis untuk Ekstensi Azure Web Apps untuk instrumentasi runtime dengan Application Insights.

Untuk menemukan versi ekstensi mana yang saat ini Anda gunakan, buka https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

Catatan rilis

2.8.44

2.8.43

  • Pisahkan paket .NET/.NET Core, Java, dan Node.js ke dalam App Service Ekstensi Windows Site yang berbeda.

2.8.42

  • Ekstensi JAVA: Ditingkatkan menjadi Java Agent 3.2.0 dari 2.5.1.
  • Ekstensi Node.js: Memperbarui AI SDK menjadi 2.1.8 dari 2.1.7. Menambahkan dukungan untuk identitas terkelola Microsoft Entra yang ditetapkan Pengguna dan Sistem.
  • .NET Core: Menambahkan penyebaran mandiri dan dukungan .NET 6.0 menggunakan .NET Startup Hook.

2.8.41

  • Ekstensi Node.js: Memperbarui AI SDK menjadi 2.1.7 dari 2.1.3.
  • .NET Core: Menghapus versi yang tidak didukung (2.1). Versi yang didukung adalah 3.1 dan 5.0.

2.8.40

  • Ekstensi JAVA: Ditingkatkan menjadi Java Agent 3.1.1 (GA) dari 3.0.2.
  • Ekstensi Node.js: Memperbarui AI SDK menjadi 2.1.3 dari 1.8.8.

2.8.39

  • .NET Core: Menambahkan dukungan .NET Core 5.0.

2.8.38

  • Ekstensi JAVA: ditingkatkan menjadi Agen Java 3.0.2 (GA) dari 2.5.1.
  • Ekstensi Node.js: SDK AI yang diperbarui menjadi 1.8.8 dari 1.8.7.
  • .NET Core: Versi yang tidak didukung yang dihapus (2.0, 2.2, 3.0). Versi yang didukung adalah 2.1 dan 3.1.

2.8.37

  • Ekstensi Windows AppSvc: Membuat .Net Core bekerja dengan versi System.Diagnostics.DiagnosticSource.dll apa saja.

2.8.36

  • Ekstensi Windows AppSvc: Inter-op yang diaktifkan dengan AI SDK di .NET Core.

2.8.35

  • Ekstensi Windows AppSvc: Dukungan .NET Core 3.1 yang ditambahkan.

2.8.33

  • Agen .NET, .NET core, Java, Node.js dan Windows Extension: Dukungan untuk sovereign cloud. String koneksi dapat digunakan untuk mengirim data ke sovereign cloud.

2.8.31

  • Agen ASP.NET Core memperbaiki masalah dengan Application Insights SDK. Jika runtime memuat versi yang salah, System.Diagnostics.DiagnosticSource.dllekstensi tanpa kode tidak merusak aplikasi dan mundur. Untuk memperbaiki masalah ini, pelanggan harus menghapus System.Diagnostics.DiagnosticSource.dll dari folder bin atau menggunakan versi ekstensi yang lebih lama dengan mengatur ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. Jika tidak, pemantauan aplikasi tidak diaktifkan.

2.8.26

  • Agen ASP.NET Core: Masalah tetap terkait dengan Application Insights SDK yang diperbarui. Agen tidak mencoba memuat AiHostingStartup jika ApplicationInsights.dll sudah ada di folder bin. Ini menyelesaikan masalah yang terkait dengan refleksi melalui Assembly<AiHostingStartup>. GetTypes().
  • Masalah umum: Pengecualian System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' dapat dilemparkan jika versi dll lain DiagnosticSource dimuat. Ini bisa terjadi, misalnya, jika System.Diagnostics.DiagnosticSource.dll ada di folder terbitkan. Sebagai mitigasi, gunakan ekstensi versi sebelumnya dengan mengatur pengaturan aplikasi di layanan aplikasi: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.

2.8.24

  • Versi 2.8.21 yang dipaket ulang.

2.8.23

  • Dukungan pemantauan tanpa kode ASP.NET Core 3.0 yang ditambahkan.
  • ASP.NET Core SDK yang diperbarui ke 2.8.0 untuk versi runtime 2.1, 2.2 dan 3.0. Aplikasi yang menargetkan .NET Core 2.0 terus menggunakan 2.1.1 SDK.

2.8.14

  • ASP.NET Core SDK yang diperbarui dari 2.3.0 ke yang terbaru (2.6.1) untuk aplikasi yang menargetkan .NET Core 2.1, 2.2. Aplikasi yang menargetkan .NET Core 2.0 terus menggunakan 2.1.1 SDK.

2.8.12

  • Dukungan untuk aplikasi ASP.NET Core 2.2.

  • Memperbaiki bug di ekstensi ASP.NET Core yang menyebabkan injeksi SDK bahkan saat aplikasi sudah dilengkapi dengan SDK. Untuk aplikasi 2.1 dan 2.2, kehadiran ApplicationInsights.dll di folder aplikasi sekarang menyebabkan ekstensi mundur. Untuk aplikasi 2.0, ekstensi akan mundur hanya jika ApplicationInsights diaktifkan dengan panggilan UseApplicationInsights().

  • Perbaikan permanen untuk respons HTML untuk aplikasi ASP.NET Core yang tidak lengkap. Perbaikan ini sekarang diperluas untuk berfungsi untuk aplikasi .NET Core 2.2.

  • Menambahkan dukungan untuk menonaktifkan injeksi JavaScript aplikasi ASP.NET Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). Misalnya ASP.NET core, injeksi JavaScript berada dalam mode "Opt-Out" secara default, kecuali secara eksplisit dinonaktifkan. (Pengaturan default dilakukan untuk mempertahankan perilaku saat ini.)

  • Memperbaiki bug ekstensi ASP.NET Core yang menyebabkan injeksi bahkan jika ikey tidak ada.

  • Memperbaiki bug dalam logika awalan versi SDK yang menyebabkan versi SDK yang salah dalam telemetri.

  • Menambahkan awalan versi SDK untuk ASP.NET Core untuk mengidentifikasi bagaimana telemetri dikumpulkan.

  • Memperbaiki halaman SCM- ApplicationInsights untuk menampilkan versi ekstensi yang diinstal sebelumnya dengan benar.

2.8.10

  • Perbaiki respons HTML yang tidak lengkap untuk aplikasi ASP.NET Core.

Tanya jawab umum

Bagian ini menyediakan jawaban atas pertanyaan umum.

Apa yang diubah oleh Application Insights dalam proyek saya?

Detailnya tergantung pada jenis proyek. Untuk aplikasi web:

  • Menambahkan file-file ini ke proyek Anda:
    • ApplicationInsights.config
    • ai.js
  • Menginstal paket NuGet ini:
    • 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
  • Paket termasuk rakitan ini:
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • Sisipkan item ke dalam:
    • Web.config
    • packages.config
  • (Hanya untuk proyek baru, Anda menambahkan Application Insights ke proyek yang sudah ada secara manual.) Menyisipkan cuplikan ke dalam kode klien dan server untuk menginisialisasinya dengan ID sumber daya Application Insights. Misalnya, dalam aplikasi MVC, kode dimasukkan ke dalam halaman utama Views/Shared/_Layout.cshtml.

Langkah berikutnya

Pelajari cara mengaktifkan pemantauan aplikasi autoinstrumentasi untuk aplikasi .NET Core, .NET, Java, Nodejs, atau Python yang berjalan di App Service.