De Java-in-process-agent van Application Insights in Azure Spring Cloud Apps gebruiken

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.

Gebruik met Spring Boot Native Image-toepassingen het Azure Monitor OpenTelemetry Distro/Application Insights in spring Boot native image Java application project in plaats van de Application Insights Java-agent.

Dit artikel is van toepassing op: ✔️ Standaardverbruik en toegewezen (preview) ✔️ Basic/Standard ✔️ Enterprise

In dit artikel wordt uitgelegd hoe u toepassingen bewaakt met behulp van de Application Insights Java-agent in Azure Spring Apps.

Met deze functie kunt u het volgende:

  • Traceringsgegevens zoeken met verschillende filters.
  • Bekijk een afhankelijkheidskaart van Spring-toepassingen.
  • Controleer de prestaties van de aanvraag.
  • Realtime live metrische gegevens bewaken.
  • Controleer mislukte aanvragen.
  • Controleer de metrische gegevens van de toepassing.
  • Controleer toepassingslogboeken.

Application Insights kan veel waarneembare perspectieven bieden, waaronder:

  • Toepassingsoverzicht
  • Prestaties
  • Fouten
  • Metrische gegevens voor
  • Live Metrics
  • Beschikbaarheid
  • Logboeken

De Application Insights-functie gebruiken

Wanneer de Application Insights-functie is ingeschakeld, kunt u het volgende doen:

  • Selecteer Application Insights in het navigatiedeelvenster om de overzichtspagina van Application Insights weer te geven. Op de overzichtspagina ziet u een overzicht van alle actieve toepassingen.

  • Selecteer Toepassingsoverzicht om de status van aanroepen tussen toepassingen weer te geven.

    Schermopname van Azure Portal met de application-kaartpagina van Application Insights.

  • Selecteer de koppeling tussen klantenservice en petclinic zie meer informatie, zoals een query uit SQL.

  • Selecteer een eindpunt om alle toepassingen te zien die aanvragen naar het eindpunt indienen.

  • Selecteer in het navigatiedeelvenster Prestaties om de prestatiegegevens van de bewerkingen, afhankelijkheden en rollen van alle toepassingen weer te geven.

    Schermopname van Azure Portal met de pagina Prestaties van Application Insights.

  • Selecteer in het navigatiedeelvenster Fouten om onverwachte fouten of uitzonderingen van uw toepassingen te zien.

    Schermopname van Azure Portal met de pagina Application Insights-fouten.

  • Selecteer in het navigatiedeelvenster Metrische gegevens en selecteer de naamruimte om zowel metrische gegevens van Spring Boot als aangepaste metrische gegevens weer te geven, indien van toepassing.

    Schermopname van Azure Portal met de pagina Metrische gegevens van Application Insights.

  • Selecteer in het navigatiedeelvenster Live Metrics om de realtime metrische gegevens voor verschillende dimensies weer te geven.

    Schermopname van Azure Portal met de pagina Live Metrics van Application Insights.

  • Selecteer in het navigatiedeelvenster Beschikbaarheid om de beschikbaarheid en reactiesnelheid van web-apps te bewaken door beschikbaarheidstests te maken in Application Insights.

    Schermopname van Azure Portal waarop de application Insights-beschikbaarheidspagina wordt weergegeven.

  • Selecteer in het navigatiedeelvenster Logboeken om logboeken van alle toepassingen of logboeken van één toepassing weer te geven wanneer u filtert op cloud_RoleName.

    Schermopname van Azure Portal met de pagina Application Insights-logboeken.

Application Insights beheren met behulp van Azure Portal

Schakel de Java In-Process Agent in met behulp van de volgende procedure.

  1. Ga naar de service | Overzichtspagina van uw service-exemplaar en selecteer vervolgens Application Insights in de sectie Bewaking .

  2. Selecteer Application Insights inschakelen om Application Insights in te schakelen in Azure Spring Apps.

  3. Selecteer een bestaand exemplaar van Application Insights of maak een nieuw exemplaar.

  4. Wanneer Application Insights is ingeschakeld, kunt u één optionele steekproeffrequentie configureren (standaard 10,0%).

    Schermopname van Azure Portal met het selectievakje Application Insights voor Azure Spring Apps inschakelen gemarkeerd.

  5. Selecteer Opslaan om de wijziging op te slaan.

Notitie

Gebruik niet hetzelfde Application Insights-exemplaar in verschillende Azure Spring Apps-exemplaren of u ziet gemengde gegevens.

U kunt de portal gebruiken om de huidige instellingen in Application Insights te controleren of bij te werken.

Application Insights inschakelen met behulp van Azure Portal

  1. Selecteer Application Insights.

  2. Schakel Application Insights in door binding bewerken of de niet-afhankelijke hyperlink te selecteren.

    Schermopname van Azure Portal Azure met het Azure Spring Apps-exemplaar met de application insights-pagina en de optie Binding bewerken.

  3. Bewerk Application Insights of samplingfrequentie en selecteer Opslaan.

Application Insights uitschakelen

  1. Selecteer Application Insights.

  2. Selecteer Niet-gekoppelde binding om Application Insights uit te schakelen.

    Schermopname van Azure Portal waarin het Azure Spring Apps-exemplaar wordt weergegeven met de Application Insights-pagina en de optie Binding ongedaan maken.

Application Insights-Instellingen wijzigen

Selecteer de naam onder de kolom Application Insights om de sectie Application Insights te openen.

Schermopname van Azure Portal met het Azure Spring Apps-exemplaar met de Application Insights-pagina.

Application Insights buildpack-bindingen bewerken in Build Service

Voer de volgende stappen uit om de huidige instellingen voor de Application Insights buildpack-bindingen in Build Service te controleren en bij te werken:

  1. Selecteer Build-service.
  2. Kies uw opbouwfunctie.
  3. Selecteer Bewerken onder de kolom Bindingen.

Application Insights-instellingen vindt u in het ApplicationInsights-item dat wordt vermeld onder de kolom Bindingstype .

  1. Selecteer de afhankelijke hyperlink of selecteer Binding bewerken onder het beletselteken om de Application Insights buildpack-bindingen te openen en te bewerken.

    Schermopname van Azure Portal met de bindingen bewerken voor het deelvenster Standaardbouwer.

  2. Bewerk de bindingsinstellingen en selecteer Opslaan.

    Schermopname van Azure Portal met het deelvenster Binding bewerken.

Application Insights beheren met behulp van Azure CLI

U kunt Application Insights beheren met behulp van Azure CLI-opdrachten. Zorg ervoor dat u in de volgende opdrachten de tekst van de <tijdelijke aanduiding> vervangt door de beschreven waarden. De tijdelijke aanduiding service-exemplaar verwijst naar de naam van uw Azure Spring Apps-exemplaar>.<

Application Insights inschakelen

Gebruik de volgende opdracht om Application Insights te configureren bij het maken van een Azure Spring Apps-exemplaar. Voor het app-insights argument kunt u een Application Insights-naam of resource-id opgeven.

az spring create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>
az spring create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate> \
    --sku Enterprise

U kunt ook een Application Insights-verbindingsreeks (voorkeurssleutel) of instrumentatiesleutel gebruiken, zoals wordt weergegeven in het volgende voorbeeld.

az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>
az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate> \
    --sku Enterprise

Application Insights uitschakelen

Gebruik de volgende opdracht om Application Insights uit te schakelen bij het maken van een Azure Spring Apps-exemplaar:

az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights
az spring create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights \
    --sku Enterprise

Application Insights-instellingen controleren

Gebruik de volgende opdracht om de Application Insights-instellingen van een bestaand Azure Spring Apps-exemplaar te controleren:

az spring app-insights show \
    --resource-group <resource-group-name> \
    --name <service-instance-name>

Application Insights bijwerken

Gebruik de volgende opdracht om Application Insights bij te werken voor het gebruik van een verbindingsreeks (voorkeurssleutel) of instrumentatiesleutel:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>

Gebruik de volgende opdracht om Application Insights bij te werken om de resourcenaam of -id te gebruiken:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>

Application Insights uitschakelen met de opdracht Update

Gebruik de volgende opdracht om Application Insights uit te schakelen op een bestaand Azure Spring Apps-exemplaar:

az spring app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable

Application Insights buildpack-bindingen beheren

Deze sectie is alleen van toepassing op het Enterprise-abonnement en bevat instructies die de vorige sectie aanvullen.

Het Azure Spring Apps Enterprise-plan maakt gebruik van buildpack-bindingen om Azure-toepassing Insights te integreren met het typeApplicationInsights. Zie APM-integratie en CA-certificaten configureren voor meer informatie.

Gebruik de volgende opdracht om een Application Insights buildpack-binding te maken:

az spring build-service builder buildpack-binding create \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

Als u alle buildpack-bindingen wilt weergeven en Application Insights-bindingen ApplicationInsightswilt zoeken, gebruikt u de volgende opdracht:

az spring build-service builder buildpack-binding list \
    --resource-group <your-resource-group-name> \
    --service <your-service-resource-name> \
    --builder-name <your-builder-name>

Gebruik de volgende opdracht om een Application Insights buildpack-binding te vervangen:

az spring build-service builder buildpack-binding set \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

Gebruik de volgende opdracht om een Application Insights buildpack-binding op te halen:

az spring build-service builder buildpack-binding show \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name>

Gebruik de volgende opdracht om een Application Insights buildpack-binding te verwijderen:

az spring build-service builder buildpack-binding delete \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name>

Automation

In de volgende secties wordt beschreven hoe u uw implementatie automatiseert met Bicep-, Azure Resource Manager-sjablonen (ARM-sjablonen) of Terraform.

Bicep

Als u wilt implementeren met behulp van een Bicep-bestand, kopieert u de volgende inhoud naar een main.bicep-bestand . Zie Microsoft.AppPlatform Spring/monitoring Instellingen voor meer informatie.

param springName string
param location string = resourceGroup().location

resource spring 'Microsoft.AppPlatform/Spring@2020-07-01' = {
  name: springName
  location: location
  properties: {}
}

resource monitorSetting 'Microsoft.AppPlatform/Spring/monitoringSettings@2020-11-01-preview' = {
  parent: spring
  name: 'default'
  properties: {
    appInsightsInstrumentationKey: '00000000-0000-0000-0000-000000000000'
    appInsightsSamplingRate: 88
  }
}

ARM-sjablonen

Als u wilt implementeren met behulp van een ARM-sjabloon, kopieert u de volgende inhoud naar een azuredeploy.json bestand. Zie Microsoft.AppPlatform Spring/monitoring Instellingen voor meer informatie.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "springName": {
      "type": "string"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.AppPlatform/Spring",
      "apiVersion": "2020-07-01",
      "name": "[parameters('springName')]",
      "location": "[parameters('location')]",
      "properties": {}
    },
    {
      "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
      "apiVersion": "2020-11-01-preview",
      "name": "[format('{0}/{1}', parameters('springName'), 'default')]",
      "properties": {
        "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
        "appInsightsSamplingRate": 88
      },
      "dependsOn": [
        "[resourceId('Microsoft.AppPlatform/Spring', parameters('springName'))]"
      ]
    }
  ]
}

Terraform

Gebruik de volgende sjabloon voor een Terraform-implementatie. Zie azurerm_spring_cloud_service voor meer informatie.

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_application_insights" "example" {
  name                = "tf-test-appinsights"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  application_type    = "web"
}

resource "azurerm_spring_cloud_service" "example" {
  name                = "example-springcloud"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  sku_name            = "S0"

  config_server_git_setting {
    uri          = "https://github.com/Azure-Samples/piggymetrics"
    label        = "config"
    search_paths = ["dir1", "dir2"]
  }

  trace {
    connection_string = azurerm_application_insights.example.connection_string
    sample_rate       = 10.0
  }

  tags = {
    Env = "staging"
  }
}

Automatisering in het Enterprise-abonnement is in behandeling. Documentatie wordt toegevoegd zodra deze beschikbaar is.

Update/upgrade van Java-agent

De Java-agent wordt regelmatig bijgewerkt/bijgewerkt met de JDK, wat van invloed kan zijn op de volgende scenario's.

Notitie

De JDK-versie wordt elk kwartaal bijgewerkt/bijgewerkt per jaar.

  • Bestaande toepassingen die gebruikmaken van de Java-agent voordat ze worden bijgewerkt/bijgewerkt, worden niet beïnvloed.
  • Toepassingen die zijn gemaakt na het bijwerken/upgraden, gebruiken de nieuwe versie van de Java-agent.
  • Bestaande toepassingen die de Java-agent niet eerder hebben gebruikt, moeten opnieuw worden opgestart of opnieuw worden geïmplementeerd om de nieuwe versie van de Java-agent te gebruiken.

De Java-agent wordt bijgewerkt/bijgewerkt wanneer het buildpack wordt bijgewerkt.

Dynamisch laden van Java-agentconfiguratie

Azure Spring Apps heeft een dynamisch laadmechanisme om de instellingen van agentconfiguratie aan te passen zonder toepassingen opnieuw op te starten.

Notitie

Het mechanisme voor dynamisch laden heeft een vertraging in minuten.

  • Als de Java-agent al is ingeschakeld, hoeven wijzigingen in het Application Insights-exemplaar of SamplingRate de waarde van de toepassing niet opnieuw te worden opgestart.

  • Als u de Java-agent inschakelt, moet u toepassingen opnieuw opstarten.

  • Wanneer u de Java-agent uitschakelt, stoppen toepassingen met het verzenden van alle bewakingsgegevens na een vertraging in minuten. U kunt toepassingen opnieuw opstarten om de agent te verwijderen uit de Java Runtime-omgeving.

Conceptkoppeling tussen Azure Spring Apps en Application Insights

Azure Spring Apps Analyses van toepassingen
App * Toepassingsoverzicht/-rol
* Live Metrics/Role
* Fouten/rollen/cloudrol
* Prestaties/rollen/rol
App Instance * Toepassingsoverzicht/rolinstantie
* Live Metrics/Service Name
* Fouten/rollen/cloudexemplaren
* Prestaties/rollen/mogelijk exemplaar

De naam App Instance van Azure Spring Apps wordt gewijzigd of gegenereerd in de volgende scenario's:

  • U maakt een nieuwe toepassing.
  • U implementeert een JAR-bestand of broncode in een bestaande toepassing.
  • U initieert een blauw/groene implementatie.
  • U start de toepassing opnieuw op.
  • U stopt de implementatie van een toepassing en start deze opnieuw op.

Wanneer gegevens worden opgeslagen in Application Insights, bevat deze de geschiedenis van Azure Spring Apps-app-exemplaren die zijn gemaakt of geïmplementeerd sinds de Java-agent is ingeschakeld. In de Application Insights-portal ziet u bijvoorbeeld toepassingsgegevens die gisteren zijn gemaakt, maar vervolgens verwijderd binnen een specifiek tijdsbereik, zoals de afgelopen 24 uur. In de volgende scenario's ziet u hoe dit werkt:

  • U hebt vandaag een toepassing rond 8:00 uur gemaakt vanuit Azure Spring Apps waarvoor de Java-agent is ingeschakeld en vervolgens hebt u vandaag rond 8:10 uur een JAR-bestand geïmplementeerd in deze toepassing. Na enkele tests wijzigt u de code en implementeert u vandaag om 8:30 uur een nieuw JAR-bestand in deze toepassing. Vervolgens neemt u een pauze en wanneer u rond 11:00 uur terugkomt, controleert u enkele gegevens uit Application Insights. U ziet:
    • Drie exemplaren in toepassingsoverzicht met tijdsbereiken in de afgelopen 24 uur, en fouten, prestaties en metrische gegevens.
    • Eén exemplaar in toepassingsoverzicht met een tijdsbereik in het afgelopen uur en fouten, prestaties en metrische gegevens.
    • Eén exemplaar in Live Metrics.
  • U hebt vandaag een toepassing rond 8:00 uur gemaakt vanuit Azure Spring Apps waarvoor de Java-agent is ingeschakeld en vervolgens hebt u vandaag rond 8:10 uur een JAR-bestand geïmplementeerd in deze toepassing. Rond 8:30 uur vandaag probeert u een blauw/groene implementatie uit te proberen met een ander JAR-bestand. Momenteel hebt u twee implementaties voor deze toepassing. Na een pauze rond 11:00 uur wilt u enkele gegevens van Application Insights controleren. U ziet:
    • Drie exemplaren in toepassingsoverzicht met tijdsbereiken in de afgelopen 24 uur, en fouten, prestaties en metrische gegevens.
    • Twee exemplaren in toepassingsoverzicht met tijdsbereiken in afgelopen uur en fouten, prestaties en metrische gegevens.
    • Twee exemplaren in Live Metrics.

Volgende stappen