Sdílet prostřednictvím


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:

  1. Otevřete Azure Portal.

  2. Otevřete instanci služby Azure Spring Apps.

  3. V navigačním podokně vyberte Řízení přístupu (IAM).

  4. Na stránce Řízení přístupu (IAM) vyberte Přidat a pak vyberte Přidat přiřazení role.

    Snímek obrazovky webu Azure Portal se stránkou Řízení přístupu (IAM) se zvýrazněnou možností Přidat přiřazení role

  5. Na stránce Přidat přiřazení role v seznamu Název vyhledejte a vyberte cílovou roli a pak vyberte Další.

    Snímek obrazovky webu Azure Portal se stránkou Přidat přiřazení role se zvýrazněným názvem role Čtenář úloh Azure Spring Apps

  6. Vyberte Členy a pak vyhledejte a vyberte své uživatelské jméno.

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

  1. Vyberte instanci služby Azure Spring Apps nasazenou ve vaší virtuální síti a pak v navigačním podokně vyberte Sítě .

  2. Vyberte kartu injektáže virtuální sítě.

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

    Snímek obrazovky webu Azure Portal zobrazující stránku Sítě s vybranou kartou Injektáž virtuální sítě a zvýrazněnou částí Řešení potíží

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

Další kroky