Azure İzleyici ve üçüncü taraf araçlarıyla telemetriyi görüntüleme
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.
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.
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.
Ö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.