Überwachen von Spring Boot-Apps mit dem New Relic-Agent von Java

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

Dieser Artikel bezieht sich auf: ✔️ Standardverbrauch und dedizierte (Vorschau) ✔️ Basic/Standard ❌ Enterprise

Dieser Artikel veranschaulicht die Überwachung von Spring Boot-Anwendungen in Azure Spring Apps mit dem New Relic-Java-Agent.

Mit dem New Relic-Agent von Java können Sie die folgenden Funktionen verwenden:

  • Nutzen des New Relic-Agents von Java.
  • Konfigurieren des New Relic-Agents von Java mit Umgebungsvariablen.
  • Überprüfen aller Überwachungsdaten aus dem New Relic-Dashboard.

Im folgenden Video wird beschrieben, wie Sie Spring Boot-Anwendungen in Azure Spring Apps mithilfe von New Relic One aktivieren und überwachen.


Voraussetzungen

Aktivieren des prozessinternen New Relic-Agents von Java

Verwenden Sie das folgende Verfahren, um auf den Agent zuzugreifen:

  1. Erstellen Sie eine Instanz von Azure Spring Apps.

  2. Erstellen einer Anwendung.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. Erstellen Sie eine Bereitstellung mit dem New Relic-Agent und Umgebungsvariablen.

    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 vorinstalliert den New Relic Java-Agent auf /opt/agents/newrelic/java/newrelic-agent.jar. Kunden können den Agent über die JVM-Optionen von Anwendungen aktivieren und den Agent mithilfe der Umgebungsvariablen des New Relic Java-Agents konfigurieren.

Azure-Portal

Sie können diesen Agent auch über die Azure-Portal mit dem folgenden Verfahren aktivieren.

  1. Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich "Apps " aus.

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

  2. Wählen Sie die Anwendung aus der Liste aus, und wählen Sie dann im Navigationsbereich "Konfiguration " aus.

  3. Verwenden Sie die Registerkarte "Allgemeine Einstellungen ", um Werte wie die JVM-Optionen zu aktualisieren.

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

  4. Wählen Sie Umgebungsvariablen aus, um die von Ihrer Anwendung verwendeten Variablen hinzuzufügen oder zu aktualisieren.

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

  5. Zeigen Sie die Seite "Anwendungs-API/Gatewayzusammenfassung" aus dem New Relic-Dashboard an.

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

  6. Zeigen Sie die Seite Zusammenfassung des Kundendiensts der Anwendung im „New Relic“-Dashboard an.

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

  7. Zeigen Sie die Seite Dienstzuordnung im „New Relic“-Dashboard an.

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

  8. Zeigen Sie die Seite JVMs der Anwendung im „New Relic“-Dashboard an.

    Screenshot of the New Relic dashboard showing the JVM page.

  9. Zeigen Sie das Anwendungsprofil im „New Relic“-Dashboard an.

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

Automatisieren der Bereitstellung

Sie können eine Bereitstellungsautomatisierungspipeline auch mithilfe von Terraform, Bicep oder einer Azure Resource Manager-Vorlage (ARM-Vorlage) ausführen. Mit dieser Pipeline können Sie alle neuen Anwendungen, die Sie erstellen und bereitstellen, ganz ohne Aufwand instrumentieren und überwachen.

Automatisieren der Bereitstellung mit Terraform

Um die Umgebungsvariablen in einer Terraform-Vorlage zu konfigurieren, fügen Sie der Vorlage den folgenden Code hinzu, und ersetzen Sie dabei die Platzhalter <...> durch Ihre eigenen Werte. Weitere Informationen finden Sie unter Verwalten einer aktiven Azure Spring Apps-Bereitstellung.

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>"
  }
}

Automatisieren der Bereitstellung mithilfe einer Bicep-Datei

Um die Umgebungsvariablen in einer Bicep-Datei zu konfigurieren, fügen Sie der Vorlage den folgenden Code hinzu und ersetzen dabei die Platzhalter <...> durch Ihre eigenen Werte. Weitere Informationen finden Sie unter Microsoft.AppPlatform/Spring/apps/deployments/skus.

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',
  ...
}

Automatisieren der Bereitstellung mithilfe einer ARM-Vorlage

Um die Umgebungsvariablen in einer ARM-Vorlage zu konfigurieren, fügen Sie der Vorlage den folgenden Code hinzu, und ersetzen Sie dabei die Platzhalter <...> durch Ihre eigenen Werte. Weitere Informationen finden Sie unter Microsoft.AppPlatform/Spring/apps/deployments/skus.

"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",
  ...
}

Weiterleiten von Anwendungsprotokollen an New Relic

Der New Relic-Agent kann Anwendungsprotokolle direkt aus Ihren Apps sammeln und an New Relic weiterleiten. Weitere Informationen finden Sie unter Weiterleiten Ihrer Protokolle an New Relic - und APM-Protokolle im Kontext.

Anzeigen von Protokollen des New Relic-Agents von Java

Standardmäßig druckt Azure Spring Apps die Protokolle des New Relic Java-Agents in STDOUT. Die Protokolle werden mit den Anwendungsprotokollen gemischt. Sie können die explizite Agent-Version aus den Anwendungsprotokollen abrufen.

Sie können die Protokolle des New Relic-Agents auch an den folgenden Speicherorten abrufen:

  • Azure Spring Apps-Protokolle
  • Application Insights für Azure Spring Apps
  • Azure Spring Apps LogStream

Sie können einige Von New Relic bereitgestellte Umgebungsvariablen verwenden, um die Protokollierung des neuen Agents zu konfigurieren, z NEW_RELIC_LOG_LEVEL . B. zum Steuern der Protokollebene. Weitere Informationen finden Sie in der Konfiguration der New Relic-Protokollierung.

Hinweis

Verwenden finer Sie dies nicht, oder finest es sei denn, Der Support von New Relic fordert Sie auf, dies zu tun. Diese Protokollierungsebenen können zu übermäßigem Aufwand führen. Verwenden Sie für die meisten Situationen die Verwendung info.

Achtung

Es wird dringend empfohlen, das von Azure Spring Apps für New Relic bereitgestellte Protokollierungsstandardverhalten nicht außer Kraft zu setzen. In diesem Fall werden die zuvor beschriebenen Protokollierungsszenarien blockiert, und die(n) Protokolldateien gehen möglicherweise verloren. Sie sollten beispielsweise die folgenden Umgebungsvariablen nicht an Ihre Anwendungen übergeben. Protokolldateien können nach einem Neustart oder einer erneuten Bereitstellung von Anwendungen verloren gehen.

  • NEW_RELIC_LOG
  • NEW_RELIC_LOG_FILE_PATH

Update/Upgrade des New Relic-Java-Agents

Das New Relic Java Agent Update/Upgrade des JDK regelmäßig. Das Agent-Update/-Upgrade kann sich auf die folgenden Szenarien auswirken.

  • Vorhandene Anwendungen, die den New Relic Java-Agent vor Dem Update/Upgrade verwenden, sind unverändert.
  • Vorhandene Anwendungen, die den New Relic-Java-Agent vor dem Update/Upgrade verwenden, erfordern einen Neustart oder eine erneute Bereitstellung, um die neue Version des New Relic-Java-Agents zu nutzen.
  • Neue Anwendungen, die nach dem Update/Upgrade erstellt wurden, verwenden die neue Version des New Relic Java-Agents.

Konfiguration des ausgehenden Datenverkehrs der VNET-Injektionsinstanz

Für eine VNET-Injektionsinstanz von Azure Spring Apps müssen Sie sicherstellen, dass der ausgehende Datenverkehr für den New Relic-Java-Agent ordnungsgemäß konfiguriert ist. Weitere Informationen finden Sie unter Netzwerke von New Relic.

Nächste Schritte

Verwendung von Application Insights Java In-Process Agent in Azure Spring Apps