Delen via


Verbinding maken met een app-exemplaar voor probleemoplossing

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 toegang hebt tot de shell-omgeving in uw toepassingsexemplaren om geavanceerde probleemoplossing uit te voeren.

Hoewel Azure Spring Apps verschillende beheerde methoden voor probleemoplossing biedt, kunt u geavanceerde probleemoplossing uitvoeren met behulp van de shell-omgeving. U kunt bijvoorbeeld de volgende probleemoplossingstaken uitvoeren:

  • Gebruik rechtstreeks JDK-hulpprogramma's (Java Development Kit).
  • Diagnose uitvoeren op basis van de back-endservices van een app voor netwerkverbinding en API-aanroeplatentie voor instanties van zowel virtueel netwerk als niet-virtuele netwerken.
  • Problemen met opslagcapaciteit, prestaties en CPU/geheugen vaststellen.

Vereisten

  • Azure CLI met de Azure Spring Apps-extensie. Gebruik de volgende opdracht om eerdere versies te verwijderen en de nieuwste extensie te installeren. Als u de extensie eerder hebt geïnstalleerd, verwijdert u deze spring-cloud om te voorkomen dat de configuratie en versie niet overeenkomen.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Een geïmplementeerde toepassing in Azure Spring Apps.

  • Als u een aangepaste container hebt geïmplementeerd, is er een shell-programma. De standaardwaarde is /bin/sh.

Een Azure-rol toewijzen

Voordat u verbinding maakt met een app-exemplaar, moet u de rol Azure Spring Apps Connect-rol krijgen. Voor het maken van verbinding met een app-exemplaar is de machtiging Microsoft.AppPlatform/Spring/apps/deployments/connect/actionvoor de gegevensactie vereist.

U kunt een Azure-rol toewijzen met behulp van Azure Portal of Azure CLI.

Gebruik de volgende stappen om een Azure-rol toe te wijzen met behulp van Azure Portal.

  1. Open de Azure Portal.

  2. Open uw bestaande Azure Spring Apps-service-exemplaar.

  3. Selecteer Toegangsbeheer (IAM) in het linkermenu.

  4. Selecteer Toevoegen op de opdrachtbalk en selecteer vervolgens Roltoewijzing toevoegen.

    Schermopname van de pagina Toegangsbeheer (IAM) met de opdracht Roltoewijzing toevoegen.

  5. Zoek de azure Spring Apps Connect-rol in de lijst en selecteer vervolgens Volgende.

    Schermopname van de pagina Roltoewijzing toevoegen met de Azure Spring Apps Connect-rol.

  6. Selecteer Leden selecteren en zoek uw gebruikersnaam.

  7. Selecteer Controleren + toewijzen.

Verbinding maken met een app-exemplaar

U kunt verbinding maken met een app-exemplaar via Azure Portal of Azure CLI.

Gebruik de volgende stappen om verbinding te maken met een app-exemplaar met behulp van Azure Portal.

  1. Open de Azure Portal.

  2. Open uw bestaande Azure Spring Apps-service-exemplaar.

  3. Selecteer Apps in het menu links en selecteer vervolgens een van uw apps.

  4. Selecteer Console in het linkermenu.

  5. Selecteer een toepassingsexemplaren.

    Schermopname van de azure-portalconsolepagina met een app-exemplaar.

  6. Selecteer of voer een shell in die in de container moet worden uitgevoerd.

    Schermopname van de azure-portalconsolepagina met een aangepaste shell-vermelding.

  7. Selecteer Verbinding maken.

    Schermopname van de azure-portalconsolepagina met de opdracht Verbinding maken.

Problemen met uw app-exemplaar oplossen

Nadat u verbinding hebt gemaakt met een app-exemplaar, kunt u de status van het heap-geheugen controleren.

Gebruik de volgende opdracht om de Java-proces-id te vinden. Dit is meestal 1:

jps

De uitvoer moet eruitzien als in het volgende voorbeeld:

Schermopname van de uitvoer van de jps-opdracht.

Gebruik vervolgens de volgende opdracht om het JDK-hulpprogramma uit te voeren om het resultaat te controleren:

jstat -gc 1

De uitvoer moet eruitzien als in het volgende voorbeeld:

Schermopname van de uitvoer van de jstat-opdracht.

De verbinding met uw app-exemplaar verbreken

Wanneer u klaar bent met het oplossen van problemen, gebruikt u de opdracht om de exit verbinding met het app-exemplaar te verbreken of drukt u op Ctrl+d.

Hulpprogramma's voor probleemoplossing

In de volgende lijst worden enkele vooraf geïnstalleerde hulpprogramma's beschreven die u kunt gebruiken voor probleemoplossing:

  • lsof - Lijsten met geopende bestanden.
  • top - Geeft systeemoverzichtsinformatie en huidig gebruik weer.
  • ps - Hiermee haalt u een momentopname van het actieve proces op.
  • netstat - Hiermee worden netwerkverbindingen en interfacestatistieken afgedrukt.
  • nslookup - Voert interactief query's uit op internetnaamservers.
  • ping - Test of een netwerkhost kan worden bereikt.
  • nc - Leest van en schrijft naar netwerkverbindingen met TCP of UDP.
  • wget - Hiermee kunt u bestanden downloaden en werken met REST API's.
  • df - Geeft de hoeveelheid beschikbare schijfruimte weer.

U kunt ook JDK-gebundelde hulpprogramma's zoals jps, jcmden jstat.

De volgende lijst bevat de beschikbare hulpprogramma's, die afhankelijk zijn van uw serviceplan en het type app-implementatie:

  • Implementatie van broncode, JAR en artefacten:
    • Basic, Standard en Standard Consumption & Dedicated Plan:
      • Algemene hulpprogramma's - Ja
      • JDK-hulpprogramma's: ja, alleen voor Java-workloads.
    • Enterprise-abonnement:
      • Algemene hulpprogramma's: is afhankelijk van de besturingssysteemstack die u hebt gekozen in uw opbouwfunctie. Ja, voor volledige besturingssysteemstack. Nee, voor base OS Stack.
      • JDK-hulpprogramma's: ja, alleen voor Java-workloads.
  • Aangepaste installatiekopieën implementeren: is afhankelijk van de geïnstalleerde hulpprogrammaset in uw installatiekopieën.

Notitie

JDK-hulpprogramma's zijn niet opgenomen in het pad voor het implementatietype broncode . Voer export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin" deze uit voordat u JDK-opdrachten uitvoert.

Beperkingen

Het gebruik van de shell-omgeving in uw toepassingsexemplaren heeft de volgende beperkingen:

  • Omdat de app wordt uitgevoerd als een niet-hoofdgebruiker, kunt u bepaalde acties waarvoor hoofdmachtiging is vereist, niet uitvoeren. U kunt bijvoorbeeld geen nieuwe hulpprogramma's installeren met behulp van System Package Manager apt / yum.

  • Omdat sommige Linux-mogelijkheden niet zijn toegestaan, werken hulpprogramma's waarvoor speciale bevoegdheden zijn vereist, zoals tcpdump, niet.

Volgende stappen