Dela via


Strömma Azure Spring Apps-jobbloggar i realtid (förhandsversion)

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 använder Azure CLI för att hämta realtidsloggar med jobb för felsökning. Du kan också använda diagnostikinställningar för att analysera diagnostikdata i Azure Spring Apps. Mer information finns i Analysera loggar och mått med diagnostikinställningar. Mer information om direktuppspelningsloggar finns i Stream Azure Spring Apps-programkonsolloggar i realtid och Strömma hanterade Azure Spring Apps-komponentloggar i realtid.

Förutsättningar

  • Azure CLI med Azure Spring Apps-tillägget version 1.24.0 eller senare. Du kan installera tillägget med hjälp av följande kommando: az extension add --name spring.

Tilldela en Azure-roll

Om du vill strömma jobbloggar måste du ha tilldelats relevanta Azure-roller. I följande tabell visas den roll som krävs och de åtgärder som den här rollen beviljas behörighet för:

Nödvändig roll Operations
Jobbloggläsarroll för Azure Spring Apps Microsoft.AppPlatform/Spring/jobs/executions/logstream/action
Microsoft.AppPlatform/Spring/jobs/executions/listInstances/action

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 Azure Spring Apps-tjänstinstans.

  3. I navigeringsfönstret väljer du Åtkomstkontroll (IAM).

  4. På sidan Åtkomstkontroll (IAM) väljer du Lägg till och sedan Lägg till rolltilldelning.

    Skärmbild av Azure Portal som visar sidan Åtkomstkontroll (IAM) med alternativet Lägg till rolltilldelning markerat.

  5. På sidan Lägg till rolltilldelning i listan Namn söker du efter och väljer målrollen och väljer sedan Nästa.

    Skärmbild av Azure Portal som visar sidan Lägg till rolltilldelning med rollen Azure Spring Apps-jobbloggläsare markerad.

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

  7. Välj Granska + tilldela.

Visa svansloggar

Det här avsnittet innehåller exempel på hur du använder Azure CLI för att skapa tail logs.

Visa tail-loggar för en specifik instans

Varje gång ett jobb utlöses skapas en ny jobbkörning. Beroende på parallellitetsinställningen för ditt jobb körs dessutom flera repliker eller instanser parallellt.

Använd följande kommando för att lista alla instanser i en jobbkörning:

az spring job execution instance list \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --job <job-name> \
    --execution <job-execution-name>

Du kan hämta alla instansnamn för jobbkörningen från utdata.

Om du vill visa tail-loggarna för en specifik instans använder du az spring job logs kommandot med -i/--instance argumentet, som du ser i följande exempel:

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>

Visa tail-loggar för alla instanser i ett kommando

Om du vill visa tail-loggarna för alla instanser använder du --all-instances argumentet, som du ser i följande exempel. Instansnamnet är prefixet för varje loggrad. När det finns flera instanser skrivs loggar ut i batch för varje instans. På så sätt kopplas loggarna för en instans inte samman med loggarna för en annan instans.

az spring job logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <job-name> \
    --execution <job-execution-name> \
    --all-instances

Strömma nya loggar kontinuerligt

Som standard az spring job logs skriver endast ut befintliga loggar som strömmas till konsolen och avslutas sedan. Om du vill strömma nya loggar lägger du till -f/--follow argumentet.

När du använder -f/--follow alternativet för att skugga snabbloggar skickar Azure Spring Apps loggströmningstjänst pulsslagsloggar till klienten varje minut såvida inte jobbet skriver loggar hela tiden. Pulsslagsloggmeddelanden använder följande format: 2023-12-18 09:12:17.745: No log from server.

Strömma loggar för en specifik instans

Använd följande kommandon för att hämta instansnamn och dataströmloggar för en specifik instans:

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

Strömma loggar för alla instanser

Använd följande kommando för att strömma loggar för alla instanser:

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

När du strömmar loggar för flera instanser i en jobbkörning, sammanlänkar loggarna för en instans med andras loggar.

Strömma loggar i en instans av virtuell nätverksinmatning

För en Azure Spring Apps-instans som distribueras i ett anpassat virtuellt nätverk kan du som standard komma åt loggströmning från ett privat nätverk. Mer information finns i Distribuera Azure Spring Apps i ett virtuellt nätverk

Med Azure Spring Apps kan du också komma åt jobbloggar i realtid från ett offentligt nätverk.

Kommentar

När du aktiverar loggströmningsslutpunkten i det offentliga nätverket läggs en offentlig inkommande IP-adress till i det virtuella nätverket. Var försiktig om detta är ett problem för dig.

Använd följande steg för att aktivera en slutpunkt för loggströmning i det offentliga nätverket:

  1. Välj den Azure Spring Apps-tjänstinstans som distribuerats i ditt virtuella nätverk och välj sedan Nätverk i navigeringsfönstret.

  2. Välj fliken Vnet-inmatning .

  3. Växla status för Dataplane-resurser i det offentliga nätverket till Aktivera för att aktivera en logguppspelningsslutpunkt i det offentliga nätverket. Den här processen tar några minuter.

    Skärmbild av Azure Portal som visar sidan Nätverk med fliken Vnet-inmatning markerad och avsnittet Felsökning markerat.

När du har aktiverat loggströmmens offentliga slutpunkt kan du komma åt jobbloggarna från ett offentligt nätverk precis som du skulle ha åtkomst till en normal instans.

Skydda trafik till den offentliga slutpunkten för loggströmning

Loggströmning för jobb använder Azure RBAC för att autentisera anslutningarna till jobben. Därför kan endast användare som har rätt roller komma åt loggarna.

Skydda slutpunkten genom att filtrera nätverkstrafik till din tjänst med en nätverkssäkerhetsgrupp för att säkerställa säkerheten för dina jobb när du exponerar en offentlig slutpunkt för dem. Mer information finns i Självstudie: Filtrera nätverkstrafik med en nätverkssäkerhetsgrupp med hjälp av Azure Portal. En nätverkssäkerhetsgrupp innehåller säkerhetsregler som tillåter eller nekar inkommande nätverkstrafik till, eller utgående nätverkstrafik från, flera typer av Azure-resurser. För varje regel kan du ange källa och mål, port och protokoll.

Kommentar

Om du inte kan komma åt jobbloggar i instansen av den virtuella nätverksinmatningen från Internet när du har aktiverat en offentlig loggströmslutpunkt kontrollerar du nätverkssäkerhetsgruppen för att se om du har tillåtit sådan inkommande trafik.

I följande tabell visas ett exempel på en grundläggande regel som vi rekommenderar. Du kan använda kommandon som nslookup med slutpunkten <service-name>.private.azuremicroservices.io för att hämta mål-IP-adressen för en tjänst.

Prioritet Namn Port Protokoll Källa Mål Action
100 Regelnamn 80 TCP Internet Tjänstens IP-adress Tillåt
110 Regelnamn 443 TCP Internet Tjänstens IP-adress Tillåt

Nästa steg