Sdílet prostřednictvím


Monitorování ve službě Azure Kubernetes Service

Tip

Tento obsah je výňatek z eBooku, Architekting Cloud Native .NET Applications for Azure, který je k dispozici na webu Docs pro .NET nebo jako soubor PDF zdarma ke stažení, který si můžete přečíst offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

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í protokolů nejen z Kubernetes, ale také z jiných orchestračních modulů, jako jsou DC/OS, Docker Swarm a Red Hat OpenShift.

Consuming logs from various containersObrá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í nativního výpočetního základu cloudu. 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.

A sample dashboard showing logging and metric information from a number of running containers.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í je pak obtížné je ladit. Díky dostupným protokolům s nejvyšší kvalitou je ladění mnohem jednodušší a přesune se z sféry "téměř nemožné" na "příjemné prostředí".