Gedistribueerde tracering gebruiken met Azure Spring Cloud

Met de hulpprogramma's voor gedistribueerde tracering in Azure Spring Cloud kunt u eenvoudig complexe problemen opsporen en bewaken. Azure Spring Cloud integreert Spring Cloud Sleuth met Application Insights van Azure. Deze integratie biedt krachtige functies voor gedistribueerde tracering via de Azure-portal.

In dit artikel leert u hoe u een .NET Core Steeltoe-app in staat stelt gedistribueerde tracering te gebruiken.

Vereisten

Als u deze procedures wilt volgen, hebt u een Steeltoe-app nodig die al is voorbereid voor implementatie Azure Spring Cloud.

Afhankelijkheden

Voeg voor Steeltoe 2.4.4 de volgende NuGet-pakketten toe:

Voeg voor Steeltoe 3.0.0 het volgende NuGet-pakket toe:

Startup.cs bijwerken

  1. Roep voor Steeltoe 2.4.4 en AddDistributedTracing aan in de methode AddZipkinExporter ConfigureServices .

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

    Roep voor Steeltoe 3.0.0 AddDistributedTracing aan in de methode ConfigureServices .

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDistributedTracing(Configuration, builder => builder.UseZipkinWithTraceOptions(services));
    }
    
  2. Roep voor Steeltoe 2.4.4 UseTracingExporter aan in de methode Configure .

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

    Voor Steeltoe 3.0.0 zijn geen wijzigingen vereist in de Configure methode .

Configuratie bijwerken

Voeg de volgende instellingen toe aan de configuratiebron die wordt gebruikt wanneer de app wordt uitgevoerd in Azure Spring Cloud:

  1. Stel management.tracing.alwaysSample in op Waar.

  2. Als u tracering wilt zien die wordt verzonden tussen de Eureka-server, de configuratieserver en gebruikers-apps: ingesteld op management.tracing.egressIgnorePattern /api/v2/spans|/v2/apps/./permissions|/eureka/.| /oauth/.*".

Als u bijvoorbeeld appsettings.js, worden de volgende eigenschappen gebruikt:

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

Zie Gedistribueerde tracering in de Steeltoe-documentatie voor meer informatie over gedistribueerde tracering in .NET Core Steeltoe-apps.

In dit artikel leert u het volgende:

  • Gedistribueerde tracering in de Azureportal inschakelen.
  • Spring Cloud Sleuth toevoegen aan uw toepassing.
  • Afhankelijkheidskaarten voor uw microservicetoepassingen weergeven.
  • Traceringsgegevens zoeken met verschillende filters.

Vereisten

Voor het volgen van deze procedures hebt u een Azure Spring Cloud-service nodig die al is ingericht en actief is. Voltooi de quickstart Uw eerste toepassing Azure Spring Cloud implementeren voor het inrichten en uitvoeren van een Azure Spring Cloud service.

Afhankelijkheden toevoegen

  1. Voeg de volgende regel toe aan het bestand application.properties:

    spring.zipkin.sender.type = web
    

    Na deze wijziging kan de Zipkin-afzender naar het web verzenden.

  2. Sla deze stap over als u onze gids voor het voorbereiden van een Azure Spring Cloud-toepassing hebt gevolgd. Als dat niet het geval is, gaat u naar uw lokale ontwikkelomgeving en bewerkt u het bestand pom.xml om de volgende Spring Cloud Sleuth-afhankelijkheid toe te voegen:

    • Spring Boot-versie < 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->= 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. Bouw en implementeer opnieuw voor de Azure Spring Cloud-service om deze wijzigingen weer te geven.

De samplefrequentie wijzigen

U kunt de snelheid waarmee uw telemetrie wordt verzameld, wijzigen door de samplefrequentie aan te passen. Als u bijvoorbeeld een sample van de helft wilt uitvoeren, opent u het bestand application.properties en wijzigt u de volgende regel:

spring.sleuth.sampler.probability=0.5

Als u al een toepassing hebt gemaakt en geïmplementeerd, kunt u de samplefrequentie wijzigen. Dit doet u door de vorige regel als een omgevingsvariabele in de Azure CLI of de Azure-portal toe te voegen.

Application Insights inschakelen

  1. Ga naar de pagina van Azure Spring Cloud in de Azure-portal.
  2. Selecteer op de pagina Bewaking de optie Gedistribueerde tracering.
  3. Selecteer Instelling bewerken om een nieuwe instelling te bewerken of toe te voegen.
  4. Maak een nieuwe Application Insights-query of selecteer een bestaande.
  5. Kies welke logboekregistratiecategorie u wilt bewaken en geef de bewaartijd op in dagen.
  6. Selecteer Toepassen om de nieuwe tracering toe te passen.

Het toepassingsoverzicht weergeven

Ga terug naar de pagina Gedistribueerde tracering en selecteer Toepassingsoverzicht weergeven. Bekijk de visuele weergave van uw toepassings- en bewakingsinstellingen. Zie voor meer informatie over het gebruik van het toepassingsoverzicht Toepassingsoverzicht: Gedistribueerde toepassingen classificeren.

Gebruik de zoekfunctie om te zoeken naar andere specifieke telemetrie-items. Selecteer op de pagina Gedistribueerde tracering de optie Zoeken. Zie Zoeken in Application Insights gebruiken voor meer informatie over het gebruik van de zoekfunctie.

Application Insights gebruiken

Application Insights biedt naast het toepassingsoverzicht en de zoekfunctie ook bewakingsmogelijkheden. Zoek in de Azure-portal naar de naam van uw toepassing en open vervolgens een Application Insights-pagina om bewakingsinformatie te vinden. Zie Azure Monitor-logboekquery's voor meer informatie over het gebruik van deze hulpprogramma's.

Application Insights uitschakelen

  1. Ga naar de pagina van Azure Spring Cloud in de Azure-portal.
  2. Selecteer in Bewaking de optie Gedistribueerde tracering.
  3. Selecteer Uitschakelen om Application Insights uit te schakelen.

Volgende stappen

In dit artikel hebt u geleerd hoe u gedistribueerde tracering in Azure Spring Cloud kunt inschakelen en begrijpen. Zie Een Azure Cosmos DB-database verbinden met een Azure Spring Cloud-toepassing voor meer informatie over het verbinden van services met een toepassing.