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.
Öppna Azure Portal.
Öppna din befintliga Azure Spring Apps-tjänstinstans.
Välj Åtkomstkontroll (IAM) på den vänstra menyn.
Välj Lägg till i kommandofältet och välj sedan Lägg till rolltilldelning.
Sök efter Azure Spring Apps Connect-roll i listan och välj sedan Nästa.
Välj Välj medlemmar och sök sedan efter ditt användarnamn.
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.
Öppna Azure Portal.
Öppna din befintliga Azure Spring Apps-tjänstinstans.
Välj Appar till vänster på menyn och välj sedan en av dina appar.
Välj Konsol på den vänstra menyn.
Välj en programinstans.
Välj eller ange ett gränssnitt som ska köras i containern.
Välj 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:
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:
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
, jcmd
och 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.
- Grundläggande, standard- och standardförbrukning och dedikerad plan:
- 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
, .