Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Návod
Tento obsah je výňatek z elektronické knihy Architektura cloud-native .NET aplikací pro Azure, která je k dispozici na .NET Docs nebo jako bezplatné PDF ke stažení, které si můžete přečíst offline.
Integrované protokolování v Kubernetes je primitivní. Existuje ale několik skvělých možností pro získání protokolů z Kubernetes a do místa, kde je můžete správně analyzovat. Pokud potřebujete monitorovat clustery AKS, je konfigurace elastického stacku pro Kubernetes skvělým řešením.
Azure Monitor pro kontejnery
Azure Monitor pro kontejnery podporuje využívání logů nejen z Kubernetes, ale také z jiných orchestračních nástrojů, jako jsou DC/OS, Docker Swarm a Red Hat OpenShift.
obrázek 7–10 Využívání protokolů z různých kontejnerů
Prometheus je oblíbené opensourcové řešení pro monitorování metrik. Je součástí Cloud Native Compute Foundation. Používání prometheus obvykle vyžaduje správu serveru Prometheus s vlastním úložištěm. Azure Monitor pro kontejnery ale poskytuje přímou integraci s koncovými body metrik Prometheus, takže samostatný server se nevyžaduje.
Informace o protokolech a metrikách se shromažďují nejen z kontejnerů spuštěných v clusteru, ale také z samotných hostitelů clusteru. Umožňuje korelaci informací protokolu ze dvou, což usnadňuje sledování chyby.
Instalace kolektorů protokolů se liší v clusterech s Windows a Linuxem . V obou případech se ale kolekce protokolů implementuje jako daemonSet Kubernetes, což znamená, že kolektor protokolů se spouští jako kontejner na každém uzlu.
Bez ohledu na to, který orchestrátor nebo operační systém spouští proces démona služby Azure Monitor, se informace protokolu předávají do stejných nástrojů služby Azure Monitor, se kterými jsou uživatelé obeznámeni. Tento přístup zajišťuje paralelní prostředí v prostředích, která kombinují různé zdroje protokolů, jako je hybridní prostředí Kubernetes nebo Azure Functions.
Obrázek 7–11 Ukázkový řídicí panel zobrazující informace o protokolování a metrikách z mnoha spuštěných kontejnerů
Log.Finalize()
Protokolování je jednou z nejvíce přehlédnutelné a přesto nejdůležitější části nasazení jakékoli aplikace ve velkém měřítku. S rostoucí velikostí a složitostí aplikací roste také obtížnost jejich ladění. Dostupnost vysoce kvalitních logů značně usnadňuje ladění a přesouvá ho ze sféry "téměř nemožné" na "příjemný zážitek".