Udostępnij za pośrednictwem


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:

  1. Otwórz portal Azure Portal.

  2. Otwórz wystąpienie usługi Azure Spring Apps.

  3. W okienku nawigacji wybierz pozycję Kontrola dostępu (zarządzanie dostępem i tożsamościami).

  4. Na stronie Kontrola dostępu (Zarządzanie dostępem i tożsamościami) wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Kontrola dostępu (zarządzanie dostępem i tożsamościami) z wyróżnioną opcją Dodaj przypisanie roli.

  5. Na stronie Dodawanie przypisania roli na liście Nazwa wyszukaj i wybierz rolę docelową, a następnie wybierz przycisk Dalej.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Dodawanie przypisania roli z wyróżnioną nazwą roli Czytelnik dziennika zadań usługi Azure Spring Apps.

  6. Wybierz pozycję Członkowie , a następnie wyszukaj i wybierz swoją nazwę użytkownika.

  7. 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:

  1. Wybierz wystąpienie usługi Azure Spring Apps wdrożone w sieci wirtualnej, a następnie wybierz pozycję Sieć w okienku nawigacji.

  2. Wybierz kartę Wstrzykiwanie sieci wirtualnej.

  3. 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.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Sieć z wybraną kartą Wstrzykiwanie sieci wirtualnej i wyróżnioną sekcją Rozwiązywanie problemów.

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