Verbinding maken naar een app-exemplaar voor probleemoplossing

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.

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 Verbinding maken Rol krijgen. voor het Verbinding maken van 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.

    Screenshot of the Access Control(IAM) page showing the Add role assignment command.

  5. Zoek in de lijst naar Azure Spring Apps Verbinding maken-rol en selecteer vervolgens Volgende.

    Screenshot of the Add role assignment page showing the Azure Spring Apps Connect Role.

  6. Selecteer Leden selecteren en zoek uw gebruikersnaam.

  7. Selecteer Controleren + toewijzen.

Verbinding maken naar 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.

    Screenshot of the Azure portal Console page showing an app instance.

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

    Screenshot of the Azure portal Console page showing a Custom Shell entry.

  7. Selecteer Verbinding maken.

    Screenshot of the Azure portal Console page showing the Connect command.

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:

Screenshot showing the output of the jps command.

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:

Screenshot showing the output of the jstat command.

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