De Java-in-process-agent van Application Insights in Azure Spring Cloud Apps gebruiken
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
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.
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.
Selecteer in het navigatiedeelvenster Fouten om onverwachte fouten of uitzonderingen van uw toepassingen te zien.
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.
Selecteer in het navigatiedeelvenster Live Metrics om de realtime metrische gegevens voor verschillende dimensies weer te geven.
Selecteer in het navigatiedeelvenster Beschikbaarheid om de beschikbaarheid en reactiesnelheid van web-apps te bewaken door beschikbaarheidstests te maken in Application Insights.
Selecteer in het navigatiedeelvenster Logboeken om logboeken van alle toepassingen of logboeken van één toepassing weer te geven wanneer u filtert op
cloud_RoleName
.
Application Insights beheren met behulp van Azure Portal
Schakel de Java In-Process Agent in met behulp van de volgende procedure.
Ga naar de service | Overzichtspagina van uw service-exemplaar en selecteer vervolgens Application Insights in de sectie Bewaking .
Selecteer Application Insights inschakelen om Application Insights in te schakelen in Azure Spring Apps.
Selecteer een bestaand exemplaar van Application Insights of maak een nieuw exemplaar.
Wanneer Application Insights is ingeschakeld, kunt u één optionele steekproeffrequentie configureren (standaard 10,0%).
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
Selecteer Application Insights.
Schakel Application Insights in door binding bewerken of de niet-afhankelijke hyperlink te selecteren.
Bewerk Application Insights of samplingfrequentie en selecteer Opslaan.
Application Insights uitschakelen
Selecteer Application Insights.
Selecteer Niet-gekoppelde binding om Application Insights uit te schakelen.
Application Insights-instellingen wijzigen
Selecteer de naam onder de kolom Application Insights om de sectie Application Insights te openen.
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:
- Selecteer Build-service.
- Kies uw opbouwfunctie.
- Selecteer Bewerken onder de kolom Bindingen.
Application Insights-instellingen vindt u in het ApplicationInsights-item dat wordt vermeld onder de kolom Bindingstype .
Selecteer de afhankelijke hyperlink of selecteer Binding bewerken onder het beletselteken om de Application Insights buildpack-bindingen te openen en te bewerken.
Bewerk de bindingsinstellingen en selecteer Opslaan.
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 ApplicationInsights
wilt 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/monitoringSettings 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/monitoringSettings 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.