.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
- Azure aboneliği: Ücretsiz bir Azure aboneliği oluşturma
- Uygulama Analizler kaynağı: Uygulama Analizler kaynağı oluşturma
İ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 kaynağınızın Genel Bakış bölmesine gidin.
- Bağlan ion Dizenizi bulun.
- 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.json
bir yapılandırma dosyası oluşturun ve aşağıdaki içerikle aynı dizine applicationinsights-agent-3.5.2.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:
- Kod
- Ortam değişkeni
- 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.
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
- Azure İzleyici OpenTelemetry ekleme ve değiştirme hakkında ayrıntılı bilgi için bkz . Azure İzleyici OpenTelemetry ekleme ve değiştirme.
- OpenTelemetry dağıtımını daha fazla yapılandırmak için bkz . Azure İzleyici OpenTelemetry yapılandırması.
- Kaynak kodu gözden geçirmek için bkz . Azure İzleyici AspNetCore GitHub deposu.
- NuGet paketini yüklemek, güncelleştirmeleri denetlemek veya sürüm notlarını görüntülemek için Azure İzleyici AspNetCore NuGet Paketi sayfasına bakın.
- Azure İzleyici ve OpenTelemetry hakkında daha fazla bilgi edinmek için bkz . Azure İzleyici Örnek Uygulaması.
- OpenTelemetry ve topluluğu hakkında daha fazla bilgi edinmek için bkz . OpenTelemetry .NET GitHub deposu.
- Kullanım deneyimlerini etkinleştirmek için web veya tarayıcı kullanıcı izlemeyi etkinleştirin.
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?
"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:
- Etkinleştirme çabasını azaltır
- Microsoft tarafından desteklenir
- Aşağıdakiler gibi Azure'a özgü özellikleri getirir:
- Klasik Uygulama Analizler SDK'ları ile uyumlu örnekleme
- Microsoft Entra doğrulaması
- Çevrimdışı Depolama ve Otomatik Yeniden Denemeler
- statsbeat
- Uygulama Analizler Standart Ölçümleri
- Çeşitli Azure ortamlarında Bulut Rolü Adını ve Bulut Rolü Örneğini otomatik olarak doldurmaya yönelik kaynak meta verilerini algılama
- Canlı Ölçümler
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:
- OpenTelemetry topluluğunun müşteri geri bildirim anketini doldurun.
- OpenTelemetry Early Adopter Community'ye katılarak Microsoft'a kendinizi anlatın.
- Microsoft Teknoloji Topluluğu'ndaki diğer Azure İzleyici kullanıcılarıyla etkileşime geçin.
- Azure Geri Bildirim Forumu'nda bir özellik isteğinde bulunın.