.NET, Node.js, Python ve Java uygulamaları için Azure İzleyici OpenTelemetry'yi etkinleştirme

Bu makalede, Azure İzleyici Uygulama Analizler'ndaki deneyimleri desteklemek için OpenTelemetry tabanlı veri toplamayı etkinleştirme ve yapılandırma işlemi açıklanmaktadır. Azure İzleyici OpenTelemetry Distro'sunun nasıl yükleneceğini inceleyeceğiz. Azure İzleyici OpenTelemetry Distro, Azure İzleyici'ye özgü özellikler için destek içeren bir OpenTelemetry dağıtımı sağlar. Distro, izlemeleri, ölçümleri, günlükleri ve özel durumları toplamak için OpenTelemetry izleme kitaplıklarını ekleyerek otomatik telemetriyi etkinleştirir ve özel telemetrinin toplanmasına izin verir. Canlı, üretim içi web uygulamalarından daha fazla telemetri izlemek ve toplamak için Dağıtım'da yer alan Canlı Ölçümler özelliğini de kullanabilirsiniz. Azure İzleyici OpenTelemetry Distro kullanmanın avantajları hakkında daha fazla bilgi için OpenTelemetry SSS bölümünde "Azure İzleyici OpenTelemetry Distro" öğesini neden kullanmalıyım? bölümüne bakın.

OpenTelemetry kullanarak veri toplama hakkında daha fazla bilgi edinmek için bkz . Veri Toplama Temel bilgileri veya OpenTelemetry SSS.

OpenTelemetry Yayın Durumu

.NET, Node.js, Python ve Java uygulamaları için OpenTelemetry teklifleri kullanılabilir.

Not

Özelliğe göre yayın durumu için bkz . SSS.

Kullanmaya başlayın

Uygulamanızı OpenTelemetry ile izlemek için bu bölümdeki adımları izleyin.

Önkoşullar

İstemci kitaplığını yükleme

En son Azure.Monitor.OpenTelemetry.AspNetCore NuGet paketini yükleyin:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore 

Azure İzleyici Uygulama Analizler etkinleştirme

Azure İzleyici Uygulama Analizler etkinleştirmek için, uygulamanızda küçük bir değişiklik yapar ve "Bağlan Ion Dizenizi" ayarlarsınız. Bağlan ion Dizesi, uygulamanıza Distro'nun topladığı telemetri verilerini nereye gönderebileceğinizi söyler ve size özeldir.

Uygulamanızı değiştirme

Sınıfınızda bulunan uygulama başlangıcınıza program.cs ekleyinUseAzureMonitor().

// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;

// Create a new WebApplicationBuilder instance.
var builder = WebApplication.CreateBuilder(args);

// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

// Build the application.
var app = builder.Build();

// Run the application.
app.Run();

Uygulama Analizler Kaynağınızdan Bağlan Ion Dizesini Kopyalama

İpucu

Henüz bir uygulamanız yoksa, şimdi Uygulama Analizler Kaynağı Oluşturmanın tam zamanı. Yeni bir Uygulama Analizler Kaynağı oluşturmanızı ve var olan bir kaynağı kullanmanızı öneririz.

Benzersiz Bağlan Ion Dizenizi kopyalamak için:

Uygulama Analizler genel bakış ve bağlantı dizesi gösteren ekran görüntüsü.

  1. Uygulama Analizler kaynağınızın Genel Bakış bölmesine gidin.
  2. Bağlan ion Dizenizi bulun.
  3. bağlantı dizesi üzerine gelin ve Panoya kopyala simgesini seçin.

Bağlan ion Dizesini ortamınıza yapıştırın

Bağlan Ion Dizenizi yapıştırmak için aşağıdaki seçeneklerden birini belirleyin:

A. Ortam Değişkeni aracılığıyla ayarlama (Önerilen)

Aşağıdaki komutta değerini benzersiz bağlantı dizesi iledeğiştirin<Your Connection String>.

APPLICATIONINSIGHTS_CONNECTION_STRING=<Your Connection String>

B. Yapılandırma Dosyası aracılığıyla ayarlama - Yalnızca Java (Önerilen)

adlı applicationinsights.jsonbir yapılandırma dosyası oluşturun ve aşağıdaki içerikle aynı dizine applicationinsights-agent-3.5.1.jar yerleştirin:

{
  "connectionString": "<Your Connection String>"
}

Önceki JSON değerini benzersiz bağlantı dizesi ile değiştirin<Your Connection String>.

C. Kod aracılığıyla ayarlama - ASP.NET Core, Node.js ve Yalnızca Python (Önerilmez)

Kod aracılığıyla Bağlan Ion Dizesini ayarlama örneği için bkz. Bağlan ion String Configuration.

Not

bağlantı dizesi birden fazla yerde ayarlarsanız, aşağıdaki önceliğe bağlıyız:

  1. Kod
  2. Ortam değişkeni
  3. Yapılandırma Dosyası

Verilerin aktığını onaylayın

Uygulamanızı çalıştırın ve Azure portalında Uygulama Analizler Kaynağı sekmesini açın. Verilerin portalda görünmesi birkaç dakika sürebilir.

Sunucu isteklerinin ve sunucu yanıt süresinin vurgulandığı Uygulama Analizler Genel Bakış sekmesinin ekran görüntüsü.

Uygulama Analizler artık uygulamanız için etkinleştirilmiştir. Aşağıdaki adımların tümü isteğe bağlıdır ve daha fazla özelleştirmeye olanak sağlar.

Önemli

Aynı Uygulama Analizler kaynağına telemetri yayan iki veya daha fazla hizmetiniz varsa, bunları Uygulama Haritası'nda düzgün bir şekilde göstermek için Bulut Rolü Adları'nı ayarlamanız gerekir.

Uygulama Analizler izlemesini kullanmanın bir parçası olarak tanılama verilerini toplar ve Microsoft'a göndeririz. Bu veriler, Uygulama Analizler çalıştırmamıza ve geliştirmemize yardımcı olur. Daha fazla bilgi edinmek için bkz. Azure Uygulaması lication Analizler statsbeat.

Örnekler

Azure İzleyici OpenTelemetry örnek uygulamaları desteklenen tüm diller için kullanılabilir.

Sonraki adımlar

Sık sorulan sorular

Bu bölüm, sık sorulan soruların yanıtlarını sağlar.

OpenTelemetry nedir?

Gözlemlenebilirlik için yeni bir açık kaynak standardıdır. OpenTelemetry'de daha fazla bilgi edinin.

Microsoft Azure İzleyici neden OpenTelemetry'ye yatırım yapıyor?

Microsoft, OpenTelemetry'e en büyük katkıda bulunanlardandır.

OpenTelemetry'nin temel değer teklifleri, satıcıdan bağımsız olması ve diller arasında tutarlı API'ler/SDK'lar sağlamasıdır.

Zaman içinde OpenTelemetry'nin Azure İzleyici müşterilerinin desteklenen dillerimizin ötesindeki dillerde yazılmış uygulamaları gözlemleye olanak tanıyacağına inanıyoruz. Ayrıca zengin bir izleme kitaplıkları kümesi aracılığıyla toplayabileceğiniz veri türlerini de genişletir. Ayrıca OpenTelemetry SDK'ları, öncülleri olan Uygulama Analizler SDK'larından daha yüksek ölçekte performans gösterme eğilimindedir.

Son olarak OpenTelemetry, Microsoft'un açık kaynak benimseme stratejisiyle uyumlu hale geliyor.

OpenTelemetry'nin durumu nedir?

Bkz . OpenTelemetry Status.

"Azure İzleyici OpenTelemetry Distro" nedir?

Bunu, Azure'da birinci sınıf bir deneyim için tüm OpenTelemetry bileşenlerini bir araya getiren ince bir sarmalayıcı olarak düşünebilirsiniz. Bu sarmalayıcı OpenTelemetry'de dağıtım olarak da adlandırılır.

Neden "Azure İzleyici OpenTelemetry Distro" kullanmalıyım?

Azure İzleyici OpenTelemetry Dağıtımı'nı topluluktan yerel OpenTelemetry üzerinden kullanmanın çeşitli avantajları vardır:

OpenTelemetry ruhuyla dağıtımı açık ve genişletilebilir olacak şekilde tasarladık. Örneğin şunları ekleyebilirsiniz:

  • OpenTelemetry Protokolü (OTLP) verme ve aynı anda ikinci bir hedefe gönderme
  • Dağıtıma dahil olmayan diğer izleme kitaplıkları

Distro bir OpenTelemetry dağıtımı sağladığından, Distro OpenTelemetry tarafından desteklenen her şeyi destekler. Örneğin, OpenTelemetry destekliyorsa daha fazla telemetri işlemcisi, dışarı aktarıcı veya izleme kitaplığı ekleyebilirsiniz.

Not

Distro, örnekleyiciyi Uygulama Analizler için özel, sabit oranlı bir örnekleyiciye ayarlar. Bunu farklı bir örnekleyiciyle değiştirebilirsiniz, ancak bunu yapmak Distro'nun dahil edilen özelliklerinden bazılarını devre dışı bırakabilir. Desteklenen örnekleyici hakkında daha fazla bilgi için Azure İzleyici OpenTelemetry'yi Yapılandırma'nın Örneklemeyi Etkinleştirme bölümüne bakın.

Desteklenen tek başına OpenTelemetry vereni olmayan diller için Azure İzleyici OpenTelemetry Distro, OpenTelemetry'yi Azure İzleyici ile kullanmanın şu anda desteklenen tek yoludur. Desteklenen tek başına OpenTelemetry veren diller için, telemetri senaryonuza bağlı olarak Azure İzleyici OpenTelemetry Distro veya uygun tek başına OpenTelemetry verme işlemini kullanma seçeneğiniz vardır. Daha fazla bilgi için bkz. Azure İzleyici OpenTelemetry dışarı aktarmayı ne zaman kullanmalıyım?.

Azure İzleyici OpenTelemetry Dağıtımı'nı nasıl test ederim?

.NET, Java, JavaScript (Node.js) ve Python için etkinleştirme belgelerimize göz atın.

OpenTelemetry mi yoksa Uygulama Analizler SDK'sını mı kullanmalıyım?

Yalnızca Uygulama Analizler SDK'sında resmi destekle kullanılabilen bir özellik gerektirmediğiniz sürece OpenTelemetry Distro'sunu kullanmanızı öneririz.

OpenTelemetry'yi benimsemek artık daha sonraki bir tarihte geçiş yapılmasını engelliyor.

Azure İzleyici OpenTelemetry dışarı aktarmasını ne zaman kullanmalıyım?

ASP.NET Core, Java, Node.js ve Python için Azure İzleyici OpenTelemetry Distro kullanmanızı öneririz. Başlamak için bir kod satırıdır.

Klasik ASP.NET, konsol uygulamaları vb. gibi diğer tüm .NET senaryoları için .NET Azure İzleyici OpenTelemetry dışarı aktarmayı kullanmanızı öneririz: Azure.Monitor.OpenTelemetry.Exporter.

Gelişmiş yapılandırma gerektiren daha karmaşık Python telemetri senaryoları için Python Azure İzleyici OpenTelemetry Exporter'ı kullanmanızı öneririz.

Azure İzleyici OpenTelemetry Distro içindeki özelliklerin geçerli sürüm durumu nedir?

Aşağıdaki grafikte, her dil için OpenTelemetry özellik desteği gösterilmiştir.

Özellik .NET Node.js Python Java
Dağıtılmış izleme
Özel ölçümler
Standart ölçümler (şu anda örneklemeden etkilenen doğruluk)
Sabit oranlı örnekleme
Çevrimdışı depolama ve otomatik yeniden denemeler
Özel durum raporlama
Günlük koleksiyonu ⚠️
Özel Olaylar ⚠️ ⚠️ ⚠️
Microsoft Entra doğrulaması
Canlı ölçümler
VM/VMSS ve App Service için Kaynak Bağlamını Algılama
AKS ve İşlevler için Kaynak Bağlamı Algılama
Kullanılabilirlik Testi Yayılma Alanı Filtreleme
Kullanıcı kimliğini, kimliği doğrulanmış kullanıcı kimliğini ve kullanıcı IP'sini otomatik doldurma
İşlem adını, kullanıcı kimliğini veya kimliği doğrulanmış kullanıcı kimliğini el ile geçersiz kılma/ayarlama
Uyarlamalı örnekleme
Profil Oluşturucu ⚠️
Anlık Görüntü Hata Ayıklayıcı

Anahtar

  • ✅ Bu özellik resmi desteği olan tüm müşteriler tarafından kullanılabilir.
  • ⚠️ Bu özellik genel önizleme olarak kullanılabilir. Bkz . Microsoft Azure önizlemeleri için ek kullanım koşulları.
  • ❌ Bu özellik kullanılamaz veya geçerli değildir.

OpenTelemetry web tarayıcıları için kullanılabilir mi?

Evet, ancak bunu önermiyoruz ve Azure desteklemiyor. OpenTelemetry JavaScript, Node.js için yoğun olarak iyileştirilmiştir. Bunun yerine Application Analizler JavaScript SDK'sını kullanmanızı öneririz.

OpenTelemetry SDK'sının web tarayıcılarında ne zaman kullanılabilir olmasını bekleyebiliriz?

OpenTelemetry web SDK'sının belirlenmiş bir kullanılabilirlik zaman çizelgesi yoktur. Application Analizler JavaScript SDK'sına uygun bir alternatif olan tarayıcı SDK'sından birkaç yıl uzaktayız.

OpenTelemetry'yi bugün bir web tarayıcısında test edebilir miyim?

OpenTelemetry web korumalı alanı, OpenTelemetry'nin tarayıcıda çalışmasını sağlamak için tasarlanmış bir çataldır. Uygulama Analizler telemetri göndermek henüz mümkün değildir. SDK genel istemci olaylarını tanımlamaz.

Application Analizler'ı AppDynamics, DataDog ve NewRelic gibi rakip aracılarla birlikte çalıştırmak destekleniyor mu?

Hayır Bu uygulama test veya desteklemeyi planladığımız bir uygulama değildir, ancak Dağıtımlarımız Azure İzleyici ile aynı anda bir OTLP uç noktasına dışarı aktarmanıza olanak sağlar.

Üretim ortamlarında önizleme özelliklerini kullanabilir miyim?

Bunu önermiyoruz. Bkz . Microsoft Azure önizlemeleri için ek kullanım koşulları.

El ile otomatik izleme arasındaki fark nedir?

Bkz. OpenTelemetry'ye Genel Bakış.

OpenTelemetry Toplayıcısı'nı kullanabilir miyim?

Microsoft henüz uygulama izleme için aracı tabanlı bir yaklaşımı resmi olarak desteklemese de bazı müşteriler openTelemetry Collector'ı aracı alternatifi olarak kullanır. Bu arada açık kaynak topluluğu, bazı müşterilerin Azure İzleyici Uygulaması Analizler'ne veri göndermek için kullandığı bir OpenTelemetry Collector Azure İzleyici Exporter'a katkıda bulundu. Bu, Microsoft tarafından desteklenmez.

OpenCensus ile OpenTelemetry arasındaki fark nedir?

OpenCensus, OpenTelemetry'nin öncüsüdür. Microsoft, OpenTracing ve OpenCensus'un bir araya getirerek dünya için tek bir gözlemlenebilirlik standardı olan OpenTelemetry'yi oluşturmasına yardımcı oldu. Azure İzleyici için üretim tarafından önerilen geçerli Python SDK'sı OpenCensus'a dayanır. Microsoft, OpenTelemetry temelinde Azure İzleyici oluşturmayı taahhüt etmiştir.

Sorun giderme

Çalışmıyor musunuz? ASP.NET Core için sorun giderme sayfasına göz atın.

Destek

Destek seçeneklerini keşfetmek için istediğiniz dil için bir sekme seçin.

  • Azure desteği sorunlar için bir Azure desteği bileti açın.
  • OpenTelemetry sorunları için doğrudan OpenTelemetry .NET topluluğuna başvurun.
  • Azure İzleyici Dışarı Aktarma ile ilgili açık sorunların listesi için GitHub Sorunları Sayfasına bakın.

OpenTelemetry geri bildirimi

Geri bildirim sağlamak için: