Ansluta till en appinstans för felsökning

Kommentar

Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln gäller för: ✔️ Basic/Standard ✔️ Enterprise

Den här artikeln beskriver hur du kommer åt shell-miljön i dina programinstanser för att utföra avancerad felsökning.

Även om Azure Spring Apps erbjuder olika metoder för hanterad felsökning kanske du vill utföra avancerad felsökning med hjälp av shell-miljön. Du kanske till exempel vill utföra följande felsökningsuppgifter:

  • Använd JDK-verktyg (Java Development Kit) direkt.
  • Diagnostisera mot en apps serverdelstjänster för nätverksanslutning och svarstid för API-anrop för både virtuella nätverk och instanser som inte är virtuella nätverk.
  • Diagnostisera problem med lagringskapacitet, prestanda och CPU/minne.

Förutsättningar

  • Azure CLI med Azure Spring Apps-tillägget. Använd följande kommando för att ta bort tidigare versioner och installera det senaste tillägget. Om du tidigare har installerat spring-cloud tillägget avinstallerar du det för att undvika konfigurations- och versionsmatchningar.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Ett distribuerat program i Azure Spring Apps.

  • Om du har distribuerat en anpassad container, ett gränssnittsprogram. Standardvärdet är /bin/sh.

Tilldela en Azure-roll

Innan du ansluter till en appinstans måste du beviljas rollen Azure Spring Apps Connect-roll. För att ansluta till en appinstans krävs dataåtgärdsbehörigheten Microsoft.AppPlatform/Spring/apps/deployments/connect/action.

Du kan tilldela en Azure-roll med hjälp av Azure Portal eller Azure CLI.

Använd följande steg för att tilldela en Azure-roll med hjälp av Azure Portal.

  1. Öppna Azure Portal.

  2. Öppna din befintliga Azure Spring Apps-tjänstinstans.

  3. Välj Åtkomstkontroll (IAM) på den vänstra menyn.

  4. Välj Lägg till i kommandofältet och välj sedan Lägg till rolltilldelning.

    Skärmbild av sidan Åtkomstkontroll (IAM) som visar kommandot Lägg till rolltilldelning.

  5. Sök efter Azure Spring Apps Connect-roll i listan och välj sedan Nästa.

    Skärmbild av sidan Lägg till rolltilldelning som visar Azure Spring Apps Connect-rollen.

  6. Välj Välj medlemmar och sök sedan efter ditt användarnamn.

  7. Välj Granska + tilldela.

Ansluta till en appinstans

Du kan ansluta till en appinstans med hjälp av Azure Portal eller Azure CLI.

Använd följande steg för att ansluta till en appinstans med hjälp av Azure Portal.

  1. Öppna Azure Portal.

  2. Öppna din befintliga Azure Spring Apps-tjänstinstans.

  3. Välj Appar till vänster på menyn och välj sedan en av dina appar.

  4. Välj Konsol på den vänstra menyn.

  5. Välj en programinstans.

    Skärmbild av sidan Azure Portal Console som visar en appinstans.

  6. Välj eller ange ett gränssnitt som ska köras i containern.

    Skärmbild av sidan Azure Portal Console som visar en Custom Shell-post.

  7. Välj Anslut.

    Skärmbild av sidan Azure Portal Konsol som visar kommandot Anslut.

Felsöka din appinstans

När du har anslutit till en appinstans kan du kontrollera statusen för heapminnet.

Använd följande kommando för att hitta Java-process-ID:t, vilket vanligtvis 1är :

jps

Utdata bör se ut som i följande exempel:

Skärmbild som visar utdata från kommandot jps.

Använd sedan följande kommando för att köra JDK-verktyget för att kontrollera resultatet:

jstat -gc 1

Utdata bör se ut som i följande exempel:

Skärmbild som visar utdata från jstat-kommandot.

Koppla från din appinstans

När du är klar med felsökningen exit använder du kommandot för att koppla från appinstansen eller trycker på Ctrl+d.

Verktyg för felsökning

I följande lista beskrivs några av de förinstallerade verktyg som du kan använda för felsökning:

  • lsof - Visar öppna filer.
  • top – Visar systemsammanfattningsinformation och aktuell användning.
  • ps – Hämtar en ögonblicksbild av den pågående processen.
  • netstat – Skriver ut nätverksanslutningar och gränssnittsstatistik.
  • nslookup – Frågar internetnamnservrar interaktivt.
  • ping – Testar om en nätverksvärd kan nås.
  • nc – Läser från och skriver till nätverksanslutningar med TCP eller UDP.
  • wget – Låter dig ladda ned filer och interagera med REST-API:er.
  • df – Visar mängden tillgängligt diskutrymme.

Du kan också använda JDK-paketerade verktyg som jps, jcmdoch jstat.

I följande lista visas de tillgängliga verktygen, som är beroende av din tjänstplan och typ av appdistribution:

  • Distribution av källkod, JAR och artefakter:
    • Grundläggande, standard- och standardförbrukning och dedikerad plan:
      • Vanliga verktyg – Ja
      • JDK-verktyg – Ja, endast för Java-arbetsbelastningar.
    • Företagsplan:
      • Vanliga verktyg – Beror på vilken OS Stack du har valt i din byggare. Ja, för full OS Stack. Nej, för os-basstacken.
      • JDK-verktyg – Ja, endast för Java-arbetsbelastningar.
  • Distribution av anpassad avbildning: Beror på det installerade verktyget som angetts i avbildningen.

Kommentar

JDK-verktyg ingår inte i sökvägen för källkodsdistributionstypen. Kör export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin" innan du kör JDK-kommandon.

Begränsningar

Användning av gränssnittsmiljön i dina programinstanser har följande begränsningar:

  • Eftersom appen körs som en icke-rotanvändare kan du inte utföra vissa åtgärder som kräver rotbehörighet. Du kan till exempel inte installera nya verktyg med hjälp av systempakethanteraren apt / yum.

  • Eftersom vissa Linux-funktioner är förbjudna fungerar inte verktyg som kräver särskilda privilegier, till exempel tcpdump, .

Nästa steg