Veri yok sorunlarını giderme: .NET ve .NET Core için Application Insights
Bu makalede, .NET ve .NET Core için Application Insights kullanırken veriler eksik olduğunda veya görünmediğinde karşılaşılan sorunları çözmeye yardımcı olacak sorun giderme bilgileri sağlanır.
Not
Bu makale kısa süre önce Log Analytics yerine Azure İzleyici günlükleri terimini kullanacak şekilde güncelleştirildi. Günlük verileri yine bir Log Analytics çalışma alanında depolanır ve yine de aynı Log Analytics hizmeti tarafından toplanır ve analiz edilir. Azure İzleyici'deki günlüklerin rolünü daha iyi yansıtacak şekilde terminolojiyi güncelleştiriyoruz. Daha fazla bilgi için bkz . Azure İzleyici terminoloji değişiklikleri.
Telemetrimin bir bölümü eksik
Örnek senaryolar:
Application Insights'ta uygulamamın oluşturduğu olayların yalnızca bir bölümünü görüyorum
- Tutarlı olarak aynı kesiri görüyorsanız, bunun nedeni büyük olasılıkla uyarlamalı örneklemedir. Bu nedeni onaylamak için Genel Bakış>Arama'yı seçin ve bir İstek veya başka bir olayın örneğine bakın. Özellik ayrıntılarının tamamını görmek için Özellikler bölümünün altındaki üç noktayı (...) seçin. İstek sayısı 1'den büyükse örnekleme işlemi devam eder.
- Fiyatlandırma planınız için veri hızı sınırına ulaşmış olmanız mümkündür. Bu sınırlar dakika başına uygulanır.
Rastgele veri kaybı yaşıyorum
- Telemetri kanalında veri kaybı yaşayıp yaşamadığınızı denetleyin.
- GitHub deposunun telemetri kanalında bilinen sorunları denetleyin.
Not
Veriler eksikse, verilerin arka uç tarafından reddedilmesi mümkündür. Bu durum, aşağıdaki nedenler de dahil olmak üzere çeşitli nedenlerle oluşabilir:
- Gerekli alanlar eksik.
- Bir veya daha fazla alan boyut sınırlarını aşıyor.
- SDK'lar özel durum oluşturma yerine sessizce başarısız oluyor.
Başarılı telemetri yüklemelerini onaylamak için Fiddler gibi bir araç veya HTTP trafiğini inceleyecek başka bir araç kullanabilirsiniz. Arka uç, başarılı bir karşıya yükleme olduğunu belirtmek için "200 Tamam" HTTP durum kodu döndürür. Öte yandan arka ucun verileri reddedip reddetmediğini görmek için SDK günlüklerini de kullanabilirsiniz.
Uygulama durdurulmak üzereyken konsol uygulamasında veya web uygulamasında veri kaybıyla karşılaşıyorum
- SDK kanalı telemetriyi arabellekte tutar ve toplu olarak gönderir. Uygulama kapatılıyorsa flush() öğesini açıkça çağırmanız gerekebilir. Davranış,
Flush()
kullanılan gerçek kanala bağlıdır. - .NET Core/.NET Framework Konsol uygulaması başına, konsol uygulamalarında açıkça çağrı
Flush()
yapılması ve ardından uykunun yapılması gerekir.
Application Insights SDK'sı tarafından toplanan istek sayısı uygulamam için IIS günlük sayısıyla eşleşmiyor
Internet Information Services (IIS), IIS'ye ulaşan tüm isteklerin sayısını günlüğe kaydeder ve doğası gereği bir uygulamaya ulaşan toplam isteklerden farklı olabilir. Bu davranış nedeniyle SDK'lar tarafından toplanan istek sayısının toplam IIS günlük sayısıyla eşleşeceği garanti değildir.
Sunucumdan veri yok
Örnek senaryolar:
Uygulamamı web sunucuma yükledim ve şimdi bu sunucudan herhangi bir telemetri görmüyorum. Geliştirme makinemde Tamam çalıştı
Bunun nedeni büyük olasılıkla bir güvenlik duvarı sorunudur. Application Insights'ın veri göndermesi için güvenlik duvarı özel durumları ayarlayın.
Mevcut uygulamaları izlemek için web sunucuma Azure İzleyici Application Insights Aracısını yükledim. Hiçbir sonuç görmüyorum
Bkz . Durum İzleyicisi sorunlarını giderme.
TLS/SSL istemci ayarlarını denetleme (ASP.NET)
Azure Uygulaması Hizmeti'nde veya sanal makinedeki IIS'de barındırılan bir ASP.NET uygulamanız varsa, eksik ssl güvenlik protokolü nedeniyle uygulamanız Snapshot Debugger hizmetine bağlanamıyor olabilir.
Snapshot Debugger uç noktası TLS sürüm 1.2 gerektirir. SSL güvenlik protokolleri kümesi, web.config dosyasının bölümündeki öğenin targetFramework
öznitelik değeri <system.web>
tarafından <httpRuntime>
etkinleştirilen tuhaflıklardan biridir. Hedef çerçeve 4.5.2 veya daha düşükse, TLS 1.2 varsayılan olarak dahil değildir.
Not
Öğesinin <httpRuntime>
targetFramework
öznitelik değeri, uygulamanızı oluştururken kullanılan hedef çerçeveden bağımsızdır.
Ayarı denetlemek için web.config dosyanızı açın ve bölümünü bulun<system.web>
. için <httpRuntime>
değerinin targetFramework
4,6 veya üzeri olarak ayarlandığından emin olun.
<system.web>
...
<httpRuntime targetFramework="4.7.2" />
...
</system.web>
Not
<httpRuntime>
Öğenin targetFramework
değerinin değiştirilmesi, uygulamanıza uygulanan çalışma zamanı tuhaflıklarını değiştirir ve diğer ince davranış değişikliklerine neden olabilir. Bu değişikliği yaptıktan sonra uygulamanızı kapsamlı bir şekilde test etmeye özen gösterin. Uyumluluk değişikliklerinin tam listesi için bkz . Değişiklikleri yeniden hedefleme.
Hedef çerçeve 4.7 veya üzeriyse, Windows kullanılabilir protokolleri belirler. Azure Uygulaması Hizmeti'nde TLS 1.2 kullanılabilir. Ancak kendi sanal makinenizi kullanıyorsanız işletim sisteminde TLS 1.2'yi etkinleştirmeniz gerekebilir.
FileNotFoundException: "Microsoft.AspNet TelemetriSiCorrelation dosyası veya derlemesi yüklenemedi"
Bu hata hakkında daha fazla bilgi için bkz . GitHub sorunu 1610.
Sürüm 2.4'ten eski Application Insights SDK'larından yükseltme yaptığınızda, web.config ve ApplicationInsights.config dosyalarına aşağıdaki değişikliklerin uygulandığından emin olun:
web.config dosyasında, bir yerine iki HTTP modülüne sahip olmanız gerekir. Sıralama bazı senaryolar için önemlidir:
<system.webServer> <modules> <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" /> <add name="ApplicationInsightsHttpModule" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /> </modules> </system.webServer>
ApplicationInsights.config dosyasında, öğesine
RequestTrackingTelemetryModule
ek olarak aşağıdaki telemetri modülüne sahip olmanız gerekir:<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web"/> </TelemetryModules>
Yükseltmenin düzgün yapılmaması beklenmeyen özel durumlara veya telemetri verilerinin toplanmamasına neden olabilir.
Visual Studio'da "Application Insights'ı Ekle" seçeneği yok
Örnek senaryo:
Çözüm Gezgini'da var olan bir projeye sağ tıkladığımda Application Insights seçeneği görmüyorum
- Araçlar her tür .NET projesini desteklemez. Web ve Windows Communication Foundation (WCF) projeleri desteklenir. Masaüstü veya hizmet uygulamaları gibi diğer proje türleri için, yine de projenize el ile Application Insights SDK'sı ekleyebilirsiniz.
- Visual Studio 2013 Güncelleştirme 3 veya sonraki bir sürümüne sahip olduğunuzdan emin olun. Application Insights SDK'sını sağlayan Geliştirici Analizi araçlarıyla birlikte önceden yüklenmiş olarak gelir.
- Araç>Uzantıları ve Güncelleştirmeleri'ne tıklayın. Ardından Geliştirici Analizi Araçları'nın yüklü ve etkin olup olmadığını denetleyin. Yüklü ve etkinse güncelleştirme olup olmadığını görmek için Güncelleştirmeler'i seçin.
- Yeni Proje iletişim kutusunu açın ve ASP.NET Web Uygulaması'nı seçin. Application Insights seçeneğini görürseniz araçlar yüklenir. Aksi takdirde Geliştirici Analizi araçlarını kaldırın ve yeniden yükleyin.
Application Insights'ı ekleme işlemi başarısız oldu
Örnek senaryo:
Mevcut bir projeye Application Insights eklemeye çalıştığımda bir hata iletisi görüyorum
Olası nedenleri:
- Application Insights portalıyla iletişim başarısız oldu.
- Azure hesabınızla ilgili bir sorun var.
- Yalnızca yeni kaynağı oluşturmaya çalıştığınız aboneliğe veya gruba okuma erişiminiz var.
Düzeltmek:
- Doğru Azure hesabı için oturum açma kimlik bilgilerini sağladığınızı denetleyin.
- Tarayıcınızda Azure portalına erişiminizin olup olmadığını denetleyin. Ayarlar'ı açın ve herhangi bir kısıtlama olup olmadığına bakın.
- Mevcut projenize Application Insights ekleyin. Çözüm Gezgini'de projenize sağ tıklayın ve Application Insights Ekle'yi seçin.
Derleme sunucumda "NuGet paketleri eksik"
Örnek senaryo:
Geliştirme makinemde hata ayıklarken her şey tamam ama derleme sunucusunda NuGet hatası alıyorum
Bkz. NuGet Paketi Geri Yükleme ve Otomatik Paket Geri Yükleme.
Visual Studio'dan Application Insights'ı açmayı sağlayan menü komutu eksik
Örnek senaryo:
Proje Çözüm Gezgini sağ tıkladığımda, Application Insights komutu görmüyorum veya Application Insights'ı Aç komutunu görmüyorum
Olası nedenleri:
- Application Insights kaynağını el ile oluşturdunuz.
- Proje, Application Insights araçlarının desteklemez.
- Visual Studio örneğinizde Geliştirici Analizi araçları devre dışı bırakılır.
- Visual Studio sürümünüz Visual Studio 2013 Güncelleştirme 3'ten daha eski.
Düzeltmek:
- Visual Studio sürümünüzün Visual Studio 2013 Güncelleştirme 3 veya üzeri olduğundan emin olun.
- Araç>Uzantıları ve Güncelleştirmeleri'ne tıklayın. Geliştirici Analizi Araçları'nın yüklü ve etkin olduğundan emin olun. Yüklü ve etkinse güncelleştirme olup olmadığını görmek için Güncelleştirmeler'i seçin.
- Çözüm Gezgini'de projenize sağ tıklayın. Application Insights Application Insights'ı> Yapılandır komutunu görürseniz, projenizi Application Insights hizmetindeki kaynağa bağlamak için kullanın.
Aksi takdirde proje türünüz Geliştirici Analizi araçları tarafından doğrudan desteklenmez. Telemetrinizi görmek için Azure portalında oturum açın, Application Insights'ı arayıp seçin ve uygulamanızı seçin.
Visual Studio'dan Application Insights açılırken "Erişim reddedildi"
Örnek senaryo:
"Application Insights'ı Aç" menü komutu beni Azure portalına götürüyor, ancak "erişim reddedildi" hatası alıyorum
Varsayılan tarayıcınızda en son kullandığınız Microsoft oturum açma işleminin, Application Insights bu uygulamaya eklendiğinde oluşturulan kaynağa erişimi yoktur. bunun iki olası nedeni vardır:
Nedeni | Çözüm |
---|---|
Birden fazla Microsoft hesabınız (belki de bir iş ve kişisel Microsoft hesabınız) vardır. Bu durumda, varsayılan tarayıcınızda en son kullandığınız oturum açma, projeye Application Insights ekleme erişimi olan hesaptan farklı bir hesap içindir. | Tarayıcı penceresinin sağ üst köşesinde adınızı seçin ve oturumu kapatın. Ardından erişimi olan hesapla oturum açın. Application Insights'ı arayıp seçin ve uygulamanızı seçin. |
Başka biri projeye Application Insights ekledi ve oluşturulduğu kaynak grubuna erişmenizi unuttu. | Bir kuruluş hesabı kullandılarsa sizi takıma ekleyebilirler. Ya da kaynak grubuna tek tek erişim izni verebilirler. |
Visual Studio'dan Application Insights açılırken "Varlık bulunamadı"
Örnek senaryo:
"Application Insights'ı Aç" menü komutu beni Azure portalına götürüyor, ancak "varlık bulunamadı" hatası alıyorum
bunun iki olası nedeni vardır:
- Uygulamanızın Application Insights kaynağı silindi.
- Birisi proje dosyasını güncelleştirmeden ApplicationInsights.config içindeki bağlantı dizesi ayarladı veya değiştirdi.
ApplicationInsights.config dosyasındaki bağlantı dizesi telemetrinin nereye gönderileceğini denetler. Proje dosyasındaki bir satır, Visual Studio'da komutunu kullandığınızda hangi kaynağın açılacağını denetler.
Aşağıdaki düzeltmelerden birini uygulayın:
- Çözüm Gezgini'da projeye sağ tıklayın ve Application Insights Application Insights'ı> Yapılandır'ı seçin. İletişim kutusunda, mevcut bir kaynağa telemetri göndermeyi seçebilir veya yeni bir tane oluşturabilirsiniz.
- Kaynağı doğrudan açın. Azure portalında oturum açın, Application Insights'ı arayıp seçin ve uygulamanızı seçin.
Telemetrimi nerede bulabilirim?
Örnek senaryo:
Azure portalında oturum açtım ve Azure giriş panosuna bakıyorum. Peki Application Insights verilerimi nerede bulabilirim?
- Application Insights'ı arayıp seçin ve uygulamanızı seçin. Orada hiç projeniz yoksa web projenize Application Insights eklemeniz veya yapılandırmanız gerekir. Daha fazla ayrıntı görmek için görünen özet grafiklere göz atabilirsiniz.
- Visual Studio'da, uygulamanızda hata ayıklarken Application Insights düğmesini seçin.
Sunucu verisi yok (veya hiç veri yok)
Örnek senaryo:
Uygulamamı çalıştırdım ve ardından Application Insights hizmetini Microsoft Azure'da açtım, ancak tüm grafiklerde "Toplamayı öğrenin", "Yapılandırılmadı" veya yalnızca sayfa görünümü ve kullanıcı verileri gösterildi ancak sunucu verileri yok
Visual Studio'da (F5) uygulamanızı hata ayıklama modunda çalıştırın. Bazı telemetri verileri oluşturmak için uygulamayı kullanın. Visual Studio çıkış penceresinde günlüğe kaydedilen olayları görebildiğinizi denetleyin.
Application Insights portalında Genel Bakış>Arama'yı seçin. Veriler genellikle burada ilk olarak görünür.
Yenile'yi seçin. Bölme düzenli aralıklarla yenilenir, ancak bunu el ile de yapabilirsiniz. Yenileme aralığı, daha büyük zaman aralıkları için daha uzundur.
bağlantı dizesi eşleştirildiğini doğrulayın. Application Insights portalındaki uygulamanızın ana bölmesindeki Temel Bileşenler açılan listesinde Bağlantı dizesi'ne bakın. Ardından Visual Studio'daki projenizde ApplicationInsights.config dosyasını açın ve öğesini bulun
<ConnectionString>
. İki dizenin eşit olup olmadığını denetleyin. Dizeler eşleşmiyorsa aşağıdaki eylemlerden birini gerçekleştirin:Ortam Eylem Azure portalı Application Insights'ı arayıp seçin ve ardından doğru dizeye sahip uygulama kaynağını arayın. Visual Studio Visual Studio Çözüm Gezgini'da projeye sağ tıklayın ve Application Insights>Yapılandırması'nı seçin. Telemetriyi doğru kaynağa göndermek için uygulamayı sıfırlayın. Eşleşen dizeleri bulamıyorsanız, Visual Studio'da portalda oturum açmak için kullandığınız oturum açma kimlik bilgilerini kullandığınızdan emin olun.
Azure portalında Hizmet Durumu'nı arayın ve seçin. Haritanın bazı uyarı göstergeleri varsa, sistem durumuna dönene kadar bekleyin. Ardından Application Insights uygulama bölmenizi kapatıp yeniden açın.
Sunucu tarafı SDK'sı için örneklerdeki
TelemetryClient
veyaTelemetryContext
içindeki bağlantı dizesi değiştirebilecek herhangi bir kod yazdınız mı? Yoksa çok fazla filtre uygulamış olabilecek bir filtre veya örnekleme yapılandırması mı yazdınız?ApplicationInsights.config dosyasını düzenlediyseniz, TelemetryInitializers> ve <TelemetryProcessors> öğelerinin <yapılandırmasını dikkatle denetleyin. Yanlış adlandırılmış bir tür veya parametre SDK'nın veri göndermesine neden olabilir.
Sayfa görünümlerinde, tarayıcılarda ve kullanımda veri yok
Örnek senaryo:
Sunucu yanıt süresinde ve sunucu istekleri grafiklerinde veri görüyorum, ancak sayfa görünümü yükleme süresinde veya Tarayıcı veya Kullanım bölmelerinde veri yok
Veriler web sayfalarındaki betiklerden gelir.
- Mevcut bir web projesine Application Insights eklediyseniz betikleri el ile eklemeniz gerekir.
- Internet Explorer'ın sitenizi Uyumluluk modunda görüntülemediğinden emin olun.
- Verilerin adresine gönderildiğini
dc.services.visualstudio.com
doğrulamak için tarayıcının hata ayıklama özelliğini (bazı tarayıcılarda F12, ardından Ağ'ı seçin) kullanın.
Bağımlılık veya özel durum verileri yok
Bkz . bağımlılık telemetrisi ve özel durum telemetrisi.
Performans verileri yok
CPU ve G/Ç hızı gibi performans verileri, Ayarlar>Sunucuları altında aşağıdaki ortamlarda kullanılabilir:
- Java web hizmetleri
- Windows masaüstü uygulamaları
- IIS web uygulamaları ve hizmetleri (Application Insights aracısını yüklerseniz)
- Azure Bulut Hizmetleri
Uygulamayı sunucumda yayımladıktan sonra (sunucu) veri yok
- tüm DLL'leri
Microsoft.ApplicationInsights
ileMicrosoft.Diagnostics.Instrumentation.Extensions.Intercept.dll
birlikte sunucuya kopyaladığınızdan denetleyin. - Güvenlik duvarınızda bazı TCP bağlantı noktalarını açmanız gerekebilir.
- Şirket ağınızdan göndermek için ara sunucu kullanmanız gerekiyorsa web.config dosyasında defaultProxy> öğesini ayarlayın<.
Application Insights etkinleştirildiğinde performans etkisi
Uygulamanızda Application Insights SDK'sını etkinleştirmek bazen yüksek CPU kullanımı, bellek sızıntıları, iş parçacığı sızıntıları veya TCP bağlantı noktası tükenmesi gibi performans sorunlarına yol açabilir. Bu sorunlar genellikle uygulama nesneleri sızdıran Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration
kaynaklanır. Sızdırılan her örnek, sürecin iş parçacığı sayısında zaman içinde sürekli artışa yol açan iki ek iş parçacığı oluşturur. Artan sayıda iş parçacığı gözlemlerseniz, TelemetryConfiguration nesnelerinin sızıntılarını denetlemek çok önemlidir.
TelemetryConfiguration sızıntılarının yaygın nedenleri
Nesnelerin sızmasının TelemetryConfiguration
başlıca iki nedeni vardır:
Kodda açık oluşturma: Kodunuzun içinde nesneler oluşturursanız
TelemetryConfiguration
, web isteği başına yanlışlıkla oluşturulmadığından emin olun. Bunun yerine paylaşılan bir genel örnek kullanın. .NET Framework uygulamaları için ileTelemetryConfiguration.Active
genel örneğe erişin. .NET Core uygulamaları için varsayılan yapılandırmayı almak için kullanınTelemetryConfiguration.CreateDefault()
.Yanlış hizmet sağlayıcısı kullanımı: .NET Core uygulamalarında içinde arama
services.BuildServiceProvider()
ConfigureServices
yapmaktan kaçının. BuildServiceProvider yöntemi, yapılandırmayı başlatan ve okuyan yeni bir hizmet sağlayıcısı oluşturur ve böylece her seferinde yeniTelemetryConfiguration
bir nesne elde eder. Bu tür bir düzen, bu kodlama uygulamasına karşı Visual Studio uyarısında belirtildiği gibi sızıntılara yol açabilir ve önerilmez.
Eskiden verileri görürdum ama durduruldu
Aylık veri noktası kotanıza ulaşmanız mı gerekiyor? Öğrenmek için Ayarlar>Kotası ve Fiyatlandırma'yı açın. Bu durumda planınızı yükseltebilir veya daha fazla kapasite için ödeme yapabilirsiniz. Fiyatlandırma şemasına bakın.
Beklediğim tüm verileri görmüyorum
Uygulamanız önemli miktarda veri gönderiyorsa ve ASP.NET sürüm 2.0.0-beta3 veya üzeri için Application Insights SDK'sını kullanıyorsanız uyarlamalı örnekleme özelliği çalışabilir ve telemetrinizin yalnızca bir yüzdesini gönderebilir.
Devre dışı bırakabilirsiniz, ancak bunu önermeyiz. Örnekleme, ilgili telemetri verilerinin tanılama amacıyla doğru şekilde iletilmesi için tasarlanmıştır.
İstemci IP adresi 0.0.0.0
5 Şubat 2018'de İstemci IP adresinin günlüğe kaydedilmesini kaldırdığımız duyuruldu. Bu öneri coğrafi konumu etkilemez.
Not
IP adresinin ilk üç sekizlisine ihtiyacınız varsa, özel bir öznitelik eklemek için telemetri başlatıcısı kullanabilirsiniz. Bu sorun, 5 Şubat 2018'den önce toplanan verileri etkilemez.
Kullanıcı telemetrisinde yanlış coğrafi veriler
Şehir ve ülke/bölge boyutları IP adreslerinden türetilir ve her zaman doğru değildir. Bu IP adresleri önce konum için işlenir ve sonra depolanacak 0.0.0.0 olarak değiştirilir.
Azure Cloud Services’da çalıştırma üzerine “yöntem bulunamadı” özel durumu
.NET Uzun Vadeli Destek (LTS) için derleme yaptınız mı? Önceki sürümler Azure Cloud Services rollerinde otomatik olarak desteklenmez. Uygulamanızı çalıştırmadan önce her role LTS yükleyin.
Günlük sorunlarını giderme
Çerçevenizin sorun giderme günlüklerini yakalamak için bu yönergeleri izleyin.
.NET Framework
Not
2.14 sürümünden itibaren Microsoft.AspNet.ApplicationInsights.HostingStartup paketi artık gerekli değildir. SDK günlükleri artık Microsoft.ApplicationInsights paketiyle toplanır. Başka paket gerekmez.
ApplicationInsights.config dosyanızı aşağıdaki XML kodunu içerecek şekilde değiştirin:
<TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.FileDiagnosticsTelemetryModule, Microsoft.ApplicationInsights"> <Severity>Verbose</Severity> <LogFileName>mylog.txt</LogFileName> <LogFilePath>C:\\SDKLOGS</LogFilePath> </Add> </TelemetryModules>
Uygulamanızın yapılandırılan konum için yazma izinleri olmalıdır.
SDK'nın bu yeni ayarları alması için işlemi yeniden başlatın.
İşiniz bittiğinde bu değişiklikleri geri alın.
.NET Core
NuGet'ten ASP.NET Core paketi için Application Insights SDK NuGet paketini yükleyin. Yüklediğiniz sürüm, yüklü geçerli sürümüyle
Microsoft.ApplicationInsights
eşleşmelidir.En son sürümü
Microsoft.ApplicationInsights.AspNetCore
2.14.0'dır ve 2.14.0 sürümüneMicrosoft.ApplicationInsights
başvurur. Bu nedenle, yüklenecek sürümüMicrosoft.ApplicationInsights.AspNetCore
2.14.0 olmalıdır.ConfigureServices
Startup.cs sınıfınızdaki yöntemini değiştirin:services.AddSingleton<ITelemetryModule, FileDiagnosticsTelemetryModule>(); services.ConfigureTelemetryModule<FileDiagnosticsTelemetryModule>( (module, options) => { module.LogFilePath = "C:\\SDKLOGS"; module.LogFileName = "mylog.txt"; module.Severity = "Verbose"; } );
Uygulamanızın yapılandırılan konum için yazma izinleri olmalıdır.
SDK'nın bu yeni ayarları alması için işlemi yeniden başlatın.
İşiniz bittiğinde bu değişiklikleri geri alın.
PerfView ile günlükleri toplama
PerfView , CPU, bellek ve diğer sorunları yalıtma konusunda yardımcı olan ücretsiz bir araçtır.
Application Insights SDK günlüğü EventSource
, PerfView tarafından yakalanabilen kendi kendine sorun giderme günlüklerine sahiptir.
Günlükleri toplamak için PerfView'u indirin ve şu komutu çalıştırın:
PerfView.exe collect -MaxCollectSec:300 -NoGui /onlyProviders=*Microsoft-ApplicationInsights-Core,*Microsoft-ApplicationInsights-Data,*Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Microsoft-ApplicationInsights-Extensibility-HostingStartup,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Microsoft-ApplicationInsights-Extensibility-Web,*Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Microsoft-ApplicationInsights-WindowsServer-Core,*Microsoft-ApplicationInsights-LoggerProvider,*Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Microsoft-ApplicationInsights-AspNetCore,*Redfield-Microsoft-ApplicationInsights-Core,*Redfield-Microsoft-ApplicationInsights-Data,*Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Redfield-Microsoft-ApplicationInsights-Extensibility-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Redfield-Microsoft-ApplicationInsights-LoggerProvider,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Redfield-Microsoft-ApplicationInsights-AspNetCore
Bu parametreleri gerektiği gibi değiştirebilirsiniz:
Parametre | Açıklama |
---|---|
MaxCollectSec |
PerfView'un süresiz olarak çalışmasını ve sunucunuzun performansını etkilemesini önlemek için bu parametreyi ayarlayın. |
OnlyProviders |
Bu parametreyi yalnızca SDK'dan günlükleri toplayacak şekilde ayarlayın. Bu listeyi belirli araştırmalarınıza göre özelleştirebilirsiniz. |
NoGui |
Gui olmadan günlükleri toplamak için bu parametreyi ayarlayın. |
Daha fazla bilgi için bkz.
dotnet-trace ile günlükleri toplama
Alternatif olarak, sorun giderme konusunda daha fazla yardım sağlayabilecek günlükleri toplamak için platformlar arası bir .NET Core aracı olan dotnet-trace kullanabilirsiniz. Bu araç Linux tabanlı ortamlar için yararlı olabilir.
yükledikten dotnet-trace
sonra bash'te aşağıdaki dotnet-trace collect komutunu çalıştırın:
dotnet-trace collect --process-id <PID> --providers Microsoft-ApplicationInsights-Core,Microsoft-ApplicationInsights-Data,Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Microsoft-ApplicationInsights-Extensibility-HostingStartup,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Microsoft-ApplicationInsights-Extensibility-Web,Microsoft-ApplicationInsights-Extensibility-WindowsServer,Microsoft-ApplicationInsights-WindowsServer-Core,Microsoft-ApplicationInsights-LoggerProvider,Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Microsoft-ApplicationInsights-AspNetCore,Redfield-Microsoft-ApplicationInsights-Core,Redfield-Microsoft-ApplicationInsights-Data,Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Redfield-Microsoft-ApplicationInsights-Extensibility-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,Redfield-Microsoft-ApplicationInsights-LoggerProvider,Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Redfield-Microsoft-ApplicationInsights-AspNetCore
Application Insights’ı kaldırma
Visual Studio'da Application Insights'ı kaldırmak için Visual Studio'da Application Insights'ı kaldırma bölümünde sağlanan adımları izleyin.
Hala çalışmıyor
Application Insights için Microsoft Soru-Cevap sayfasına bakın.
Üçüncü taraf bilgileri hakkında yasal uyarı
Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği ile ilgili örtük veya başka türlü hiçbir garanti vermez.
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.