Aracılığıyla paylaş


.NET .NET Aspire telemetri

.NET .NET Aspire birincil hedeflerinden biri, uygulamaların hata ayıklaması ve tanılaması kolay olduğundan emin olmaktır. .NET .NET Aspire tümleştirmeleri, .NETOpenTelemetry SDKkullanarak, bazen gözlemlenebilirlik sütunları olarak bilinen Günlük, İzleme ve Metrik yapılandırmalarını otomatik olarak ayarlar.

  • Günlüğe Kaydetme: Günlük olaylar, bir uygulama çalışırken neler olduğunu tanımlar. Temel küme varsayılan olarak .NET.NET Aspire tümleştirmeleri için etkinleştirilir ve belirli sorunları tanılamak için isteğe bağlı olarak daha kapsamlı günlükler etkinleştirilebilir.

  • İzleme: İzlemeler, birden çok makineye veya işleme yayılmış olsalar bile aynı mantıksal etkinliğin parçası olan günlük olaylarını (tek bir isteğin işlenmesi gibi) ilişkilendirir.

  • Ölçümler: Ölçümler, bir uygulamanın performans ve sistem durumu özelliklerini basit sayısal değerler olarak kullanıma sunar. Sonuç olarak, düşük performans yükleri vardır ve birçok hizmet bunları sürekli açık telemetri olarak yapılandırır. Bu, olası sorunlar algılandığında uyarıları tetikleme için de uygun hale getirir.

Bu tür telemetriler birlikte çeşitli izleme ve analiz araçlarını kullanarak uygulamanızın davranışı ve performansı hakkında içgörüler elde etmenize olanak sağlar. Yedekleme hizmetine bağlı olarak, bazı tümleştirmeler bu özelliklerden yalnızca bazılarını destekleyemeyebilir.

.NET Aspire OpenTelemetry tümleştirmesi

.NET OpenTelemetry SDK, ILogger, Activity, Meterve Instrument<T>gibi çeşitli .NET API'lerinden veri toplamaya yönelik özellikler içerir. Bu API'ler günlüğe kaydetme, izleme ve ölçümler gibi telemetri özelliklerine karşılık gelir. .NET Aspire projeler ServiceDefaults projesinde OpenTelemetry SDK yapılandırmalarını tanımlar. Daha fazla bilgi için bkz. .NET.NET Aspire hizmet varsayılanları.

Varsayılan olarak, ConfigureOpenTelemetry yöntemi uygulama için günlüğe kaydetmeyi, izlemeyi ve ölçümleri etkinleştirir. Ayrıca, diğer izleme araçları tarafından toplanabilmeleri için bu veri noktaları için ihracatçılar ekler.

İzleme için OpenTelemetry verilerini dışarı aktarma

.NET OpenTelemetry SDK'sı, bu telemetri verilerinin bir veri deposuna veya raporlama aracına dışarı aktarılmasını kolaylaştırır. Telemetri dışarı aktarma mekanizması, telemetri verilerini REST veya gRPC aracılığıyla iletmek için standartlaştırılmış bir yaklaşım olarak hizmet veren OpenTelemetry protokolüne (OTLP)dayanır. ConfigureOpenTelemetry yöntemi ayrıca, telemetri verilerinizi Prometheus veya Azure İzleyici gibi diğer izleme araçlarına sağlamak için ihracatçıları kaydeder. Daha fazla bilgi için bkz. OpenTelemetry yapılandırma.

OpenTelemetry ortam değişkenleri

, telemetri verilerini toplamak ve dışarı aktarmak için en önemli davranışı yapılandıran bilinen ortam değişkenlerinin bir listesine sahiptir. .NET SDK dahil OpenTelemetry SDK'lar bu değişkenlerin okunmasını destekler.

.NET Aspire projeler, dışarı aktarılan telemetride uygulamanın adını ve kimliğini yapılandıran ve otlp server adres uç noktasını verileri dışarı aktaracak şekilde ayarlayan ortam değişkenleriyle başlatılır. Örneğin:

  • OTEL_SERVICE_NAME = myfrontend
  • OTEL_RESOURCE_ATTRIBUTES = service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168
  • OTEL_EXPORTER_OTLP_ENDPOINT = http://localhost:4318

Ortam değişkenleri yerel geliştirmede otomatik olarak ayarlanır.

Yerel geliştirme .NET.NET Aspire

bir .NET Aspire projesi oluşturduğunuzda, .NET Aspire panosu varsayılan olarak uygulama telemetrisini görüntülemek için bir kullanıcı arabirimi sağlar. Telemetri verileri OTLP kullanılarak panoya gönderilir ve pano telemetri verilerini almak ve bellekte depolamak için bir OTLP server uygular. .NET .NET Aspire hata ayıklama iş akışı aşağıdaki gibidir:

  • Geliştirici, .NET.NET Aspire projesini hata ayıklama ile başlatır, F5tuşlarına basar.
  • .NET .NET Aspire kontrol paneli ve geliştirici denetim düzlemi (DCP) başlatılıyor.
  • Uygulama yapılandırması AppHost projesinde çalıştırılır.
    • OpenTelemetry ortam değişkenleri, uygulama yapılandırması sırasında .NET projelere otomatik olarak eklenir.
    • DCP, dışarı aktarılan telemetride uygulamanın adını (OTEL_SERVICE_NAME) ve kimliğini (OTEL_RESOURCE_ATTRIBUTES) sağlar.
    • OTLP uç noktası, pano tarafından başlatılan bir HTTP/2 bağlantı noktasıdır. Bu uç nokta, her projedeki OTEL_EXPORTER_OTLP_ENDPOINT ortam değişkeninde ayarlanır. Bu, projelere telemetri verilerini panoya geri aktarmalarını söyler.
    • Küçük dışarı aktarma aralıkları (OTEL_BSP_SCHEDULE_DELAY, OTEL_BLRP_SCHEDULE_DELAY, OTEL_METRIC_EXPORT_INTERVAL) böylece veriler panoda hızla kullanılabilir. Küçük değerler, pano yanıt hızını verimlilik üzerinde önceliklendirmek için yerel geliştirmede kullanılır.
  • DCP yapılandırılmış projeleri, kapsayıcıları ve yürütülebilir dosyaları başlatır.
  • Başlatıldıktan sonra uygulamalar panoya telemetri gönderir.
  • Pano, tüm .NET.NET Aspire projelerin neredeyse gerçek zamanlı telemetrisini görüntüler.

Bu adımların tümü dahili olarak gerçekleştirilir, bu nedenle çoğu durumda geliştiricinin bu işlemi çalışır durumda görmek için uygulamayı çalıştırması yeterlidir.

.NET .NET Aspire dağıtımı

.NET Aspire dağıtım ortamları, ortamları için anlamlı OpenTelemetry ortam değişkenlerini yapılandırmalıdır. Örneğin, OTEL_EXPORTER_OTLP_ENDPOINT ortamın yerel OTLP toplayıcısı veya izleme hizmetine yapılandırılmalıdır.

.NET .NET Aspire telemetri, OTLP'yi destekleyen ortamlarda en iyi şekilde çalışır. OTEL_EXPORTER_OTLP_ENDPOINT yapılandırılmadıysa OTLP dışarı aktarma devre dışı bırakılır.

Daha fazla bilgi için .NET.NET Aspire dağıtımlarıbkz.