Azure Spring Apps-taaklogboeken in realtime streamen (preview)
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op: ❎ Basic/Standard ✅ Enterprise
In dit artikel wordt beschreven hoe u de Azure CLI gebruikt om realtime logboeken met taken op te halen voor probleemoplossing. U kunt ook diagnostische instellingen gebruiken om diagnostische gegevens te analyseren in Azure Spring Apps. Zie Logboeken en metrische gegevens analyseren met diagnostische instellingen voor meer informatie. Zie Logboeken van de Stream Azure Spring Apps-toepassingsconsole in realtime en logboeken van beheerde onderdelen van Azure Spring Apps in realtime voor meer informatie over streaminglogboeken.
Vereisten
- Azure CLI met de Azure Spring Apps-extensie, versie 1.24.0 of hoger. U kunt de extensie installeren met behulp van de volgende opdracht:
az extension add --name spring
Een Azure-rol toewijzen
Als u logboeken van taken wilt streamen, moet u beschikken over de relevante Azure-rollen die aan u zijn toegewezen. De volgende tabel bevat de vereiste rol en de bewerkingen waarvoor deze rol is gemachtigd:
Vereiste rol | Operations |
---|---|
Rol van azure Spring Apps-taaklogboeklezer | Microsoft.AppPlatform/Spring/jobs/executions/logstream/action Microsoft.AppPlatform/Spring/jobs/executions/listInstances/action |
Gebruik de volgende stappen om een Azure-rol toe te wijzen met behulp van Azure Portal:
Open de Azure Portal.
Open uw Azure Spring Apps-service-exemplaar.
Selecteer Toegangsbeheer (IAM) in het navigatiedeelvenster.
Selecteer Toevoegen op de pagina Toegangsbeheer (IAM) en selecteer vervolgens Roltoewijzing toevoegen.
Zoek op de pagina Roltoewijzing toevoegen in de lijst Naam naar de doelrol en selecteer deze en selecteer vervolgens Volgende.
Selecteer Leden en zoek en selecteer uw gebruikersnaam.
Selecteer Controleren + toewijzen.
Tail-logboeken weergeven
In deze sectie vindt u voorbeelden van het gebruik van de Azure CLI om tail-logboeken te produceren.
Tail-logboeken voor een specifiek exemplaar weergeven
Telkens wanneer een taak wordt geactiveerd, wordt er een nieuwe taakuitvoering gemaakt. Afhankelijk van de instelling voor parallelle uitvoering voor uw taak worden verschillende replica's of exemplaren parallel uitgevoerd.
Gebruik de volgende opdracht om alle exemplaren in een taakuitvoering weer te geven:
az spring job execution instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--job <job-name> \
--execution <job-execution-name>
U kunt alle exemplaarnamen van de taakuitvoering ophalen uit de uitvoer.
Als u de tail-logboeken voor een specifiek exemplaar wilt weergeven, gebruikt u de az spring job logs
opdracht met het -i/--instance
argument, zoals wordt weergegeven in het volgende voorbeeld:
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>
Tail-logboeken weergeven voor alle exemplaren in één opdracht
Als u de tail-logboeken voor alle exemplaren wilt weergeven, gebruikt u het --all-instances
argument, zoals wordt weergegeven in het volgende voorbeeld. De exemplaarnaam is het voorvoegsel van elke logboekregel. Wanneer er meerdere exemplaren zijn, worden logboeken in batch voor elk exemplaar afgedrukt. Op deze manier worden logboeken van één exemplaar niet met elkaar verbonden met de logboeken van een ander exemplaar.
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--all-instances
Nieuwe logboeken continu streamen
az spring job logs
Standaard worden alleen bestaande logboeken afgedrukt die naar de console worden gestreamd en vervolgens afgesloten. Als u nieuwe logboeken wilt streamen, voegt u het -f/--follow
argument toe.
Wanneer u de -f/--follow
optie gebruikt om direct logboeken achter te laten, verzendt de Azure Spring Apps-logboekstreamingservice elke minuut heartbeat-logboeken naar de client, tenzij de taak voortdurend logboeken schrijft. Heartbeat-logboekberichten gebruiken de volgende indeling: 2023-12-18 09:12:17.745: No log from server
.
Logboeken streamen voor een specifiek exemplaar
Gebruik de volgende opdrachten om exemplaarnamen op te halen en logboeken te streamen voor een specifiek exemplaar:
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
Logboeken streamen voor alle exemplaren
Gebruik de volgende opdracht om logboeken voor alle exemplaren te streamen:
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
Wanneer u logboeken streamt voor meerdere exemplaren in een taakuitvoering, worden de logboeken van één exemplaar door elkaar opgeslagen met de logboeken van anderen.
Logboeken streamen in een exemplaar van een virtuele netwerkinjectie
Voor een Azure Spring Apps-exemplaar dat is geïmplementeerd in een aangepast virtueel netwerk, hebt u standaard toegang tot logboekstreaming vanuit een particulier netwerk. Zie Azure Spring Apps implementeren in een virtueel netwerk voor meer informatie
Met Azure Spring Apps hebt u ook toegang tot realtime taaklogboeken vanuit een openbaar netwerk.
Notitie
Als u het eindpunt voor logboekstreaming op het openbare netwerk inschakelt, wordt een openbaar binnenkomend IP-adres aan uw virtuele netwerk toegevoegd. Wees voorzichtig als dit een probleem voor u is.
Gebruik de volgende stappen om een eindpunt voor logboekstreaming in te schakelen op het openbare netwerk:
Selecteer het Azure Spring Apps-service-exemplaar dat is geïmplementeerd in uw virtuele netwerk en selecteer vervolgens Netwerken in het navigatiedeelvenster.
Selecteer het tabblad Vnet-injectie .
Schakel de status van Dataplane-resources op het openbare netwerk in op Inschakelen om een streaming-eindpunt voor logboeken in te schakelen op het openbare netwerk. Dit duurt enkele minuten.
Nadat u het openbare eindpunt voor de logboekstream hebt ingeschakeld, hebt u toegang tot de taaklogboeken vanuit een openbaar netwerk, net zoals u een normaal exemplaar zou openen.
Verkeer naar het openbare eindpunt voor logboekstreaming beveiligen
Logboekstreaming voor taken maakt gebruik van Azure RBAC om de verbindingen met de taken te verifiëren. Als gevolg hiervan hebben alleen gebruikers met de juiste rollen toegang tot de logboeken.
Beveilig het eindpunt door netwerkverkeer naar uw service te filteren met een netwerkbeveiligingsgroep om de beveiliging van uw taken te waarborgen wanneer u een openbaar eindpunt voor hen beschikbaar maakt. Zie Zelfstudie: Netwerkverkeer filteren met een netwerkbeveiligingsgroep met behulp van Azure Portal voor meer informatie. Een netwerkbeveiligingsgroep bevat beveiligingsregels waarmee binnenkomend netwerkverkeer naar, of uitgaand netwerkverkeer van, diverse typen Azure-resources kan worden toegestaan of geweigerd. Voor elke regel kunt u de bron en het doel, de poort en het protocol opgeven.
Notitie
Als u geen toegang hebt tot taaklogboeken in het virtuele netwerkinjectieexemplaren vanaf internet nadat u een openbaar eindpunt voor de logboekstream hebt ingeschakeld, controleert u de netwerkbeveiligingsgroep om te zien of u dergelijk binnenkomend verkeer hebt toegestaan.
In de volgende tabel ziet u een voorbeeld van een basisregel die we aanbevelen. U kunt opdrachten zoals nslookup
met het eindpunt <service-name>.private.azuremicroservices.io
gebruiken om het doel-IP-adres van een service op te halen.
Prioriteit | Name | Poort | Protocol | Bron | Doel | Bewerking |
---|---|---|---|---|---|---|
100 | Naam van de regel | 80 | TCP | Internet | IP-adres van service | Toestaan |
110 | Naam van de regel | 443 | TCP | Internet | IP-adres van service | Toestaan |