Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri API oluşturucusu (DAB), dağıtılmış izleme ve ölçümler için OpenTelemetry'yi destekleyerek REST, GraphQL, veritabanı işlemleri ve iç ara yazılım genelinde davranışı izlemenizi ve tanılamanızı sağlar.
Önkoşullar
- Mevcut DAB yapılandırma dosyası.
- OpenTelemetry toplayıcısını veya arka ucu çalıştırma (örneğin, Azure İzleyici veya Jaeger).
- Veri API'si oluşturucu CLI. CLI'yi yükleme
Aracı çalıştır
OpenTelemetry ayarlarını yapılandırmanıza eklemek için kullanın dab add-telemetry .
Yapılandırma dosyanız olduğundan emin olun. Eğer bir tane oluşturmanız gerekiyorsa, şu komutu çalıştırın:
dab init \ --database-type mssql \ --connection-string "<sql-connection-string>"OpenTelemetry ayarlarını yapılandırma dosyanıza ekleyin.
dab add-telemetry \ -c dab-config.json \ --otel-enabled true \ --otel-endpoint "http://localhost:4317" \ --otel-protocol "grpc" \ --otel-service-name "dab"DAB'ı başlatın.
dab start
Telemetri arka ucunuzda test edin
OpenTelemetry arka ucunuzu veya toplayıcı kullanıcı arabiriminizi açın.
REST, GraphQL veya veritabanı çağrıları için izlemelerin ve ölçümlerin geldiğini onaylayın.
Uyarı
.NET Aspire panosu, geliştirici döngüsünün ideal bir parçasıdır. OpenTelemetry izlemeleri ve ölçümleri için yerleşik görünümler içerir.
Veri API oluşturucu izlemeleri
DAB aşağıdakiler için OpenTelemetry "etkinlikleri" oluşturur:
- Gelen HTTP istekleri (REST uç noktaları)
- GraphQL işlemleri
- Veritabanı sorguları (varlık başına)
- İç ara yazılım adımları (örneğin, istek işleme, hata izleme)
Her etkinlik, aşağıdakiler gibi ayrıntılı etiketler (meta veriler) içerir:
-
http.method,http.url,http.querystring,status.code -
action.type(CRUD, GraphQL işlemi) -
user.role,user-agent -
data-source.type,data-source.name -
api.type(REST veya GraphQL)
Hatalar ve özel durumlar ayrıntılı bilgilerle de izlenir.
Veri API'si oluşturucu ölçümleri
DAB, openTelemetry ölçümlerini gösterir; örneğin:
- Toplam İstek sayısı: HTTP yöntemi, durum, uç nokta ve API türüyle etiketlenmiş sayaç.
- Hatalar: Hata türü, HTTP yöntemi, durum, uç nokta ve API türüne göre etiketlenmiş sayaç.
- İstek Süresi: HTTP yöntemi, durum, uç nokta ve API türüyle etiketlenmiş histogram (milisaniye cinsinden).
- Etkin İstekler: Eşzamanlı istekler için yukarı/aşağı sayacı.
Ölçümler .NET Meter API'sini ve OpenTelemetry SDK'sını kullanır.
Configuration
Yapılandırma dosyanızın altına open-telemetry bir ekleyin.
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
"endpoint": "http://otel-collector:4317",
"service-name": "dab",
"exporter-protocol": "grpc"
}
}
}
}
Command-line
dab add-telemetry aracılığıyla OpenTelemetry'yi yapılandırın.
--otel-enabled--otel-endpoint--otel-protocol--otel-service-name--otel-headers
Example
dab add-telemetry \
-c dab-config.json \
--otel-enabled true \
--otel-endpoint "http://localhost:4317" \
--otel-protocol "grpc" \
--otel-service-name "dab"
Sonuçta elde edilen yapılandırma
Uyarı
OpenTelemetry seçenekleri dab configure üzerinde mevcut değil.
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
"endpoint": "http://localhost:4317",
"service-name": "dab",
"exporter-protocol": "grpc"
}
}
}
}
Dışarı aktarma ve görselleştirme
Telemetri, .NET OpenTelemetry SDK'sı aracılığıyla Azure İzleyici veya Jaeger gibi yapılandırılmış arka uca aktarılır. Arka ucun çalıştığından ve belirtilen endpoint konumunda erişilebilir olduğundan emin olun. Görselleştirme için OpenTelemetry uyumlu herhangi bir arka ucu kullanabilirsiniz.
OpenTelemetry SDK'sı dışarı aktarma zamanlamasını denetler. Etkinlikler tamamlandığında izleri dışarı aktarır. Ölçümleri SDK tarafından yapılandırılan düzenli aralıklarla dışarı aktarır. Aralık ayarlamazsanız SDK varsayılan değerini kullanır.
Uyarı
Kısa ömürlü ve hızla kapanan kapsayıcılar, dışa aktarma işlemleri tamamlanmadan önce çıkabilir. Zarif bir kapatma süresi tanıyın ve bekleyen telemetrinin temizlenebilmesi için erken sonlandırmayı önleyin.
Uygulama notları
- İzlemeler ve ölçümler tüm REST, GraphQL ve veritabanı işlemlerini kapsar
- Ara yazılım ve hata işleyicileri de telemetri yayar
- Bağlam istekler aracılığıyla yayılır