Streamování protokolů úloh Azure Spring Apps v reálném čase (Preview)
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na: ❎ Basic/Standard ✅ Enterprise
Tento článek popisuje, jak pomocí Azure CLI získat protokoly úloh v reálném čase pro řešení potíží. K analýze diagnostických dat v Azure Spring Apps můžete použít také nastavení diagnostiky. Další informace najdete v tématu Analýza protokolů a metrik s nastavením diagnostiky. Další informace o protokolech streamování najdete v tématu Streamování protokolů konzoly aplikace Azure Spring Apps v reálném čase a protokoly spravovaných komponent Stream Azure Spring Apps v reálném čase.
Požadavky
- Azure CLI s rozšířením Azure Spring Apps verze 1.24.0 nebo vyšší. Rozšíření můžete nainstalovat pomocí následujícího příkazu:
az extension add --name spring
.
Přiřazení role Azure
Pokud chcete streamovat protokoly úloh, musíte mít přiřazené příslušné role Azure. Následující tabulka uvádí požadovanou roli a operace, pro které má tato role udělená oprávnění:
Požadovaná role | Operace |
---|---|
Role čtenáře protokolu úloh Azure Spring Apps | Microsoft.AppPlatform/Spring/jobs/executions/logstream/action Microsoft.AppPlatform/Spring/jobs/executions/listInstances/action |
Pomocí následujících kroků přiřaďte roli Azure pomocí webu Azure Portal:
Otevřete Azure Portal.
Otevřete instanci služby Azure Spring Apps.
V navigačním podokně vyberte Řízení přístupu (IAM).
Na stránce Řízení přístupu (IAM) vyberte Přidat a pak vyberte Přidat přiřazení role.
Na stránce Přidat přiřazení role v seznamu Název vyhledejte a vyberte cílovou roli a pak vyberte Další.
Vyberte Členy a pak vyhledejte a vyberte své uživatelské jméno.
Vyberte Zkontrolovat + přiřadit.
Zobrazení protokolů tail
Tato část obsahuje příklady použití Azure CLI k vytváření tail logs.
Zobrazeníprotokolůch
Při každé aktivaci úlohy se vytvoří nové spuštění úlohy. V závislosti na nastavení paralelismu pro vaši úlohu se také paralelně spouští několik replik nebo instancí.
Pomocí následujícího příkazu zobrazte seznam všech instancí při provádění úlohy:
az spring job execution instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--job <job-name> \
--execution <job-execution-name>
Z výstupu můžete získat všechny názvy instancí spuštění úlohy.
Pokud chcete zobrazit koncové protokoly pro konkrétní instanci, použijte az spring job logs
příkaz s argumentem -i/--instance
, jak je znázorněno v následujícím příkladu:
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>
Zobrazení protokolů tail pro všechny instance v jednom příkazu
Pokud chcete zobrazit koncové protokoly pro všechny instance, použijte --all-instances
argument, jak je znázorněno v následujícím příkladu. Název instance je předpona každého řádku protokolu. Pokud existuje více instancí, protokoly se vytisknou v dávce pro každou instanci. Tímto způsobem se protokoly jedné instance neprokládání s protokoly jiné instance.
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--all-instances
Průběžné streamování nových protokolů
Ve výchozím nastavení az spring job logs
vytiskne pouze existující protokoly streamované do konzoly a pak se ukončí. Pokud chcete streamovat nové protokoly, přidejte -f/--follow
argument.
Pokud použijete -f/--follow
možnost pro koncové okamžité protokoly, služba streamování protokolů Azure Spring Apps odesílá do klienta protokoly prezenčních signálů každou minutu, pokud úloha protokoly zapisuje neustále. Zprávy protokolu prezenčních signálů používají následující formát: 2023-12-18 09:12:17.745: No log from server
.
Streamování protokolů pro konkrétní instanci
Pomocí následujících příkazů získáte názvy instancí a protokoly datových proudů pro konkrétní instanci:
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
Streamování protokolů pro všechny instance
Pomocí následujícího příkazu streamujte protokoly pro všechny instance:
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
Když streamujete protokoly pro více instancí při provádění úlohy, protokoly jedné instance prokládání s protokoly ostatních.
Streamování protokolů v instanci injektáže virtuální sítě
Pro instanci Azure Spring Apps nasazenou ve vlastní virtuální síti můžete ve výchozím nastavení přistupovat ke streamování protokolů z privátní sítě. Další informace najdete v tématu Nasazení služby Azure Spring Apps ve virtuální síti.
Azure Spring Apps také umožňuje přístup k protokolům úloh v reálném čase z veřejné sítě.
Poznámka:
Povolení koncového bodu streamování protokolů ve veřejné síti přidá do vaší virtuální sítě veřejnou příchozí IP adresu. Buďte opatrní, pokud se jedná o problém pro vás.
Pomocí následujících kroků povolte koncový bod streamování protokolů ve veřejné síti:
Vyberte instanci služby Azure Spring Apps nasazenou ve vaší virtuální síti a pak v navigačním podokně vyberte Sítě .
Vyberte kartu injektáže virtuální sítě.
Přepněte stav prostředků roviny dat ve veřejné síti , abyste povolili koncový bod streamování protokolů ve veřejné síti. Tento proces trvá několik minut.
Po povolení veřejného koncového bodu streamu protokolu můžete přistupovat k protokolům úloh z veřejné sítě stejně, jako byste přistupovali k normální instanci.
Zabezpečení provozu do veřejného koncového bodu streamování protokolů
Streamování protokolů pro úlohy používá Azure RBAC k ověření připojení k úlohům. V důsledku toho mají přístup k protokolům jenom uživatelé, kteří mají správné role.
Pokud chcete zajistit zabezpečení vašich úloh při zveřejnění veřejného koncového bodu pro ně, zabezpečte koncový bod filtrováním síťového provozu do vaší služby pomocí skupiny zabezpečení sítě. Další informace najdete v tématu Kurz: Filtrování síťového provozu pomocí skupiny zabezpečení sítě pomocí webu Azure Portal. Skupina zabezpečení sítě obsahuje pravidla zabezpečení umožňující povolit nebo odepřít příchozí nebo odchozí síťový provoz několika typů prostředků Azure. Pro každé pravidlo můžete určit zdroj a cíl, port a protokol.
Poznámka:
Pokud nemůžete získat přístup k protokolům úloh v instanci injektáže virtuální sítě z internetu po povolení veřejného koncového bodu streamu protokolu, zkontrolujte skupinu zabezpečení sítě a zjistěte, jestli jste takový příchozí provoz povolili.
Následující tabulka ukazuje příklad základního pravidla, které doporučujeme. K získání cílové IP adresy služby můžete použít příkazy jako nslookup
u koncového bodu <service-name>.private.azuremicroservices.io
.
Priorita | Název | Port | Protokol | Zdroj | Cíl | Akce |
---|---|---|---|---|---|---|
100 | Název pravidla | 80 | TCP | Internet | IP adresa služby | Povolit |
110 | Název pravidla | 443 | TCP | Internet | IP adresa služby | Povolit |