Navigation überspringen

Einfache Anwendungsüberwachung in Azure Spring Cloud mit New Relic One

Veröffentlicht am 1 Juli, 2021

Principal PM Architect, Java on Azure

Heute geben wir die Integration der New Relic One-Leistungsüberwachung in Azure Spring Cloud bekannt.

In den letzten 18 Monaten haben wir mit vielen Unternehmenskunden zusammengearbeitet, um mehr über ihre Geschäftsszenarios zu erfahren. Viele dieser Kunden führen Tausende Spring Boot-Anwendungen in lokalen Rechenzentren aus. Bei der Migration dieser Anwendungen zur Cloud müssen unsere Kunden diese für die Anwendungsleistungsüberwachung instrumentieren und dabei auf Tools setzen können, mit denen ihre Entwickler vertraut sind und jahrelange Erfahrung haben. Darüber hinaus muss die Kontinuität für Desktopanwendungen und mobile Anwendungen sichergestellt werden, die für die End-to-End-Überwachung durch Agents wie New Relic One bereits vorinstrumentiert sind. Dank der Integration von New Relic One in Azure Spring Cloud können Sie Ihre Journey voranbringen und Ihre Spring Boot-Anwendungen unkompliziert instrumentieren.

Die meisten Organisationen, die heutzutage Spring Boot-Anwendungen bereitstellen, verfolgen ein ähnliches Ziel: die Vorteile der Ausführung von Spring Boot-Anwendungen in beliebigem Umfang mithilfe von Automatisierung und Anwendungsleistungsüberwachung bestmöglich zu nutzen. Azure Spring Cloud vereinfacht vor allem die Verwaltung containerisierter Workloads. Die Überwachung und Aufrechterhaltung der Leistung und Integrität dieser Anwendungen sowie der Problembehandlung kann jedoch eine Herausforderung darstellen. Das gilt insbesondere für Organisationen, die diese Anwendungen in großem Umfang bereitstellen. Damit Sie Ihre Journey erfolgreich fortsetzen können, haben wir mit New Relic One neue Features integriert, um Ihre Anwendungen in Azure Spring Cloud-Instanzen zu instrumentieren, zu überwachen und die nötigen Einblicke zu gewinnen. Die schnelle und unkomplizierte Einrichtung der Instrumentierung ist der erste Schritt. Anschließend können Sie die Leistung und Integrität von Anwendungen, Java Virtual Machine-Instanzen (JVM), Transaktionen und mehr analysieren, um Leistungsprobleme zu identifizieren und zu beheben.

Spring Boot-Anwendungen instrumentieren

Sie können mithilfe von Terraform oder einer ARM-Vorlage eine Bereitstellungsautomatisierung ausführen und so eine Instrumentierung und Überwachung neu erstellter und bereitgestellter Anwendungen ohne Benutzereingriff ermöglichen. Wenn Sie mehr Flexibilität und Kontrolle wünschen, ist auch die On-Demand-Ausführung über die Azure CLI möglich.

az spring-cloud app update --name customers-service \
    --jvm-options="-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar" \
    --env NEW_RELIC_APP_NAME=customers-service NEW_RELIC_LICENSE_KEY=<key>

Spring Boot-Anwendungsleistung einsehen

Nach der Instrumentierung können Sie die Leistung Ihrer Spring Boot-Anwendung über das New Relic One-Portal einsehen. Mit der Option „Service Maps“ können Sie Ihre Anwendungen in Aktion sehen. Auf dem folgenden Screenshot sehen Sie alle Anwendungen für das beliebte Petclinic-Projekt:

Screenshot 1: alle Anwendungen für das beliebte Petclinic-Projekt

Abbildung 1: Alle Anwendungen des beliebten Petclinic-Projekts

Sie können die Anwendungsleistung im New Relic One-Portal für jede Anwendung einzeln beobachten. Auf dem folgenden Screenshot werden beispielsweise Transaktionen dargestellt, die von customers-service verarbeitet wurden, sowie der Durchsatz und die Fehlerrate:

Screenshot 2: von customers-service verarbeitete Transaktionen, Durchsatz und Fehlerrate

Abbildung 2: Von customers-service verarbeitete Transaktionen, Durchsatz und Fehlerrate

Auf dem Blatt „JVMs“ im New Relic One-Portal können Sie die zugrunde liegenden Java Virtual Machine-Instanzen näher betrachten. Auf dem folgenden Screenshots wird beispielsweise dargestellt, wie viele Java Virtual Machine-Instanzen für sämtliche Instanzen der Anwendung customers-service vorhanden sind:

Screenshot 3: JVM-Instanzen für die Instanzen der Anwendung customers-service

Abbildung 3: Java Virtual Machine-Instanzen für die Instanzen der Anwendung customers-service

Auf dem Blatt „Databases“ (Datenbanken) im New Relic One-Portal können Sie Anwendungsabhängigkeiten wie Datenbanktransaktionen analysieren. Auf dem folgenden Screenshot werden beispielsweise alle Datenbanktransaktionen für customers-service dargestellt:

Screenshot 4: alle Datenbanktransaktionen für customers-service

Abbildung 4: Alle Datenbanktransaktionen für customers-service

Sie können die Stapelüberwachung für jeden Thread über den Thread Profiler in New Relic One anzeigen und die Ausführungszeit verschiedener Java-Methoden nachvollziehen. So finden Sie heraus, welche Anwendungen die meiste Zeit beanspruchen. Auf dem folgenden Screenshot wird beispielsweise die Stapelüberwachung für einen Thread der Anwendung customers-service dargestellt:

Screenshot 5: Stapelüberwachung für einen Thread der Anwendung customers-service

Abbildung 5: Stapelüberwachung für einen Thread der Anwendung customers-service

Mehrwert für Endbenutzer

Wenn Sie nach der Instrumentierung auf mehrere Spring Boot-Anwendungsinstanzen aufskalieren, werden alle neuen Anwendungsinstanzen automatisch für Sie überwacht. Sie müssen weniger Zeit in die Verwaltung der Agent-Installation und -Wartung investieren und können sich dadurch stärker auf die Ermittlung und Behebung von Incidents konzentrieren. Der Azure Spring Cloud-Dienst aktualisiert den Agent regelmäßig.

Übersicht für Spring Boot-Anwendungsinstanzen

Der Navigator im New Relic One-Portal stellt die Betriebsintegrität Ihrer Anwendungsinstanzen auf einen Blick dar. Diese Bestandsübersicht steht Ihnen automatisch zur Verfügung. Es ist keine Konfiguration erforderlich. Der Navigator ist selbst für eine große Anzahl von Instanzen geeignet, da er diese übersichtlich in Wabenform anzeigt. Die Waben werden je nach konfigurierten Warnungen in Ampelfarben dargestellt. Sie erkennen schnell, für welche Instanzen Warnungen vorliegen und können nicht nur die Grundursache ermitteln, sondern auch die betroffenen abhängigen Systeme.

In der folgenden Navigator-Ansicht werden Ihre Instanzen in Azure Spring Cloud-Instanzen zur Veranschaulichung in gruppierter Form dargestellt. Dadurch können Sie Vorgänge in Bereitstellungen mit mehreren Regionen auf einen Blick vergleichen. Auch die instanzübergreifende Gruppierung und Filterung ist möglich, um Probleme schnell einzugrenzen. Sie können auch eine Übersicht für jede einzelne Instanz aufrufen, um eine Zusammenfassung der Aktivitäten sowie Verstöße, wichtige Metriken und Metadaten wie benutzerdefinierte Attribute anzuzeigen:

Screenshot 6: Gruppierung der Instanzen in Azure Spring Cloud-Instanzen in der Navigator-Ansicht

Abbildung 6: Gruppierung der Instanzen in Azure Spring Cloud-Instanzen in der Navigator-Ansicht

Anomalien in Spring Boot-Anwendungsinstanzen erkennen

Die Lookout-Ansicht von New Relic bietet einen intuitiven Überblick über Instanzen, deren Verhalten vom Normalverhalten abweicht. Farbige Kreise geben dabei den Schweregrad der letzten Signaländerung an. Die Größe der Kreise ist proportional zur Stärke des Metriksignals. Lookout vergleicht automatisch die Signale innerhalb der letzten fünf Minuten mit den Signalen der vorherigen Stunde.

Auf ähnliche Weise kann New Relic One auch für die Überwachung von Java-Anwendungen in Azure-Diensten wie Azure Kubernetes Service und Azure Virtual Machines verwendet werden.

Jetzt Lösungen entwickeln und überwachen

Azure Spring Cloud wird gemeinsam von Microsoft und VMware entwickelt, betrieben und unterstützt. Es handelt sich um einen vollständig verwalteten Dienst für Spring Boot-Anwendungen, der die Verwaltung von Infrastruktur und Spring Cloud-Middleware vereinfacht, sodass Sie sich darauf konzentrieren können, Ihre Geschäftslogik aufzubauen. Azure sorgt für dynamische Skalierung, Patches, Sicherheit, Compliance und Hochverfügbarkeit. Innerhalb weniger Minuten und mit nur wenigen Schritten können Sie Azure Spring Cloud bereitstellen, Anwendungen entwickeln und bereitstellen, Spring Boot-Anwendungen skalieren und mit der Überwachung beginnen. In Zukunft werden weitere Entwickler- und Unternehmensfeatures für Azure Spring Cloud veröffentlicht.

Teilen Sie uns mit, wie Sie Azure Spring Cloud einsetzen, um bedeutende Lösungen zu entwickeln. Nutzen Sie den Schnellstart, um noch heute Spring-Anwendungen in Azure Spring Cloud bereitzustellen.

Ressourcen