Använda distribuerad spårning med Azure Spring Cloud (inaktuell)

Anteckning

Distribuerad spårning är inaktuell. Mer information finns i Application Insights Java In-Process Agent i Azure Spring Cloud.

Med de distribuerade spårningsverktygen i Azure Spring Cloud kan du enkelt felsöka och övervaka komplexa problem. Azure Spring Cloud integrerar Spring Cloud Suvth med Azure Application Insights. Den här integreringen ger kraftfulla funktioner för distribuerad spårning från Azure Portal.

I den här artikeln får du lära dig hur du aktiverar en .NET Core Steeltoe-app för att använda distribuerad spårning.

Förutsättningar

För att följa dessa procedurer behöver du en Steeltoe-app som redan är förberedd för distribution till Azure Spring Cloud.

Beroenden

För Steeltoe 2.4.4 lägger du till följande NuGet-paket:

För Steeltoe 3.0.0 lägger du till följande NuGet-paket:

Uppdatera Startup.cs

  1. För Steeltoe 2.4.4 AddDistributedTracing anropar du AddZipkinExporter och i metoden ConfigureServices .

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

    För Steeltoe 3.0.0 AddDistributedTracing anropar du i ConfigureServices metoden .

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDistributedTracing(Configuration, builder => builder.UseZipkinWithTraceOptions(services));
    }
    
  2. För Steeltoe 2.4.4 UseTracingExporter anropar du i Configure metoden .

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

    För Steeltoe 3.0.0 krävs inga ändringar i Configure metoden .

Uppdatera konfiguration

Lägg till följande inställningar i konfigurationskällan som ska användas när appen körs i Azure Spring Cloud:

  1. Ange management.tracing.alwaysSample till Sant.

  2. Om du vill se spårningsintervall som skickas mellan Eureka-servern, konfigurationsservern och användarappar: ställ in på management.tracing.egressIgnorePattern "/api/v2/spans|/v2/apps/./permissions|/eureka/.| /oauth/.*".

Appsettings.json skulle till exempel innehålla följande egenskaper:

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

Mer information om distribuerad spårning i .NET Core Steeltoe-appar finns i Distribuerad spårning i Dokumentationen om Steeltoe.

I den här artikeln kan du se hur du:

  • Aktivera distribuerad spårning i Azure Portal.
  • Lägg Spring Cloud Spoolth till ditt program.
  • Visa beroendemappningar för dina mikrotjänstprogram.
  • Sök efter spårningsdata med olika filter.

Förutsättningar

Om du vill följa de här procedurerna behöver Azure Spring Cloud tjänst som redan har etablerats och körs. Slutför snabbstarten Deploy your first Spring Boot app in Azure Spring Cloud to provision and run an Azure Spring Cloud service (Distribuera din Spring Boot i en Azure Spring Cloud för att etablera och köra en Azure Spring Cloud tjänst.

Lägga till beroenden

  1. Lägg till följande rad i filen application.properties:

    spring.zipkin.sender.type = web
    

    Efter den här ändringen kan Zipkin-avsändaren skicka till webben.

  2. Hoppa över det här steget om du har följt vår guide för att förbereda ett program i Azure Spring Cloud. Annars går du till din lokala utvecklingsmiljö och redigerar filen pom.xml så att den innehåller följande Spring Cloud Sjonth-beroende:

    • Spring boot version < 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 version >= 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. Skapa och distribuera igen för din Azure Spring Cloud för att återspegla dessa ändringar.

Ändra samplingsfrekvensen

Du kan ändra den frekvens med vilken telemetrin samlas in genom att ändra samplingsfrekvensen. Om du till exempel vill prova hälften så ofta öppnar du filen application.properties och ändrar följande rad:

spring.sleuth.sampler.probability=0.5

Om du redan har skapat och distribuerat ett program kan du ändra exempelfrekvensen. Det gör du genom att lägga till föregående rad som en miljövariabel i Azure CLI eller Azure Portal.

Aktivera Application Insights

  1. Gå till Azure Spring Cloud tjänstsidan i Azure Portal.
  2. På sidan Övervakning väljer du Distribuerad spårning.
  3. Välj Redigera inställning för att redigera eller lägga till en ny inställning.
  4. Skapa en ny Insights eller välj en befintlig.
  5. Välj vilken loggningskategori du vill övervaka och ange kvarhållningstiden i dagar.
  6. Välj Tillämpa för att tillämpa den nya spårningen.

Visa programkartan

Gå tillbaka till sidan Distribuerad spårning och välj Visa programkarta. Granska den visuella representationen av programmet och övervakningsinställningarna. Information om hur du använder programkartan finns i Programkarta: Triage distributed applications (Programkarta: Triage distributed applications).

Använd sökfunktionen för att fråga efter andra specifika telemetriobjekt. På sidan Distribuerad spårning väljer du Sök. Mer information om hur du använder sökfunktionen finns i Använda sökning i Application Insights.

Använda Insights

Program Insights funktioner för övervakning utöver programkartan och sökfunktionen. Sök i Azure Portal efter programmets namn och öppna sedan en programsida Insights att hitta övervakningsinformation. Mer information om hur du använder dessa verktyg finns i Azure Monitor loggfrågor.

Inaktivera Insights

  1. Gå till Azure Spring Cloud tjänstsidan i Azure Portal.
  2. I Övervakning väljer du Distribuerad spårning.
  3. Välj Inaktivera för att inaktivera Insights.

Nästa steg

I den här artikeln har du lärt dig att aktivera och förstå distribuerad spårning i Azure Spring Cloud. Mer information om hur du binder tjänster till ett program finns i Binda en Azure Cosmos DB-databas till ett program i Azure Spring Cloud.