Azure İzleyici ve üçüncü taraf araçlarıyla telemetriyi görüntüleme

Tamamlandı

Uygulamanız telemetri verilerini topluyor ve şimdi bunu görüntülemek için daha kapsamlı bir yönteme ihtiyacınız var. Bu ünitede, telemetri verilerinin birçok farklı araçta nasıl görüntüleyebileceğinizi göreceksiniz.

Telemetri verilerini izleme ve görüntüleme

Telemetri verilerini görüntülemenin yaygın yollardan biri Prometheus ve Grafana'yı birlikte kullanmaktır. Prometheus, bulutta yerel uygulamanızdan ölçüm toplayan bir açık kaynak izleme sistemidir. Grafana, Prometheus tarafından toplanan ölçümleri görüntülemek üzere panolar oluşturmak için kullandığınız bir açık kaynak görselleştirme aracıdır.

Prometheus

İlk adım bir Prometheus kapsayıcısı eklemek ve bunu uygulamanızdaki her mikro hizmetten veri toplayacak şekilde yapılandırmaktır. Ardından uygulamadan ölçüm toplamak için Prometheus .NET istemci kitaplığını eklersiniz.

eShopLite uygulamasının durumunu gösteren yapılandırılmış Prometheus uygulamasını gösteren ekran görüntüsü.

OpenTelemetry, Prometheus için bir ihracatçı sağlar. OpenTelemetry.Exporter.Prometheus.AspNetCore NuGet paketini ekleyerek bu dışarı aktarmayı uygulamanıza ekleyebilirsiniz. Bu paket, ölçümleri anlayabileceği bir biçimde Prometheus'a aktarır. Mevcut konsol aktarıcısını Prometheus aktarıcısı ile değiştiriyorsunuz.

Uygulamanızdaki tüm mikro hizmetler için uç noktaları eklersiniz. Örneğin:

global:
  scrape_interval: 1s

scrape_configs:
  - job_name: 'products'
    static_configs:
      - targets: ['backend:8080']
  - job_name: 'store'
    static_configs:
      - targets: ['frontend:8080']

Grafana

Grafana, Prometheus tarafından toplanan ölçümleri görüntülemek üzere panolar oluşturmak için kullanabileceğiniz bir açık kaynak görselleştirme aracıdır. Grafana'yı Prometheus'a bağlanacak ve ölçümleri bir panoda görüntüleyecek şekilde yapılandırabilirsiniz. Daha önce olduğu gibi, uygulamanıza bir Grafana kapsayıcısı ekler ve Prometheus'a bağlanacak şekilde yapılandırırsınız.

grafana'da bir ASP.NET panosu gösteren ekran görüntüsü .

Prometheus'ı bir YAML dosyasında Grafana'ya veri kaynağı olarak eklersiniz:

apiVersion: 1

datasources:
- name: Prometheus
  type: prometheus
  url: http://prometheus:9090 
  isDefault: true
  access: proxy
  editable: true

Dağıtılmış izlemeyi etkinleştirme

OpenTelemetry, hem Jaeger hem de Zipkin için destek içerir. Bu modülde, açık kaynaklı bir dağıtılmış izleme sistemi olan Zipkin'i kullanacaksınız. Mikro hizmet mimarilerindeki gecikme sorunlarını gidermek için gereken zamanlama verilerini toplamaya yardımcı olur. Bu verilerin hem toplanmasını hem de aramasını yönetir.

eShopLite uygulama Mağazası'nın Ürünler hizmetine istek gönderme bağımlılıklarını gösteren Zipkin'i gösteren ekran görüntüsü.

Tanılama projenizde, OpenTelemetry.Exporter.Zipkin NuGet paketi aracılığıyla Zipkin için destek eklemeniz gerekir. Ardından zipkin'e veri aktarmak için AddObservability yöntemine kod eklersiniz.

Application Insights ile daha ayrıntılı bilgi edinin

Ölçümlere bakmayı ve dağıtılmış izlemeyi görüntülemeyi bir araya getirebilen ve ardından günlüklerdeki verilerle birleştirebilen bir araç vardır. Application Insights, genişletilebilir bir Uygulama Performansı Yönetimi (APM) hizmetidir. Canlı web uygulamanızı izlemek için kullanabilirsiniz. Application Insights, performans anomalilerini otomatik olarak algılar. Sorunları tanılamanıza ve kullanıcıların uygulamanızla gerçekte ne yaptığını anlamanıza yardımcı olacak güçlü analiz araçları içerir.

eShopLite uygulamasının durumunu gösteren Application Insights'ın gösterildiği ekran görüntüsü.

Önceki araçlarda olduğu gibi, çözümünüze Azure.Monitor.OpenTelemetry.AspNetCore bir NuGet paketi eklemeniz ve ardından tanılama projenize bir dışa aktarıcı olarak Azure İzleyici'yi eklemeniz gerekir.