Delen via


Leg handmatig heapdump en threaddump vast en gebruik Java Flight Recorder in Azure Spring Apps

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.

Dit artikel is van toepassing op: ✔️ Basic/Standard ✔️ Enterprise

In dit artikel wordt beschreven hoe u handmatig een heapdump of threaddump genereert en hoe u Java Flight Recorder (JFR) start.

Effectieve probleemoplossing is essentieel om ervoor te zorgen dat u problemen in productieomgevingen kunt oplossen en uw bedrijf online kunt houden. Azure Spring Apps biedt streaming van toepassingslogboeken en query's, uitgebreide metrische gegevens die worden verzonden, waarschuwingen, gedistribueerde tracering, enzovoort. Wanneer u echter waarschuwingen ontvangt over aanvragen met hoge latentie, JVM-heaplek of hoog CPU-gebruik, is er geen last-mile-oplossing. Daarom hebben we u ingeschakeld om handmatig een heapdump te genereren, een threaddump te genereren en JFR te starten.

Vereisten

  • Een geïmplementeerd azure Spring Apps-service-exemplaar. Zie Quickstart: Uw eerste toepassing implementeren in Azure Spring Apps om aan de slag te gaan.
  • Er is al minstens één toepassing gemaakt in uw service-exemplaar.
  • Uw eigen permanente opslag, zoals beschreven in Hoe u uw eigen permanente opslag inschakelt in Azure Spring Apps. Deze opslag wordt gebruikt om gegenereerde diagnostische bestanden op te slaan. De paden die u in de onderstaande parameterwaarden opgeeft, moeten zich onder het koppelingspad bevinden van de permanente opslag die is gebonden aan uw app. Als u een pad onder het koppelpad wilt gebruiken, moet u het subpad vooraf maken.

Een heapdump genereren

Gebruik de volgende opdracht om een heapdump van uw app te genereren in Azure Spring Apps.

az spring app deployment generate-heap-dump \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --app <app-name> \
    --deployment <deployment-name> \
    --app-instance <app-instance name> \
    --file-path <your-target-file-path-in-your-persistent-storage-mount-path>

Een threaddump genereren

Gebruik de volgende opdracht om een threaddump van uw app te genereren in Azure Spring Apps.

az spring app deployment generate-thread-dump \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --app <app-name> \
    --deployment <deployment-name> \
    --app-instance <app-instance name> \
    --file-path <your-target-file-path-in-your-persistent-storage-mount-path>

JFR starten

Gebruik de volgende opdracht om JFR te starten voor uw app in Azure Spring Apps.

az spring app deployment start-jfr \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --app <app-name> \
    --deployment <deployment-name> \
    --app-instance <app-instance name> \
    --file-path <your-target-file-path-in-your-persistent-storage-mount-path> \
    --duration <duration-of-JFR>

De standaardwaarde is duration 60 seconden.

Een dump genereren met behulp van Azure Portal

Gebruik de volgende stappen om een heap- of threaddump van uw app te genereren in Azure Spring Apps.

  1. Navigeer in Azure Portal naar uw doel-app en selecteer Vervolgens Probleemoplossing.

    Schermopname van Azure Portal met de pagina Overzicht van de app, met de knop Probleemoplossing gemarkeerd.

  2. Selecteer in het deelvenster Probleemoplossing het app-exemplaar en het type dump dat u wilt verzamelen.

    Schermopname van het deelvenster Probleemoplossing in Azure Portal.

  3. Geef in het veld Bestandspad het koppelpad van uw permanente opslag op.

  4. Selecteer Verzamelen.

Uw diagnostische bestanden ophalen

Navigeer naar het pad naar het doelbestand in uw permanente opslag en zoek uw dump/JFR. Van daaruit kunt u ze downloaden naar uw lokale computer. De naam van het gegenereerde bestand is vergelijkbaar met <app-instance>_heapdump_<time-stamp>.hprof voor de heapdump, <app-instance>_threaddump_<time-stamp>.txt voor de threaddump en <app-instance>_JFR_<time-stamp>.jfr voor het JFR-bestand.

Volgende stappen