Przesyłanie strumieniowe dzienników zadań usługi Azure Spring Apps w czasie rzeczywistym (wersja zapoznawcza)
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 używania interfejsu wiersza polecenia platformy Azure do uzyskiwania dzienników zadań w czasie rzeczywistym na potrzeby rozwiązywania problemów. Możesz również użyć ustawień diagnostycznych do analizowania danych diagnostycznych w usłudze Azure Spring Apps. Aby uzyskać więcej informacji, zobacz Analizowanie dzienników i metryk przy użyciu ustawień diagnostycznych. Aby uzyskać więcej informacji na temat dzienników przesyłania strumieniowego, zobacz Stream Azure Spring Apps application console logs in real time (Dzienniki konsoli aplikacji usługi Azure Spring Apps w czasie rzeczywistym) i Stream Azure Spring Apps managed component logs in real time (Dzienniki składników zarządzanych usługi Azure Spring Apps w czasie rzeczywistym).
Wymagania wstępne
- Interfejs wiersza polecenia platformy Azure z rozszerzeniem Azure Spring Apps w wersji 1.24.0 lub nowszej. Rozszerzenie można zainstalować przy użyciu następującego polecenia:
az extension add --name spring
.
Przypisywanie roli platformy Azure
Aby przesyłać strumieniowo dzienniki zadań, musisz mieć przypisane odpowiednie role platformy Azure. W poniższej tabeli wymieniono wymaganą rolę i operacje, dla których udzielono tej roli uprawnień:
Wymagana rola | Operacje |
---|---|
Rola czytelnika dziennika zadań usługi Azure Spring Apps | Microsoft.AppPlatform/Spring/jobs/executions/logstream/action Microsoft.AppPlatform/Spring/jobs/executions/listInstances/action |
Aby przypisać rolę platformy Azure przy użyciu witryny Azure Portal, wykonaj następujące kroki:
Otwórz portal Azure Portal.
Otwórz wystąpienie usługi Azure Spring Apps.
W okienku nawigacji wybierz pozycję Kontrola dostępu (zarządzanie dostępem i tożsamościami).
Na stronie Kontrola dostępu (Zarządzanie dostępem i tożsamościami) wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.
Na stronie Dodawanie przypisania roli na liście Nazwa wyszukaj i wybierz rolę docelową, a następnie wybierz przycisk Dalej.
Wybierz pozycję Członkowie , a następnie wyszukaj i wybierz swoją nazwę użytkownika.
Wybierz Przejrzyj + przypisz.
Wyświetlanie dzienników końcowych
Ta sekcja zawiera przykłady użycia interfejsu wiersza polecenia platformy Azure do tworzenia dzienników końcowych.
Wyświetlanie dzienników końcowych dla określonego wystąpienia
Za każdym razem, gdy zadanie jest wyzwalane, tworzone jest nowe wykonanie zadania. Ponadto, w zależności od ustawienia równoległości zadania, kilka replik lub wystąpień jest wykonywanych równolegle.
Użyj następującego polecenia, aby wyświetlić listę wszystkich wystąpień w wykonaniu zadania:
az spring job execution instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--job <job-name> \
--execution <job-execution-name>
Wszystkie nazwy wystąpień wykonania zadania można pobrać z danych wyjściowych.
Aby wyświetlić dzienniki ogona dla określonego wystąpienia, użyj az spring job logs
polecenia z argumentem -i/--instance
, jak pokazano w poniższym przykładzie:
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--instance <instance-name>
Wyświetlanie dzienników końcowych dla wszystkich wystąpień w jednym poleceniu
Aby wyświetlić dzienniki końcowe dla wszystkich wystąpień, użyj argumentu --all-instances
, jak pokazano w poniższym przykładzie. Nazwa wystąpienia jest prefiksem każdego wiersza dziennika. W przypadku wielu wystąpień dzienniki są drukowane w partii dla każdego wystąpienia. Dzięki temu dzienniki jednego wystąpienia nie są przeplatane dziennikami innego wystąpienia.
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--all-instances
Ciągłe przesyłanie strumieniowe nowych dzienników
Domyślnie az spring job logs
drukuje tylko istniejące dzienniki przesyłane strumieniowo do konsoli, a następnie kończy działanie. Jeśli chcesz przesyłać strumieniowo nowe dzienniki, dodaj -f/--follow
argument .
Gdy używasz -f/--follow
opcji do tworzenia dzienników błyskawicznych, usługa przesyłania strumieniowego dzienników usługi Azure Spring Apps wysyła dzienniki pulsu do klienta co minutę, chyba że zadanie stale zapisuje dzienniki. Komunikaty dziennika pulsu używają następującego formatu: 2023-12-18 09:12:17.745: No log from server
.
Przesyłanie strumieniowe dzienników dla określonego wystąpienia
Użyj następujących poleceń, aby pobrać nazwy wystąpień i dzienniki strumienia dla określonego wystąpienia:
az spring job execution instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--job <job-name> \
--execution <job-execution-name>
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--instance <instance-name> \
--follow
Przesyłanie strumieniowe dzienników dla wszystkich wystąpień
Użyj następującego polecenia, aby przesłać strumieniowo dzienniki dla wszystkich wystąpień:
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--all-instances \
--follow
Podczas przesyłania strumieniowego dzienników dla wielu wystąpień w wykonaniu zadania dzienniki jednego wystąpienia są przeplatane z dziennikami innych.
Przesyłanie strumieniowe dzienników w wystąpieniu iniekcji sieci wirtualnej
W przypadku wystąpienia usługi Azure Spring Apps wdrożonego w niestandardowej sieci wirtualnej można domyślnie uzyskiwać dostęp do przesyłania strumieniowego dzienników z sieci prywatnej. Aby uzyskać więcej informacji, zobacz Wdrażanie usługi Azure Spring Apps w sieci wirtualnej
Usługa Azure Spring Apps umożliwia również dostęp do dzienników zadań w czasie rzeczywistym z sieci publicznej.
Uwaga
Włączenie punktu końcowego przesyłania strumieniowego dziennika w sieci publicznej powoduje dodanie publicznego przychodzącego adresu IP do sieci wirtualnej. Pamiętaj, aby zachować ostrożność, jeśli jest to dla Ciebie problemem.
Wykonaj następujące kroki, aby włączyć punkt końcowy przesyłania strumieniowego dziennika w sieci publicznej:
Wybierz wystąpienie usługi Azure Spring Apps wdrożone w sieci wirtualnej, a następnie wybierz pozycję Sieć w okienku nawigacji.
Wybierz kartę Wstrzykiwanie sieci wirtualnej.
Przełącz stan zasobów płaszczyzny danych w sieci publicznej, aby włączyć punkt końcowy przesyłania strumieniowego dziennika w sieci publicznej. Ten proces trwa kilka minut.
Po włączeniu publicznego punktu końcowego strumienia dziennika można uzyskać dostęp do dzienników zadań z sieci publicznej, tak jak w przypadku normalnego wystąpienia.
Zabezpieczanie ruchu do publicznego punktu końcowego przesyłania strumieniowego dziennika
Przesyłanie strumieniowe dzienników dla zadań używa kontroli dostępu opartej na rolach platformy Azure do uwierzytelniania połączeń z zadaniami. W związku z tym tylko użytkownicy, którzy mają odpowiednie role, mogą uzyskiwać dostęp do dzienników.
Aby zapewnić bezpieczeństwo zadań podczas uwidaczniania publicznego punktu końcowego dla nich, należy zabezpieczyć punkt końcowy, filtrując ruch sieciowy do usługi za pomocą sieciowej grupy zabezpieczeń. Aby uzyskać więcej informacji, zobacz Samouczek: filtrowanie ruchu sieciowego za pomocą sieciowej grupy zabezpieczeń przy użyciu witryny Azure Portal. Sieciowa grupa zabezpieczeń zawiera reguły zabezpieczeń, które zezwalają na lub blokują przychodzący ruch sieciowy lub wychodzący ruch sieciowy dla kilku typów zasobów platformy Azure. Dla każdej reguły można określić źródło i obiekt docelowy, port i protokół.
Uwaga
Jeśli nie możesz uzyskać dostępu do dzienników zadań w wystąpieniu iniekcji sieci wirtualnej z Internetu po włączeniu publicznego punktu końcowego strumienia dziennika, sprawdź sieciową grupę zabezpieczeń, aby sprawdzić, czy dozwolony jest taki ruch przychodzący.
W poniższej tabeli przedstawiono przykład podstawowej reguły, którą zalecamy. Aby uzyskać docelowy adres IP usługi, możesz użyć poleceń, takich jak nslookup
w przypadku punktu końcowego <service-name>.private.azuremicroservices.io
.
Priorytet | Nazwa | Port | Protokół | Element źródłowy | Element docelowy | Akcja |
---|---|---|---|---|---|---|
100 | Nazwa reguły | 80 | TCP | Internet | Adres IP usługi | Zezwalaj |
110 | Nazwa reguły | 443 | TCP | Internet | Adres IP usługi | Zezwalaj |
Następne kroki
- Rozwiązywanie problemów z bramą VMware Spring Cloud Gateway
- Korzystanie z usługi konfiguracji aplikacji
- Przesyłanie strumieniowe dzienników konsoli aplikacji Usługi Azure Spring Apps w czasie rzeczywistym
- Przesyłanie strumieniowe dzienników składników zarządzanych usługi Azure Spring Apps w czasie rzeczywistym