Spring Boot-apps bewaken met de New Relic Java-agent

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.

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

In dit artikel leest u hoe u Spring Boot-toepassingen in Azure Spring Apps bewaakt met de New Relic Java-agent.

Met de New Relic Java-agent kunt u het volgende doen:

  • Gebruik de New Relic Java-agent.
  • Configureer de New Relic Java-agent met behulp van omgevingsvariabelen.
  • Controleer alle bewakingsgegevens van het New Relic-dashboard.

In de volgende video wordt beschreven hoe u Spring Boot-toepassingen activeert en bewaakt in Azure Spring Apps met behulp van New Relic One.


Vereisten

De New Relic Java in procesagent activeren

Gebruik de volgende procedure om toegang te krijgen tot de agent:

  1. Maak een exemplaar van Azure Spring Apps.

  2. Maak een toepassing.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. Maak een implementatie met de New Relic-agent en omgevingsvariabelen.

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --artifact-path app.jar \
        --jvm-options="-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar" \
        --env NEW_RELIC_APP_NAME=appName \
              NEW_RELIC_LICENSE_KEY=newRelicLicenseKey
    

Azure Spring Apps installeert de New Relic Java-agent vooraf op /opt/agents/newrelic/java/newrelic-agent.jar. Klanten kunnen de agent activeren vanuit de JVM-opties van toepassingen en de agent configureren met behulp van de omgevingsvariabelen van de New Relic Java-agent.

Azure Portal

U kunt deze agent ook activeren vanuit Azure Portal met de volgende procedure.

  1. Selecteer apps in uw Azure Spring Apps-exemplaar in het navigatiedeelvenster.

    Screenshot of the Azure portal showing the Apps page for an Azure Spring Apps instance.

  2. Selecteer de toepassing in de lijst en selecteer vervolgens Configuratie in het navigatiedeelvenster.

  3. Gebruik het tabblad Algemene instellingen om waarden zoals de JVM-opties bij te werken.

    Screenshot of the Azure portal showing the Configuration page for an app with the General settings tab selected.

  4. Selecteer Omgevingsvariabelen om de variabelen toe te voegen of bij te werken die door uw toepassing worden gebruikt.

    Screenshot of the Azure portal showing the Configuration page for an app with the Environment variables tab selected.

  5. Bekijk de overzichtspagina van de toepassings-API/gateway vanuit het New Relic-dashboard.

    Screenshot of the New Relic dashboard showing the API Gateway summary page.

  6. Bekijk de overzichtspagina van de toepassingsklantenservice vanuit het New Relic-dashboard.

    Screenshot of the New Relic dashboard showing the Customers Service page.

  7. Bekijk de pagina Serviceoverzicht vanuit het New Relic-dashboard.

    Screenshot of the New Relic dashboard showing the Service Map page.

  8. Bekijk de pagina JVM's van de toepassing vanuit het New Relic-dashboard.

    Screenshot of the New Relic dashboard showing the JVM page.

  9. Bekijk het toepassingsprofiel vanuit het New Relic-dashboard.

    Screenshot of the New Relic dashboard showing the Application Profile page.

Inrichting automatiseren

U kunt ook een pijplijn voor inrichtingsautomatisering uitvoeren met behulp van Terraform, Bicep of een Arm-sjabloon (Azure Resource Manager). Deze pijplijn kan een volledige hands-off ervaring bieden voor het instrumenteren en bewaken van nieuwe toepassingen die u maakt en implementeert.

Inrichting automatiseren met Terraform

Als u de omgevingsvariabelen in een Terraform-sjabloon wilt configureren, voegt u de volgende code toe aan de sjabloon, waarbij u de <tijdelijke aanduidingen voor ...> vervangt door uw eigen waarden. Zie Een actieve Implementatie van Azure Spring Apps beheren voor meer informatie.

resource "azurerm_spring_cloud_java_deployment" "example" {
  ...
  jvm_options = "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar"
  ...
    environment_variables = {
      "NEW_RELIC_APP_NAME": "<app-name>",
      "NEW_RELIC_LICENSE_KEY": "<new-relic-license-key>"
  }
}

Inrichting automatiseren met behulp van een Bicep-bestand

Als u de omgevingsvariabelen in een Bicep-bestand wilt configureren, voegt u de volgende code toe aan de sjabloon, waarbij u de <tijdelijke aanduidingen voor ...> vervangt door uw eigen waarden. Zie Microsoft.AppPlatform Spring/apps/deployments voor meer informatie.

deploymentSettings: {
  environmentVariables: {
    NEW_RELIC_APP_NAME : '<app-name>',
    NEW_RELIC_LICENSE_KEY : '<new-relic-license-key>'
  },
  jvmOptions: '-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar',
  ...
}

Inrichting automatiseren met behulp van een ARM-sjabloon

Als u de omgevingsvariabelen in een ARM-sjabloon wilt configureren, voegt u de volgende code toe aan de sjabloon, waarbij u de <tijdelijke aanduidingen voor ...> vervangt door uw eigen waarden. Zie Microsoft.AppPlatform Spring/apps/deployments voor meer informatie.

"deploymentSettings": {
  "environmentVariables": {
    "NEW_RELIC_APP_NAME" : "<app-name>",
    "NEW_RELIC_LICENSE_KEY" : "<new-relic-license-key>"
  },
  "jvmOptions": "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar",
  ...
}

Toepassingslogboeken doorsturen naar New Relic

De New Relic-agent kan toepassingslogboeken rechtstreeks vanuit uw apps verzamelen en deze doorsturen naar New Relic. Zie Uw logboeken doorsturen naar New Relic - en APM-logboeken in context voor meer informatie.

Logboeken van New Relic Java Agent weergeven

Standaard worden in Azure Spring Apps de logboeken van de New Relic Java-agent afgedrukt naar STDOUT. De logboeken worden gecombineerd met de toepassingslogboeken. U vindt de expliciete agentversie in de toepassingslogboeken.

U kunt ook de logboeken van de New Relic-agent ophalen op de volgende locaties:

  • Azure Spring Apps-logboeken
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

U kunt enkele omgevingsvariabelen van New Relic gebruiken om de logboekregistratie van de nieuwe agent te configureren, zoals NEW_RELIC_LOG_LEVEL het niveau van logboeken. Zie de configuratie van new Relic-logboekregistratie voor meer informatie.

Notitie

Gebruik dit niet finer of finest tenzij New Relic Support u vraagt dit te doen. Deze logboekregistratieniveaus kunnen overmatige overhead genereren. Gebruik voor de meeste situaties info.

Let op

We raden u ten zeerste aan het standaardgedrag voor logboekregistratie van Azure Spring Apps for New Relic niet te overschrijven. Als u dit doet, worden de eerder beschreven logboekscenario's geblokkeerd en kunnen de logboekbestanden verloren gaan. U moet bijvoorbeeld de volgende omgevingsvariabelen niet doorgeven aan uw toepassingen. Logboekbestanden kunnen verloren gaan na het opnieuw opstarten of opnieuw implementeren van toepassingen.

  • NEW_RELIC_LOG
  • NEW_RELIC_LOG_FILE_PATH

Update/upgrade van New Relic Java Agent

De New Relic Java-agent werkt de JDK regelmatig bij/ upgradet. De update/upgrade van de agent kan van invloed zijn op de volgende scenario's.

  • Bestaande toepassingen die gebruikmaken van de New Relic Java-agent voordat de update/upgrade wordt bijgewerkt, blijven ongewijzigd.
  • Bestaande toepassingen die gebruikmaken van de New Relic Java-agent voordat de update/upgrade wordt uitgevoerd, moeten opnieuw worden opgestart of opnieuw worden geïmplementeerd om de nieuwe versie van de New Relic Java-agent in te schakelen.
  • Nieuwe toepassingen die zijn gemaakt na het bijwerken/upgraden, gebruiken de nieuwe versie van de New Relic Java-agent.

Configuratie van uitgaand verkeer van Vnet-injectieexemplaren

Voor een vnet-injectieexemplaren van Azure Spring Apps moet u ervoor zorgen dat het uitgaande verkeer correct is geconfigureerd voor de New Relic Java-agent. Zie Networks of New Relic voor meer informatie.

Volgende stappen

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