Azure Spring Cloud ile dağıtılmış izleme kullanma

Azure Spring Cloud 'daki dağıtılmış izleme araçlarıyla, karmaşık sorunları kolayca ayıklayabilir ve izleyebilirsiniz. Azure Spring Cloud, Azure 'ın Application Insights yay bulutuna karşı tümleşir. Bu tümleştirme Azure portal güçlü dağıtılmış izleme yeteneği sağlar.

Bu makalede, bir .NET Core Steeltoe uygulamasının dağıtılmış izlemeyi kullanmak üzere nasıl etkinleştirileceğini öğreneceksiniz.

Önkoşullar

Bu yordamları izlemek için, Azure Spring Cloud 'a dağıtım için hazırlanmışbir Steeltoe uygulamasına ihtiyacınız vardır.

Bağımlılıklar

Steeltoe 2.4.4 için aşağıdaki NuGet paketlerini ekleyin:

Steeltoe 3.0.0 için aşağıdaki NuGet paketini ekleyin:

Güncelleştirme başlangıcı. cs

  1. Steeltoe 2.4.4 için yöntemini çağırın AddDistributedTracing AddZipkinExporter ConfigureServices .

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDistributedTracing(Configuration);
        services.AddZipkinExporter(Configuration);
    }
    

    Steeltoe 3.0.0 için yöntemini çağırın AddDistributedTracing ConfigureServices .

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDistributedTracing(Configuration, builder => builder.UseZipkinWithTraceOptions(services));
    }
    
  2. Steeltoe 2.4.4 için yöntemini çağırın UseTracingExporter Configure .

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
         app.UseEndpoints(endpoints =>
         {
             endpoints.MapControllers();
         });
         app.UseTracingExporter();
    }
    

    Steeltoe 3.0.0 için yöntemde hiçbir değişiklik yapılması gerekmez Configure .

Güncelleştirme yapılandırması

Aşağıdaki ayarları, uygulama Azure yay bulutu 'nda çalıştırıldığında kullanılacak yapılandırma kaynağına ekleyin:

  1. management.tracing.alwaysSample değerini true olarak ayarlayın.

  2. Eureka sunucusu, yapılandırma sunucusu ve kullanıcı uygulamaları arasında gönderilen izlenen yayılmaları görmek isterseniz: management.tracing.egressIgnorePattern "/api/v2/birleþi |/v2/Apps/" olarak ayarlayın./Permissions |/Eureka/.| /OAuth/. * ".

Örneğin, appsettings.js , aşağıdaki özellikleri içerir:

"management": {
    "tracing": {
      "alwaysSample": true,
      "egressIgnorePattern": "/api/v2/spans|/v2/apps/.*/permissions|/eureka/.*|/oauth/.*"
    }
  }

.NET Core Steeltoe uygulamalarında dağıtılmış izleme hakkında daha fazla bilgi için bkz. Steeltoe belgelerinde Dağıtılmış izleme .

Bu makalede şunları öğreneceksiniz:

  • Azure portal dağıtılmış izlemeyi etkinleştirin.
  • Uygulamanıza yay bulutu uykuya geçin.
  • Mikro hizmet uygulamalarınız için bağımlılık haritalarını görüntüleyin.
  • Farklı filtrelerle izleme verilerinde arama yapın.

Önkoşullar

Bu yordamları izlemek için, zaten sağlanmış ve çalışan bir Azure yay bulut hizmetine ihtiyacınız vardır. Azure yay bulut hizmeti sağlamak ve çalıştırmak için Ilk Azure yay bulutu uygulaması hızlı başlangıç adımlarını gerçekleştirin.

Bağımlılık Ekle

  1. Aşağıdaki satırı Application. Properties dosyasına ekleyin:

    spring.zipkin.sender.type = web
    

    Bu değişiklikten sonra, Zipkabağı gönderici Web 'e gönderebilir.

  2. Azure yay bulut uygulaması hazırlama kılavuzumuzuizlediyseniz bu adımı atlayın. Aksi takdirde, yerel geliştirme ortamınıza gidin ve pom.xml dosyanızı düzenleyerek aşağıdaki yay bulutu uykuya geçme bağımlılığını ekleyin:

    • Spring Boot sürüm < 2.4. x.

      <dependencyManagement>
          <dependencies>
              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-sleuth</artifactId>
                  <version>${spring-cloud-sleuth.version}</version>
                  <type>pom</type>
                  <scope>import</scope>
              </dependency>
          </dependencies>
      </dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-sleuth</artifactId>
          </dependency>
          <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-zipkin</artifactId>
          </dependency>
      </dependencies>
      
    • Spring Boot sürüm >= 2,4. x.

      <dependencyManagement>
          <dependencies>
            <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-sleuth</artifactId>
                  <version>${spring-cloud-sleuth.version}</version>
                  <type>pom</type>
                  <scope>import</scope>
              </dependency>
          </dependencies>
      </dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-sleuth</artifactId>
          </dependency>
          <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-sleuth-zipkin</artifactId>
           </dependency>
      </dependencies>
      
  3. Bu değişiklikleri yansıtacak şekilde Azure Spring Cloud Service için derleyin ve dağıtın.

Örnek hızını değiştirme

Örnek hızını değiştirerek telemetrinizin toplandığı oranı değiştirebilirsiniz. Örneğin, çoğunlukla yarı bir örnek örneklemek istiyorsanız, Application. Properties dosyanızı açın ve aşağıdaki satırı değiştirin:

spring.sleuth.sampler.probability=0.5

Zaten bir uygulama oluşturup dağıttıysanız, örnek hızı değiştirebilirsiniz. Önceki satırı Azure CLı veya Azure portal bir ortam değişkeni olarak ekleyerek bunu yapın.

Application Insights'ı etkinleştirme

  1. Azure portal Azure Spring Cloud Service sayfanıza gidin.
  2. İzleme sayfasında, Dağıtılmış izleme' yi seçin.
  3. Düzenlemek veya yeni bir ayar eklemek için ayarı Düzenle ' yi seçin.
  4. Yeni bir Application Insights sorgusu oluşturun veya var olan bir sorgu seçin.
  5. İzlemek istediğiniz günlüğe kaydetme kategorisini seçin ve bekletme süresini gün olarak belirtin.
  6. Yeni izlemeyi uygulamak için Uygula ' yı seçin.

Uygulama haritasını görüntüleme

Dağıtılmış izleme sayfasına dönün ve uygulama haritasını görüntüle' yi seçin. Uygulamanızın ve izleme ayarlarının görsel temsilini gözden geçirin. Uygulama haritasını nasıl kullanacağınızı öğrenmek için bkz. uygulama Haritası: dağıtılmış uygulamaları önceliklendirme.

Diğer belirli telemetri öğelerini sorgulamak için Search işlevini kullanın. Dağıtılmış izleme sayfasında, Ara' yı seçin. Arama işlevini kullanma hakkında daha fazla bilgi için bkz. Application Insights arama kullanma.

Application Insights kullan

Application Insights, uygulama eşlemesi ve arama işlevine ek olarak izleme özellikleri sağlar. Azure portal uygulamanızın adı için arama yapın ve ardından izleme bilgilerini bulmak için bir Application Insights sayfası açın. Bu araçların nasıl kullanılacağına dair daha fazla bilgi için Azure izleyici günlük sorgularınıinceleyin.

Application Insights devre dışı bırak

  1. Azure portal Azure Spring Cloud Service sayfanıza gidin.
  2. İzleme sırasında Dağıtılmış izleme' yi seçin.
  3. Application Insights devre dışı bırakmak için Disable ' ı seçin.

Sonraki adımlar

Bu makalede, Azure Spring Cloud 'da dağıtılmış izlemeyi etkinleştirme ve anlama hakkında bilgi edindiniz. Bir uygulamaya hizmet bağlama hakkında bilgi edinmek için bkz. Azure Spring Cloud uygulamasına Azure Cosmos db veritabanınıbağlama.