Nawiązywanie połączenia z wystąpieniem aplikacji na potrzeby rozwiązywania problemów
Uwaga
Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.
Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise
W tym artykule opisano sposób uzyskiwania dostępu do środowiska powłoki wewnątrz wystąpień aplikacji w celu przeprowadzenia zaawansowanego rozwiązywania problemów.
Mimo że usługa Azure Spring Apps oferuje różne zarządzane metody rozwiązywania problemów, możesz wykonać zaawansowane rozwiązywanie problemów przy użyciu środowiska powłoki. Na przykład możesz wykonać następujące zadania rozwiązywania problemów:
- Bezpośrednio używaj narzędzi zestawu Java Development Kit (JDK).
- Diagnozowanie usług zaplecza aplikacji pod kątem opóźnienia połączeń sieciowych i wywołań interfejsu API zarówno dla wystąpień sieci wirtualnej, jak i nienależących do sieci wirtualnej.
- Diagnozowanie problemów z pojemnością magazynu, wydajnością i pamięcią procesora CPU.
Wymagania wstępne
Interfejs wiersza polecenia platformy Azure z rozszerzeniem Azure Spring Apps. Użyj następującego polecenia, aby usunąć poprzednie wersje i zainstalować najnowsze rozszerzenie. Jeśli wcześniej zainstalowano
spring-cloud
rozszerzenie, odinstaluj je, aby uniknąć niezgodności konfiguracji i wersji.az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Wdrożona aplikacja w usłudze Azure Spring Apps.
Jeśli wdrożono kontener niestandardowy, program powłoki. Wartość domyślna to
/bin/sh
.
Przypisywanie roli platformy Azure
Przed nawiązaniem połączenia z wystąpieniem aplikacji musisz mieć rolę Azure Spring Apps Connect. Nawiązywanie połączenia z wystąpieniem aplikacji wymaga uprawnienia Microsoft.AppPlatform/Spring/apps/deployments/connect/action
akcji danych .
Rolę platformy Azure można przypisać przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Wykonaj poniższe kroki, aby przypisać rolę platformy Azure przy użyciu witryny Azure Portal.
Otwórz portal Azure Portal.
Otwórz istniejące wystąpienie usługi Azure Spring Apps.
Wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) z menu po lewej stronie.
Wybierz pozycję Dodaj na pasku poleceń, a następnie wybierz pozycję Dodaj przypisanie roli.
Wyszukaj rolę Azure Spring Apps Connect na liście, a następnie wybierz pozycję Dalej.
Wybierz pozycję Wybierz członków, a następnie wyszukaj swoją nazwę użytkownika.
Wybierz Przejrzyj + przypisz.
Nawiązywanie połączenia z wystąpieniem aplikacji
Możesz nawiązać połączenie z wystąpieniem aplikacji przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Wykonaj poniższe kroki, aby nawiązać połączenie z wystąpieniem aplikacji przy użyciu witryny Azure Portal.
Otwórz portal Azure Portal.
Otwórz istniejące wystąpienie usługi Azure Spring Apps.
Wybierz pozycję Aplikacje z menu po lewej stronie, a następnie wybierz jedną z Twoich aplikacji.
Wybierz pozycję Konsola z menu po lewej stronie.
Wybierz wystąpienie aplikacji.
Wybierz lub wprowadź powłokę do uruchomienia w kontenerze.
Wybierz pozycję Połącz.
Rozwiązywanie problemów z wystąpieniem aplikacji
Po nawiązaniu połączenia z wystąpieniem aplikacji możesz sprawdzić stan pamięci sterta.
Użyj następującego polecenia, aby znaleźć identyfikator procesu Java, czyli zwykle 1
:
jps
Dane wyjściowe powinny wyglądać podobnie do następującego przykładu:
Następnie użyj następującego polecenia, aby uruchomić narzędzie JDK, aby sprawdzić wynik:
jstat -gc 1
Dane wyjściowe powinny wyglądać podobnie do następującego przykładu:
Odłączanie od wystąpienia aplikacji
Po zakończeniu exit
rozwiązywania problemów użyj polecenia , aby odłączyć się od wystąpienia aplikacji, lub naciśnij Ctrl+d
.
Narzędzia do rozwiązywania problemów
Poniższa lista zawiera opis niektórych wstępnie zainstalowanych narzędzi, których można użyć do rozwiązywania problemów:
lsof
— Wyświetla listę otwartych plików.top
— Wyświetla informacje podsumowania systemu i bieżące wykorzystanie.ps
— Pobiera migawkę uruchomionego procesu.netstat
- Drukuje połączenia sieciowe i statystyki interfejsu.nslookup
— Interakcyjne zapytania dotyczące serwerów nazw internetowych.ping
— Sprawdza, czy można uzyskać dostęp do hosta sieciowego.nc
- Odczytuje i zapisuje w połączeniach sieciowych przy użyciu protokołu TCP lub UDP.wget
— Umożliwia pobieranie plików i interakcję z interfejsami API REST.df
— Wyświetla ilość dostępnego miejsca na dysku.
Możesz również użyć narzędzi dołączonych do zestawu JDK, takich jak jps
, jcmd
i jstat
.
Na poniższej liście przedstawiono dostępne narzędzia, które zależą od planu usługi i typu wdrożenia aplikacji:
- Wdrożenie kodu źródłowego, pliku JAR i artefaktów:
- Plan podstawowy, standardowy i standardowy:
- Typowe narzędzia — Tak
- Narzędzia zestawu JDK — tak, tylko w przypadku obciążeń Java.
- Plan przedsiębiorstwa:
- Plan podstawowy, standardowy i standardowy:
- Wdrożenie obrazu niestandardowego: zależy od zainstalowanego narzędzia ustawionego na obrazie.
Uwaga
Narzędzia JDK nie są uwzględnione w ścieżce dla typu wdrożenia kodu źródłowego. Uruchom polecenie export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin"
przed uruchomieniem dowolnych poleceń zestawu JDK.
Ograniczenia
Korzystanie ze środowiska powłoki w wystąpieniach aplikacji ma następujące ograniczenia:
Ponieważ aplikacja jest uruchomiona jako użytkownik niebędący użytkownikiem głównym, nie można wykonać niektórych akcji wymagających uprawnień głównych. Na przykład nie można zainstalować nowych narzędzi przy użyciu menedżera
apt / yum
pakietów systemowych .Ponieważ niektóre funkcje systemu Linux są zabronione, narzędzia, które wymagają specjalnych uprawnień, takich jak
tcpdump
, nie działają.