Metrik Langsung: Memantau dan mendiagnosis dengan latensi 1 detik

Pantau aplikasi web langsung dalam produksi Anda dengan Live Metrics (juga dikenal sebagai QuickPulse) dari Application Insights. Anda dapat memilih serta memfilter metrik dan penghitung performa untuk melihat secara real-time, tanpa mengganggu layanan Anda. Anda juga dapat memeriksa jejak tumpukan dari contoh permintaan dan pengecualian yang gagal. Bersama dengan Profiler dan Snapshot Debugger, Metrik Langsung menyediakan alat diagnostik yang kuat dan noninvasif untuk situs web langsung Anda.

Catatan

Live Metrics hanya mendukung TLS 1.2. Untuk informasi selengkapnya, lihat Pemecahan masalah.

Dengan Live Metrics, Anda dapat:

  • Validasi perbaikan saat dirilis dengan menonton jumlah performa dan kegagalan.
  • Tonton efek beban pengujian dan diagnosis masalah secara langsung.
  • Fokus pada sesi pengujian tertentu atau filter masalah yang diketahui dengan memilih dan memfilter metrik yang ingin Anda tonton.
  • Dapatkan jejak pengecualian seperti yang terjadi.
  • Bereksperimen dengan filter untuk menemukan KPI yang paling relevan.
  • Pantau setiap penghitung kinerja Windows secara langsung.
  • Identifikasi server yang mengalami masalah dengan mudah dan filter semua KPI/umpan langsung hanya ke server tersebut.

Screenshot that shows the Live Metrics tab.

Metrik Langsung saat ini didukung untuk aplikasi ASP.NET, ASP.NET Core, Azure Functions, Java, dan Node.js.

Catatan

Jumlah instans server yang dipantau yang ditampilkan oleh Metrik Langsung mungkin lebih rendah dari jumlah instans aktual yang dialokasikan untuk aplikasi. Ketidakcocokan ini karena banyak server web modern akan membongkar aplikasi yang tidak menerima permintaan selama jangka waktu tertentu untuk menghemat sumber daya. Karena Metrik Langsung hanya menghitung server yang saat ini menjalankan aplikasi, server yang telah membongkar proses tidak akan disertakan dalam total tersebut.

Mulai

Penting

Untuk mengaktifkan Application Insights, pastikan aplikasi diaktifkan di portal Azure dan aplikasi Anda menggunakan versi terbaru paket Application Insights NuGet. Tanpa paket NuGet, beberapa telemetri dikirim ke Application Insights, tetapi telemetri tersebut tidak akan ditampilkan di Metrik Langsung.

  1. Ikuti panduan khusus bahasa untuk mengaktifkan Metrik Langsung:

  2. Di portal Azure, buka sumber daya Application Insights untuk aplikasi Anda. Kemudian buka Streaming Langsung.

  3. Amankan saluran kontrol jika Anda mungkin menggunakan data sensitif seperti nama pelanggan di filter Anda.

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.

Aktifkan Metrik Langsung dengan menggunakan kode untuk aplikasi .NET apa pun

Catatan

Metrik Langsung diaktifkan secara default saat Anda melakukan onboarding dengan menggunakan instruksi yang direkomendasikan untuk aplikasi .NET.

Untuk mengonfigurasi Metrik Langsung secara manual:

  1. Instal paket NuGet Microsoft.ApplicationInsights.PerfCounterCollector.
  2. Contoh kode aplikasi konsol berikut menunjukkan penyiapan Metrik Langsung:
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

// Create a TelemetryConfiguration instance.
TelemetryConfiguration config = TelemetryConfiguration.CreateDefault();
config.InstrumentationKey = "INSTRUMENTATION-KEY-HERE";
QuickPulseTelemetryProcessor quickPulseProcessor = null;
config.DefaultTelemetrySink.TelemetryProcessorChainBuilder
    .Use((next) =>
    {
        quickPulseProcessor = new QuickPulseTelemetryProcessor(next);
        return quickPulseProcessor;
    })
    .Build();

var quickPulseModule = new QuickPulseTelemetryModule();

// Secure the control channel.
// This is optional, but recommended.
quickPulseModule.AuthenticationApiKey = "YOUR-API-KEY-HERE";
quickPulseModule.Initialize(config);
quickPulseModule.RegisterTelemetryProcessor(quickPulseProcessor);

// Create a TelemetryClient instance. It is important
// to use the same TelemetryConfiguration here as the one
// used to set up Live Metrics.
TelemetryClient client = new TelemetryClient(config);

// This sample runs indefinitely. Replace with actual application logic.
while (true)
{
    // Send dependency and request telemetry.
    // These will be shown in Live Metrics.
    // CPU/Memory Performance counter is also shown
    // automatically without any additional steps.
    client.TrackDependency("My dependency", "target", "http://sample",
        DateTimeOffset.Now, TimeSpan.FromMilliseconds(300), true);
    client.TrackRequest("My Request", DateTimeOffset.Now,
        TimeSpan.FromMilliseconds(230), "200", true);
    Task.Delay(1000).Wait();
}

Sampel sebelumnya adalah untuk aplikasi konsol, tetapi kode yang sama dapat digunakan dalam aplikasi .NET apa pun. Jika ada modul telemetri lain yang diaktifkan untuk telemetri autocollect, penting untuk memastikan bahwa konfigurasi yang sama yang digunakan untuk menginisialisasi modul tersebut digunakan untuk modul Metrik Langsung.

Bagaimana Metrik Langsung berbeda dari penjelajah metrik dan Analitik Log?

Kemampuan Streaming Langsung Penjelajah metrik dan Analitik Log
Latensi Data ditampilkan dalam satu detik. Diagregasi selama beberapa menit.
Tidak ada retensi Data bertahan saat berada di bagan dan kemudian dibuang. Data disimpan selama 90 hari.
Sesuai permintaan Data hanya dialirkan saat panel Metrik Langsung terbuka. Data dikirim setiap kali SDK diinstal dan diaktifkan.
Gratis Tidak ada biaya untuk data Streaming Langsung. Tunduk pada harga.
Pengambilan sampel Semua metrik dan penghitung yang dipilih ditransmisikan. Pelacakan kegagalan dan tumpukan diambil sampelnya. Peristiwa dapat diambil sampelnya.
Saluran kontrol Sinyal kontrol filter dikirim ke SDK. Sebaiknya Anda mengamankan saluran ini. Komunikasi adalah salah satu cara, ke portal.

Memilih dan memfilter metrik Anda

Kemampuan ini tersedia dengan ASP.NET, ASP.NET Core, dan Azure Functions (v2).

Anda dapat memantau langsung KPI kustom dengan menerapkan filter arbitrer pada telemetri Application Insights dari portal. Klik kontrol filter yang ditampilkan saat Anda mengarahkan mouse ke atas salah satu bagan. Bagan berikut memplot KPI jumlah Permintaan kustom dengan filter pada atribut URL dan Durasi. Validasi filter Anda dengan bagian pratinjau streaming yang menampilkan umpan langsung telemetri yang cocok dengan kriteria yang telah Anda tentukan kapan saja.

Screenshot that shows the Filter request rate.

Anda dapat memantau nilai yang berbeda dari Count. Opsi tergantung pada jenis aliran, yang dapat berupa telemetri Application Insights seperti permintaan, dependensi, pengecualian, jejak, peristiwa, atau metrik. Ini juga bisa menjadi pengukuran kustom Anda sendiri.

Screenshot that shows the Query Builder on Request Rate with a custom metric.

Seiring dengan telemetri Application Insights, Anda juga dapat memantau penghitung kinerja Windows apa pun. Pilih dari opsi streaming dan berikan nama penghitung kinerja.

Metrik Langsung diagregasi pada dua titik: secara lokal di setiap server dan kemudian di semua server. Anda dapat mengubah default di salah satu dengan memilih opsi lain di daftar dropdown masing-masing.

Sampel telemetri: Peristiwa diagnostik langsung kustom

Secara default, umpan langsung kejadian menunjukkan sampel permintaan yang gagal dan panggilan dependensi, pengecualian, kejadian, dan jejak. Pilih ikon filter untuk melihat kriteria yang diterapkan kapan saja.

Screenshot that shows the Filter button.

Seperti metrik, Anda dapat menentukan kriteria arbitrer ke salah satu jenis telemetri Application Insights. Dalam contoh ini, kami memilih kegagalan dan peristiwa permintaan tertentu.

Screenshot that shows the Query Builder.

Catatan

Saat ini, untuk kriteria berbasis pesan pengecualian, gunakan pesan pengecualian terluar. Dalam contoh sebelumnya, untuk memfilter pengecualian jinak dengan pesan pengecualian dalam (mengikuti pemisah "<--" ) "Klien terputus," gunakan kriteria pesan yang tidak berisi "Konten permintaan baca kesalahan".

Untuk melihat detail item di umpan langsung, pilih item tersebut. Anda dapat menjeda umpan dengan memilih Jeda atau dengan menggulir ke bawah dan memilih item. Umpan langsung dilanjutkan setelah Anda menggulir kembali ke bagian atas, atau saat Anda memilih penghitung item yang dikumpulkan saat dijeda.

Screenshot that shows the Sample telemetry window with an exception selected and the exception details displayed at the bottom of the window.

Memfilter menurut instans server

Jika Anda ingin memantau contoh peran server tertentu, Anda dapat memfilter berdasarkan server. Untuk memfilter, pilih nama server pada Server.

Screenshot that shows the Sampled live failures.

Mengamankan saluran kontrol

Filter kustom Metrik Langsung memungkinkan Anda mengontrol telemetri aplikasi mana yang dialirkan ke tampilan Metrik Langsung di portal Azure. Kriteria filter dikirim ke aplikasi yang diinstrumentasikan dengan Application Insights SDK. Nilai filter berpotensi berisi informasi sensitif, seperti ID pelanggan. Untuk menjaga agar nilai ini tetap aman dan mencegah potensi pengungkapan ke aplikasi yang tidak sah, Anda memiliki dua opsi:

  • Disarankan: Amankan saluran Metrik Langsung dengan menggunakan autentikasi Microsoft Entra.
  • Warisan (tidak lagi direkomendasikan): Siapkan saluran terautentikasi dengan mengonfigurasi kunci API rahasia seperti yang dijelaskan di bagian "Opsi warisan".

Catatan

Pada 30 September 2025, kunci API yang digunakan untuk melakukan streaming telemetri Metrik Langsung ke Dalam Application Insights akan dihentikan. Setelah tanggal tersebut, aplikasi yang menggunakan kunci API tidak akan dapat mengirim data Metrik Langsung ke sumber daya Application Insights Anda. Penyerapan telemetri terautentikasi untuk streaming Metrik Langsung ke Application Insights perlu dilakukan dengan autentikasi Microsoft Entra untuk Application Insights.

Anda dapat mencoba filter kustom tanpa harus menyiapkan saluran yang diautentikasi. Pilih salah satu ikon filter dan otorisasi server yang tersambung. Jika Anda memilih opsi ini, Anda harus mengotorisasi server yang terhubung sekali setiap sesi baru atau setiap kali server baru online.

Peringatan

Kami sangat mencegah penggunaan saluran yang tidak aman dan akan menonaktifkan opsi ini enam bulan setelah Anda mulai menggunakannya. Dialog Otorisasi server yang tersambung menampilkan tanggal setelah opsi ini akan dinonaktifkan.

Screenshot that shows the Authorize connected servers dialog.

Opsi warisan: Membuat kunci API

  1. Pilih tab Akses API lalu pilih Buat kunci API.

    Screenshot that shows selecting the API Access tab and the Create API key button.

  2. Pilih kotak centang Autentikasi saluran kontrol SDK lalu pilih Buat kunci.

    Screenshot that shows the Create API key pane. Select Authenticate SDK control channel checkbox and then select Generate key.

Menambahkan kunci API ke konfigurasi

Anda dapat menambahkan kunci API ke konfigurasi untuk aplikasi ASP.NET, ASP.NET Core, WorkerService, dan Azure Functions.

Dalam file Program.cs, tambahkan namespace berikut:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Kemudian tambahkan pendaftaran layanan berikut:

// Existing code which includes services.AddApplicationInsightsTelemetry() to enable Application Insights.
builder.Services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");

Untuk informasi selengkapnya tentang cara mengonfigurasi aplikasi ASP.NET Core, lihat Mengonfigurasi modul telemetri di ASP.NET Core.

WorkerService

Untuk aplikasi WorkerService , ikuti instruksi berikut.

Tambahkan namespace berikut:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Selanjutnya, tambahkan baris berikut sebelum panggilan services.AddApplicationInsightsTelemetryWorkerService:

    services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");

Untuk informasi selengkapnya tentang cara mengonfigurasi aplikasi WorkerService, lihat Mengonfigurasi modul telemetri di WorkerServices.

Aplikasi Azure Functions

Untuk aplikasi Azure Functions (v2), Anda dapat mengamankan saluran dengan kunci API dengan menggunakan variabel lingkungan.

Buat kunci API dari dalam sumber daya Application Insights Anda dan buka Pengaturan> Konfigurasi untuk aplikasi Azure Functions Anda. Pilih Pengaturan aplikasi baru, masukkan nama APPINSIGHTS_QUICKPULSEAUTHAPIKEY, dan masukkan nilai yang sesuai dengan kunci API Anda.

Tabel fitur yang didukung

Bahasa Metrik dasar Metrik performa Pemfilteran kustom Telemetri sampel CPU dibagi menurut proses
.NET Framework Didukung (LTS) Didukung (LTS) Didukung (LTS) Didukung (LTS) Didukung (LTS)
.NET Core (target=.NET Framework) Didukung (LTS) Didukung (LTS) Didukung (LTS) Didukung (LTS) Didukung (LTS)
.NET Core (target=.NET Core) Didukung (LTS) Didukung* Didukung (LTS) Didukung (LTS) Tidak didukung
Azure Functions v2 Didukung Didukung Didukung Didukung Tidak didukung
Java Didukung (V2.0.0+) Didukung (V2.0.0+) Tidak didukung Didukung (V3.2.0+) Tidak didukung
Node.js Didukung (V1.3.0+) Didukung (V1.3.0+) Tidak didukung Didukung (V1.3.0+) Tidak didukung
Python Tidak didukung Tidak didukung Tidak didukung Tidak didukung Tidak didukung

Metrik dasar mencakup tingkat permintaan, dependensi, dan pengecualian. Metrik performa (penghitung kinerja) termasuk memori dan CPU. Contoh telemetri menunjukkan aliran informasi terperinci untuk permintaan dan dependensi, pengecualian, kejadian, dan jejak yang gagal.

Dukungan PerfCounters sedikit bervariasi di seluruh versi .NET Core yang tidak menargetkan .NET Framework:

  • Metrik PerfCounters didukung saat berjalan di Azure App Service untuk Windows (ASP.NET Core SDK versi 2.4.1 atau yang lebih tinggi).
  • PerfCounters didukung saat aplikasi berjalan di komputer Windows apa pun untuk aplikasi yang menargetkan .NET Core LTS atau yang lebih tinggi.
  • PerfCounters didukung ketika aplikasi berjalan di mana saja (seperti Linux, Windows, layanan aplikasi untuk Linux, atau kontainer) dalam versi terbaru, tetapi hanya untuk aplikasi yang menargetkan .NET Core LTS atau yang lebih tinggi.

Pemecahan Masalah

Live Metrics menggunakan alamat IP yang berbeda dari telemetri Application Insights lainnya. Pastikan alamat IP tersebut terbuka di firewall Anda. Periksa juga apakah port keluar untuk Metrik Langsung terbuka di firewall server Anda.

Seperti yang dijelaskan dalam pengumuman migrasi Azure TLS 1.2, Live Metrics sekarang hanya mendukung TLS 1.2. Jika Anda menggunakan versi TLS yang lebih lama, Metrik Langsung tidak menampilkan data apa pun. Untuk aplikasi berdasarkan .NET Framework 4.5.1, lihat Mengaktifkan Keamanan Lapisan Transportasi (TLS) 1.2 pada klien - Configuration Manager untuk mendukung versi TLS yang lebih baru.

Konfigurasi tidak ada untuk .NET

  1. Verifikasi bahwa Anda menggunakan versi terbaru paket NuGet Microsoft.ApplicationInsights.PerfCounterCollector.

  2. ApplicationInsights.config Edit file:

    • Verifikasi bahwa string koneksi menunjuk ke sumber daya Application Insights yang Anda gunakan.
    • QuickPulseTelemetryModule Temukan opsi konfigurasi. Jika tidak ada, tambahkan.
    • QuickPulseTelemetryProcessor Temukan opsi konfigurasi. Jika tidak ada, tambahkan.
    <TelemetryModules>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryModules>
    
    <TelemetryProcessors>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryProcessors>
    
  3. Mulai ulang aplikasi.

Pesan status "Data untuk sementara tidak dapat diakses"

Saat menavigasi ke Metrik Langsung, Anda mungkin melihat banner dengan pesan status: "Data untuk sementara tidak dapat diakses. Pembaruan pada status kami diposting di sini https://aka.ms/aistatus "

Ikuti tautan ke halaman status Azure dan periksa apakah ada pemadaman aktif yang memengaruhi Application Insights. Verifikasi bahwa firewall dan ekstensi browser tidak memblokir akses ke Metrik Langsung jika pemadaman tidak terjadi. Misalnya, beberapa ekstensi pemblokir iklan populer memblokir koneksi ke *.monitor.azure.com. Untuk menggunakan kemampuan penuh Metrik Langsung, nonaktifkan ekstensi pemblokir iklan atau tambahkan aturan pengecualian untuk domain *.livediagnostics.monitor.azure.com ke pemblokir iklan, firewall, dll.

Sejumlah besar permintaan yang tidak terduga untuk livediagnostics.monitor.azure.com

Application Insights SDK menggunakan REST API untuk berkomunikasi dengan titik akhir QuickPulse, yang menyediakan metrik langsung untuk aplikasi web Anda. Secara default, SDK melakukan polling titik akhir setiap lima detik sekali untuk memeriksa apakah Anda melihat panel Metrik Langsung di portal Azure.

Jika Anda membuka panel Metrik Langsung, SDK beralih ke mode frekuensi yang lebih tinggi dan mengirim metrik baru ke QuickPulse setiap detik. Ini memungkinkan Anda untuk memantau dan mendiagnosis aplikasi langsung Anda dengan latensi 1 detik, tetapi juga menghasilkan lebih banyak lalu lintas jaringan. Untuk memulihkan arus lalu lintas normal, navigasikan menjauh dari panel Metrik Langsung.

Catatan

Panggilan REST API yang dilakukan oleh SDK ke titik akhir QuickPulse tidak dilacak oleh Application Insights dan tidak memengaruhi panggilan dependensi Anda atau metrik lainnya. Namun, Anda mungkin melihatnya di alat pemantauan jaringan lainnya.

Langkah berikutnya