Ü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
- Ein New Relic-Konto.
- Azure CLI-Version 2.0.67 oder höher
Aktivieren des prozessinternen New Relic-Agents von Java
Verwenden Sie das folgende Verfahren, um auf den Agent zuzugreifen:
Erstellen Sie eine Instanz von Azure Spring Apps.
Erstellen einer Anwendung.
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --is-public true \
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.
Wählen Sie in Ihrer Azure Spring Apps-Instanz im Navigationsbereich "Apps " aus.
Wählen Sie die Anwendung aus der Liste aus, und wählen Sie dann im Navigationsbereich "Konfiguration " aus.
Verwenden Sie die Registerkarte "Allgemeine Einstellungen ", um Werte wie die JVM-Optionen zu aktualisieren.
Wählen Sie Umgebungsvariablen aus, um die von Ihrer Anwendung verwendeten Variablen hinzuzufügen oder zu aktualisieren.
Zeigen Sie die Seite "Anwendungs-API/Gatewayzusammenfassung" aus dem New Relic-Dashboard an.
Zeigen Sie die Seite Zusammenfassung des Kundendiensts der Anwendung im „New Relic“-Dashboard an.
Zeigen Sie die Seite Dienstzuordnung im „New Relic“-Dashboard an.
Zeigen Sie die Seite JVMs der Anwendung im „New Relic“-Dashboard an.
Zeigen Sie das Anwendungsprofil im „New Relic“-Dashboard an.
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