Canlı Ölçüm Akışı: Izleme & Tanıla, 1 saniyelik gecikme

Application Insights' dan Canlı Ölçüm Akışı (quickpulse olarak da bilinir) kullanarak canlı, üretim içi web uygulamanızı izleyin. Hizmetinize herhangi bir olumsuz bakış olmadan, ölçümleri ve performans sayaçlarını gerçek zamanlı olarak izlemek için seçin ve filtreleyin. Örnek başarısız isteklerin ve özel durumların yığın izlemelerini inceleyin. Profil Oluşturucu ve anlık görüntü hata ayıklayıcısıile birlikte canlı ölçüm akışı, Canlı Web siteniz için güçlü ve olmayan bir tanılama aracı sağlar.

Canlı Ölçüm Akışı, şunları yapabilirsiniz:

  • Performans ve hata sayılarını izleyerek, yayımlanırken bir sorunu doğrulayın.
  • Test yüklerinin etkisini izleyin ve sorunları canlı olarak tanılayın.
  • İzlemek istediğiniz ölçümleri seçip filtreleyerek, belirli test oturumlarına odaklayın veya bilinen sorunları filtreleyebilirsiniz.
  • Özel durum izlemeleri gerçekleştikleri sürece alın.
  • En ilgili KPI 'Ları bulmak için filtrelerle denemeler yapın.
  • canlı Windows performans sayacını izleyin.
  • Sorun yaşayan bir sunucuyu kolayca tanımlayabilir ve tüm KPI/canlı beslemesini yalnızca o sunucuya filtreleyin.

Canlı ölçümler sekmesi

canlı ölçümler şu anda ASP.NET, ASP.NET Core, Azure işlevleri, Java ve Node.js uygulamaları için desteklenmektedir.

başlarken

  1. Canlı ölçümleri etkinleştirmek için dile özgü yönergeleri izleyin.

  2. Azure portal, uygulamanız için Application Insights kaynağını açın ve ardından Canlı Akış ' yı açın.

  3. Filtrelerinizin müşteri adları gibi hassas verileri kullanacaksanız Denetim kanalını güvenli hale getirin.

Herhangi bir .NET uygulaması için kod kullanarak Liveölçümlerini etkinleştirin

Canlı ölçümler, .NET uygulamaları için önerilen yönergeleri kullanarak ekleme sırasında varsayılan olarak etkin olsa da, aşağıdakiler canlı ölçümleri el ile nasıl ayarlayacağınız gösterilmiştir.

  1. Microsoft. applicationınsights. perfcountercollector NuGet paketini yükler
  2. Aşağıdaki örnek konsol uygulaması kodu, canlı ölçümleri ayarlamayı gösterir.
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;
using System;
using System.Threading.Tasks;

namespace LiveMetricsDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 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 setup 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 stream.
                // 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();
            }
        }
    }
}

Yukarıdaki örnek bir konsol uygulaması için olduğunda, aynı kod tüm .NET uygulamalarında kullanılabilir. Telemetriyi otomatik toplayan başka bir TelemetryModules etkinse, bu modüllerin başlatılmasına yönelik aynı yapılandırmanın de canlı ölçüm modülü için kullanıldığından emin olmak önemlidir.

Canlı Ölçüm Akışı Ölçüm Gezgini ve analiz 'den farklı midir?

Canlı Akış Ölçüm Gezgini ve analiz
Gecikme süresi Bir saniye içinde görünen veriler Dakikada toplanan
Saklama yok Veriler grafikte olduğu sırada devam ettirir ve sonra atılır 90 gün boyunca tutulan veriler
İsteğe bağlı Veriler yalnızca canlı ölçümler bölmesi açıkken akışlıdır SDK her yüklendiğinde ve etkinleştirildiğinde veriler gönderilir
Ücretsiz Canlı Akış verileri için ücret alınmaz Fiyatlandırmaya tabi
Örnekleme Tüm seçili ölçümler ve sayaçlar iletilir. Arızalar ve yığın izlemeleri örneklenir. Olaylar örneklenebilir
Denetim kanalı Filtre denetim sinyalleri SDK 'ya gönderilir. Bu kanalın güvenli olmasını öneririz. İletişim, portala tek bir yoldur

Ölçümlerinizi seçme ve filtreleme

(ASP.NET, ASP.NET Core ve Azure işlevleri (v2) ile kullanılabilir.)

portaldan herhangi bir Application Insights telemetrisine rastgele filtreler uygulayarak özel kpı 'ları izleyebilirsiniz. Grafiklerin herhangi birini fareyle fareyle gösteren filtre denetimine tıklayın. Aşağıdaki grafik, URL ve Duration özniteliklerinin filtrelerine sahip özel bir Istek sayısı KPI 'SI çizdirme. Herhangi bir zamanda belirttiğiniz ölçütlere uyan bir telemetri canlı akışını gösteren akış önizleme bölümüyle filtrelerinizi doğrulayın.

Filtre isteği hızı

Count 'tan farklı bir değeri izleyebilirsiniz. seçenekler, hiçbir Application Insights telemetri olabilecek akış türüne bağlıdır: istekler, bağımlılıklar, özel durumlar, izlemeler, olaylar veya ölçümler. Kendi özel ölçümünüzünolabilir:

Özel ölçüm ile istek hızında Sorgu Oluşturucu

Application Insights telemetriye ek olarak, akış seçeneklerinden birini seçerek ve performans sayacının adını sağlayarak Windows performans sayacını da izleyebilirsiniz.

Canlı ölçümler iki noktaya toplanır: yerel olarak her bir sunucuda ve sonra tüm sunucularda. Varsayılan ayarları, ilgili açılan kutudan diğer seçenekleri seçerek değiştirebilirsiniz.

Örnek telemetri: özel canlı tanılama olayları

Varsayılan olarak, canlı olay akışı, başarısız isteklerin ve bağımlılık çağrılarının, özel durumların, olayların ve izlemelerin örneklerini gösterir. İstediğiniz zaman herhangi bir noktada uygulanan ölçütü görmek için filtre simgesine tıklayın.

Filtre düğmesi

ölçümlerde olduğu gibi, Application Insights telemetri türlerinden herhangi birine herhangi bir rastgele ölçüt de belirtebilirsiniz. Bu örnekte, belirli istek başarısızlıklarını ve olayları seçiyoruz.

Sorgu Tasarımcısı

Not

Şu anda, özel durum iletisi tabanlı ölçütler için en dıştaki özel durum iletisini kullanın. Yukarıdaki örnekte, iç özel durum iletisi ile zararsız özel durumunu filtrelemek için ("<--" sınırlayıcı) "istemcinin bağlantısı kesildi." bir ileti kullanın-"istek içeriği okunurken hata" ölçütü içerir.

Canlı akıştaki bir öğenin ayrıntılarına tıklayarak bakınız. Duraklat ' a tıklayarak veya yalnızca aşağı kaydırarak ya da bir öğeye tıklayarak akışı duraklatabilirsiniz. Canlı akış, başa doğru kaydırdıktan veya duraklatıldığında toplanan öğe sayaçından tıklandıktan sonra sürdürülecek.

Ekran görüntüsü, bir özel durum seçili olan örnek telemetri penceresini ve pencerenin alt kısmında gösterilen özel durum ayrıntılarını gösterir.

Sunucu örneğine göre filtrele

Belirli bir sunucu rolü örneğini izlemek isterseniz, sunucuya göre filtre uygulayabilirsiniz. Filtrelemek için sunucular altında sunucu adını seçin.

Örneklenmiş canlı arızalar

Denetim kanalının güvenliğini sağlama

Not

Şu anda yalnızca el ile izleme (SDK) kullanarak kimliği doğrulanmış bir kanal ayarlayabilir ve Azure hizmet tümleştirmesini (veya otomatik izleme) kullanarak sunucuların kimliğini doğrulayamamaktadır.

canlı ölçümler portalında belirttiğiniz özel filtreler ölçütü, Application Insights SDK 'sindeki canlı ölçümler bileşenine geri gönderilir. Filtreler potansiyel olarak CustomerIDs gibi hassas bilgileri içerebilir. İzleme anahtarına ek olarak, kanalı gizli bir API anahtarı ile güvenli hale getirebilirsiniz.

API anahtarı oluşturma

API anahtarı > API anahtarı  oluşturma API anahtarı oluştur. "SDK denetim kanalını Doğrula" ve "anahtar oluştur" seçeneğini belirleyin.

Yapılandırmaya API anahtarı Ekle

ASP.NET

applicationinsights.config dosyasında, QuickPulseTelemetryModule öğesine AuthenticationApiKey değerini ekleyin:

<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector">
      <AuthenticationApiKey>YOUR-API-KEY-HERE</AuthenticationApiKey>
</Add>

ASP.NET Core

ASP.NET Core uygulamalar için aşağıdaki yönergeleri izleyin.

ConfigureServicesBaşlangıç. cs dosyanızı aşağıdaki gibi değiştirin:

Aşağıdaki ad alanını ekleyin.

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Ardından ConfigureServices yöntemi aşağıda gösterildiği gibi değiştirin.

public void ConfigureServices(IServiceCollection services)
{
    // existing code which include services.AddApplicationInsightsTelemetry() to enable Application Insights.
    services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");
}

ASP.NET Core uygulamalarını yapılandırma hakkında daha fazla bilgi, ASP.NET Core telemetri modüllerini yapılandırmakılavuzumuza bulunabilir.

WorkerService

Workerservice uygulamaları için aşağıdaki yönergeleri izleyin.

Aşağıdaki ad alanını ekleyin.

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Sonra, çağrıdan önce aşağıdaki satırı ekleyin services.AddApplicationInsightsTelemetryWorkerService .

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

WorkerService uygulamalarını yapılandırma hakkında daha fazla bilgi için, WorkerServices 'de telemetri modülleri yapılandırmakılavuzumuzdan bulunabilir.

Azure İşlev Uygulamaları

Azure Işlev uygulamaları (v2) için bir API anahtarı ile kanalın güvenliğinin sağlanması bir ortam değişkeniyle gerçekleştirilebilir.

Application Insights kaynağınız içinden bir apı anahtarı oluşturun ve İşlev Uygulaması için Ayarlar > yapılandırmasına gidin. Yeni uygulama ayarı ' nı seçin ve bir ad APPINSIGHTS_QUICKPULSEAUTHAPIKEY ve API anahtarınıza karşılık gelen bir değer girin.

Bununla birlikte, tüm bağlı sunucuları tanıyor ve güveniyorsanız, kimlik doğrulamalı kanal olmadan özel filtreleri deneyebilirsiniz. Bu seçenek altı ay boyunca kullanılabilir. Bu geçersiz kılma her yeni oturum için veya yeni bir sunucu çevrimiçi olduğunda gereklidir.

Canlı ölçümler kimlik doğrulama seçenekleri

Not

Filtre ölçütlerinde MüşteriNo gibi potansiyel hassas bilgileri girmeden önce kimliği doğrulanmış kanalı ayarlamanızı kesinlikle öneririz.

Desteklenen Özellikler tablosu

Dil Temel ölçümler Performans ölçümleri Özel filtreleme Örnek telemetri İşleme göre CPU bölme
.NET Framework Desteklenen (V 2.7.2 +) Desteklenen (V 2.7.2 +) Desteklenen (V 2.7.2 +) Desteklenen (V 2.7.2 +) Desteklenen (V 2.7.2 +)
.NET Core (hedef = .NET Framework) Desteklenen (V 2.4.1 +) Desteklenen (V 2.4.1 +) Desteklenen (V 2.4.1 +) Desteklenen (V 2.4.1 +) Desteklenen (V 2.4.1 +)
.NET Core (Target =. NET Core) Desteklenen (V 2.4.1 +) Destekleniyor* Desteklenen (V 2.4.1 +) Desteklenen (V 2.4.1 +) Desteklenmiyor
Azure Işlevleri v2 Desteklenir Desteklenir Desteklenir Desteklenir Desteklenmiyor
Java Desteklenen (V 2.0.0 +) Desteklenen (V 2.0.0 +) Desteklenmiyor Desteklenen (V 3.2.0 +) Desteklenmiyor
Node.js Desteklenen (V 1.3.0 +) Desteklenen (V 1.3.0 +) Desteklenmiyor Desteklenen (V 1.3.0 +) Desteklenmiyor

Temel ölçümler istek, bağımlılık ve özel durum oranını içerir. Performans ölçümleri (performans sayaçları) bellek ve CPU içerir. Örnek telemetri, başarısız istekler ve bağımlılıklar, özel durumlar, olaylar ve izlemelerle ilgili ayrıntılı bilgilerin akışını gösterir.

*PerfCounters desteği, .NET Core 'un .NET Framework hedefleyemediğinden biraz farklılık gösterir:

  • PerfCounters ölçümleri, Windows için Azure App Service çalıştırılırken desteklenir. (AspNetCore SDK sürümü 2.4.1 veya üzeri)
  • uygulama herhangi bir Windows makinelerde (VM veya bulut hizmeti ya da şirket içi vb.) çalışırken perfcounters desteklenir. (AspNetCore SDK Version 2.7.1 veya üzeri), ancak .NET Core 2,0 veya üstünü hedefleyen uygulamalar için.
  • uygulama, en son sürümlerde (örneğin, aspnetcore SDK sürümü 2.8.0 veya üzeri), ancak yalnızca .net Core 2,0 veya üstünü hedefleyen uygulamalar için her yerde (linux, Windows, linux için app service, kapsayıcılar vb.) çalışırken perfcounters desteklenir.

Sorun giderme

Canlı Ölçüm Akışı, diğer Application Insights telemetrisinden farklı ıp adresleri kullanır. Bu IP adreslerinin güvenlik duvarınızdaki açık olduğundan emin olun. Ayrıca, canlı ölçüm akışı giden bağlantı noktalarını sunucularınızın güvenlik duvarında açık olduğunu kontrol edin.

Sonraki adımlar