Strömma Azure Spring Apps-jobbloggar i realtid (förhandsversion)
Kommentar
Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.
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-portalen:
Öppna Azure Portal.
Öppna din Azure Spring Apps-tjänstinstans.
I navigeringsfönstret väljer du Åtkomstkontroll (IAM).
På sidan Åtkomstkontroll (IAM) väljer du Lägg till och sedan Lägg till rolltilldelning.
På sidan Lägg till rolltilldelning i listan Namn söker du efter och väljer målrollen och väljer sedan Nästa.
Välj Medlemmar och sök sedan efter och välj ditt användarnamn.
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:
Välj den Azure Spring Apps-tjänstinstans som distribuerats i ditt virtuella nätverk och välj sedan Nätverk i navigeringsfönstret.
Välj fliken Vnet-inmatning .
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.
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-portalen. 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 |