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.
Monitorování Kubernetes ve službě Azure Monitor popisuje služby Azure Monitor používané k zajištění kompletního monitorování prostředí Kubernetes a úloh, které na něm běží. Tento článek obsahuje osvědčené postupy pro využití těchto služeb k monitorování různých vrstev prostředí Kubernetes na základě typických rolí, které je spravují.
Následuje obrázek běžného modelu typického prostředí Kubernetes, počínaje vrstvou infrastruktury až po aplikace. Každá vrstva má odlišné požadavky na monitorování, které řeší různé služby a obvykle jsou spravovány různými rolemi v organizaci.
Odpovědnost za různé vrstvy prostředí Kubernetes a aplikací, které na něm závisí, jsou obvykle řešeny několika rolemi. V závislosti na velikosti vaší organizace můžou tyto role provádět různí lidé nebo dokonce různé týmy. Následující tabulka popisuje různé role, zatímco následující části poskytují scénáře monitorování, se kterými se každý obvykle setká.
| Role | Popis |
|---|---|
| Vývojář | Vyvíjejte a udržujte aplikaci spuštěnou v clusteru. Zodpovídá za konkrétní provoz aplikací, včetně výkonu a selhání aplikace. Udržuje spolehlivost aplikace podle smluv SLA. |
| Inženýr platformy | Zodpovídá za cluster Kubernetes. Zřizuje a udržuje platformu používanou vývojářem. |
| Síťový inženýr | Zodpovídá za provoz mezi úlohami a veškerým příchozím/výstupním přenosem dat v clusteru. Analyzuje síťový provoz a provádí analýzu hrozeb. |
Síťový inženýr
Síťový inženýr zodpovídá za provoz mezi úlohami a veškerým příchozím/výstupním přenosem dat v clusteru. Analyzují síťový provoz a provádějí analýzu hrozeb.
Monitorování úrovně 1 – síť
Následují běžné scénáře monitorování sítě.
- Vytvořte protokoly toku pomocí služby Network Watcher pro záznam informací o IP provozu procházejícím skupinami zabezpečení sítě, které používá váš cluster, a poté použijte analýzu provozu k analýze a poskytování přehledů o těchto datech. Pro analýzu provozu, kterou používáte pro protokoly kontejnerů a protokoly řídicí roviny, použijte stejný pracovní prostor služby Log Analytics.
- Pomocí analýzy provozu určete, jestli nějaký provoz proudí do nebo z neočekávaných portů používaných clusterem, a také jestli nějaký provoz prochází přes veřejné IP adresy, které by neměly být vystavené. Tyto informace slouží k určení, jestli vaše pravidla sítě potřebují úpravy.
- V případě clusterů AKS můžete pomocí doplňku Network Observability pro AKS (Preview) monitorovat a sledovat přístup mezi službami v clusteru a východo-západní síťový provoz.
Inženýr platformy
Technik platformy, označovaný také jako správce clusteru, zodpovídá za samotný cluster Kubernetes. Zřizují a spravují platformu používanou vývojáři. Potřebují porozumět stavu clusteru a jeho komponent a umět řešit případné zjištěné problémy. Musí také porozumět nákladům na provoz clusteru a potenciálně umožnit přidělení nákladů různým týmům.
Velké organizace můžou mít také architekta vozového parku, který se podobá technikům platformy, ale zodpovídá za několik clusterů. Potřebují mít přehled o celém prostředí a musí provádět úlohy správy ve velkém měřítku. Doporučení pro škálování jsou zahrnutá v následujících doprovodných materiálech. Přečtěte si téma Co je Azure Kubernetes Fleet Manager? pro podrobnosti o vytvoření prostředku flotily pro scénáře zahrnující více clusterů a scénáře ve velkém měřítku.
Konfigurace monitorování pro inženýra platformy
Následující části identifikují kroky pro monitorování prostředí Kubernetes pomocí služeb Azure na úrovních kontejnerů. Funkce a možnosti integrace jsou k dispozici pro každou z nich, které vám pomůžou určit, kde může být potřeba tuto konfiguraci upravit tak, aby splňovala vaše konkrétní požadavky. Onboardování spravovaného Promethea a protokolování kontejnerů mohou být součástí stejné zkušenosti, jak je popsáno v tématu Povolení monitorování pro clustery Kubernetes. Následující části popisují každou část samostatně, abyste mohli zvážit všechny vaše možnosti onboardingu a konfigurace pro každou z nich.
Povolení scrapování metrik Prometheus
Důležité
Pokud chcete používat spravovanou službu Azure Monitor pro Prometheus, musíte mít pracovní prostor Azure Monitor. Informace o aspektech návrhu konfigurace pracovního prostoru najdete v tématu Architektura pracovního prostoru služby Azure Monitor.
Povolte snímání metrik Prometheus pomocí spravované služby Azure Monitor pro Prometheus z vašeho clusteru buď při jeho vytvoření, nebo přidejte tuto funkci do již existujícího clusteru. Pro podrobnosti viz Povolení metrik Prometheus.
Pokud už máte prostředí Prometheus, které chcete použít pro clustery AKS, povolte spravovanou službu Azure Monitor pro Prometheus a pak pomocí vzdáleného zápisu odešlete data do stávajícího prostředí Prometheus. K odesílání dat z existujícího prostředí Prometheus spravovaného prometheus do spravované služby Azure Monitor pro Prometheus můžete použít také vzdálené zápis.
Podrobnosti o metrikách shromažďovaných ve výchozím nastavení a četnosti shromažďování najdete v tématu Výchozí konfigurace metrik Prometheus ve službě Azure Monitor . Pokud chcete přizpůsobit konfiguraci, přečtěte si téma Přizpůsobení výstřižků metrik Prometheus ve spravované službě Azure Monitor pro Prometheus.
Povolte Grafanu pro analýzu dat z Prometheu
Poznámka:
Řídicí panely služby Azure Monitor s Grafana jsou aktuálně ve verzi Public Preview a můžou nahradit spravované grafany. Tato verze Grafany nemá žádné náklady, nevyžaduje žádnou konfiguraci a zobrazuje řídicí panely na webu Azure Portal. Managed Grafana použijte, pokud chcete vytvořit řídicí panely, které kombinují data z více zdrojů dat, nebo pokud chcete integrovat s existujícím prostředím Grafana.
Vytvořte instanci spravované grafany a propojte ji s pracovním prostorem služby Azure Monitor, abyste mohli data Prometheus používat jako zdroj dat. Tuto konfiguraci můžete také provést ručně pomocí přidání spravované služby Azure Monitor pro Prometheus jako zdroje dat. Pro monitorování clusterů Kubernetes je k dispozici celá řada předem připravených řídicích panelů, včetně několika, které prezentují podobné informace jako zobrazení Přehledy kontejnerů.
Pokud máte existující prostředí Grafana, můžete ho dál používat a jako zdroj dat přidat spravovanou službu Azure Monitoru pro Prometheus. Do Grafany můžete také přidat zdroj dat služby Azure Monitor, abyste mohli používat data shromážděná službou Container Insights na vlastních řídicích panelech Grafana. Tuto konfiguraci proveďte, pokud se chcete zaměřit na řídicí panely Grafana místo použití zobrazení a sestav Přehledy kontejnerů.
Povolení shromažďování protokolů kontejneru
Důležité
Pokud chcete používat spravovanou službu Azure Monitor pro Prometheus, musíte mít pracovní prostor služby Log Analytics. Informace o aspektech návrhu konfigurace pracovního prostoru najdete v tématu Architektura pracovního prostoru služby Azure Monitor.
Když povolíte shromažďování protokolů kontejneru pro cluster Kubernetes, Azure Monitor nasadí kontejnerizovanou verzi agenta Azure Monitoru, který odesílá protokoly stdout/stderr a infrastruktury do pracovního prostoru služby Log Analytics ve službě Azure Monitor, kde je možné je analyzovat pomocí dotazovacího jazyka Kusto (KQL).
Viz Povolení monitorování pro clustery AKS pro informace o požadavcích a možnostech konfigurace pro nasazení vašich Kubernetes clusterů. Připojte se pomocí Azure Policy, abyste zajistili, že všechny clustery zachovávají konzistentní konfiguraci.
Jakmile je protokolování kontejneru pro cluster povolené, proveďte následující akce pro optimalizaci instalace.
- Pokud k občasnému řešení potíží používáte jenom protokoly, zvažte konfiguraci této tabulky jako základních protokolů.
- Prostřednictvím předvoleb nákladů popsaných v Nastavení optimalizace nákladů v Container insights můžete snížit náklady na příjem dat v Container insights tím, že snížíte množství shromažďovaných dat. Zakažte shromažďování metrik tak, že nakonfigurujete Přehledy kontejnerů tak, aby shromažďovat pouze protokoly a události , protože mnoho stejných hodnot metrik jako Prometheus.
Pokud máte existující řešení pro shromažďování protokolů, postupujte podle pokynů pro tento nástroj nebo povolte shromažďování protokolů ve službě Azure Monitor a pomocí funkce exportu dat pracovního prostoru služby Log Analytics odešlete data do služby Azure Event Hubs a přeposílejte je do alternativních systémů.
Shromažďování protokolů řídicí roviny pro clustery AKS
Protokoly pro komponenty řídicí roviny AKS se implementují v Azure jako protokoly prostředků. Vytvořte diagnostické nastavení pro každý cluster AKS, aby se protokoly prostředků odesílaly do pracovního prostoru služby Log Analytics. Azure Policy použijte k zajištění konzistentní konfigurace napříč několika clustery.
Existují náklady na odesílání protokolů prostředků do pracovního prostoru, takže byste měli shromažďovat pouze kategorie protokolů, které chcete použít. Popis kategorií dostupných pro AKS najdete v protokolech prostředků. Začněte tím, že shromáždíte minimální počet kategorií a pak upravíte nastavení diagnostiky tak, aby se shromažďují další kategorie podle vašich potřeb a abyste porozuměli souvisejícím nákladům. Pokud potřebujete zachovat informace z důvodů dodržování předpisů, můžete do účtu úložiště Azure posílat protokoly, abyste snížili náklady. Podrobnosti o nákladech na příjem a uchovávání dat protokolů najdete v podrobnostech o cenách protokolů služby Azure Monitor.
Pokud si nejste jistí, které protokoly prostředků byste měli nejdříve povolit, použijte následující doporučení, odvíjející se od nejběžnějších požadavků zákazníků. Pokud potřebujete, můžete později povolit další kategorie.
| Kategorie | Zapnout? | Cíl |
|---|---|---|
| kube-apiserver | Povolit | pracovní prostor služby Log Analytics |
| kube-audit | Povolit | Azure Storage. Tím se náklady zachovají na minimum, ale protokoly auditu se zachovají, pokud je vyžaduje auditor. |
| kube-audit-admin | Povolit | pracovní prostor služby Log Analytics |
| kube-controller-manager | Povolit | pracovní prostor služby Log Analytics |
| kube-scheduler | Zakázat | |
| automatické škálování clusteru | Povolení, pokud je povolené automatické škálování | pracovní prostor služby Log Analytics |
| stráž | Povolit, pokud je povolené ID Microsoft Entra | pracovní prostor služby Log Analytics |
| Všechny metriky | Zakázat, protože se metriky shromažďují ve spravovaném Prometheus | pracovní prostor služby Log Analytics |
Pokud máte existující řešení pro shromažďování protokolů, postupujte podle pokynů pro tento nástroj nebo povolte shromažďování protokolů ve službě Azure Monitor a pomocí funkce exportu dat pracovního prostoru služby Log Analytics odešlete data do centra událostí Azure a přeposílejte je do alternativního systému.
Shromažďování protokolu aktivit pro clustery AKS
Změny konfigurace clusterů AKS se ukládají do protokolu aktivit. Vytvořte nastavení diagnostiky pro odeslání těchto dat do pracovního prostoru služby Log Analytics, abyste je mohli analyzovat s jinými daty monitorování. Za tuto kolekci dat nejsou žádné náklady a data můžete analyzovat nebo upozorňovat pomocí Log Analytics.
Monitorování úrovně 2 – komponenty na úrovni clusteru
Úroveň clusteru zahrnuje následující komponenty:
| Komponenta | Požadavky na monitorování |
|---|---|
| Node | Seznamte se se stavem připravenosti a výkonem procesoru, paměti, disku a IP adres pro každý uzel a proaktivně monitorujte trendy využití před nasazením všech úloh. |
Následují běžné scénáře monitorování komponent na úrovni clusteru.
Azure Portal
- Pomocí sjednoceného řídicího panelu monitorování na webu Azure Portal můžete zobrazit výkon uzlů v clusteru, včetně využití procesoru a paměti.
- Použijte pohled na uzly k zobrazení stavu každého uzlu a stavu a výkonu podů spuštěných na nich. Další informace o analýze stavu a výkonu uzlů najdete v tématu Analýza výkonu clusteru Kubernetes na webu Azure Portal.
- V části Sestavy můžete pomocí sešitů Monitorování uzlů analyzovat kapacitu disku, diskové IO a využití GPU. Další informace o těchto sešitech najdete v tématu Sešity monitorování uzlů.
- V části Monitorování vyberte Sešity a potom Využití IP podsítě, abyste zobrazili přidělení a přiřazení IP adres na každém uzlu pro vybraný časový rozsah.
Řídicí panely Grafana
- Pomocí předem vytvořeného řídicího panelu ve spravované Grafaně pro Kubelet můžete zobrazit stav a výkon každého.
- Pomocí řídicích panelů Grafana s hodnotami metrik Prometheus souvisejícími s disky, jako je například
node_disk_io_time_seconds_totalawindows_logical_disk_free_bytesmonitorování připojeného úložiště. - K dispozici je několik řídicích panelů Kubernetes, které vizualizují výkon a stav uzlů na základě dat uložených v systému Prometheus.
Analýza záznamů
- V dialogovém okně vašeho pracovního prostoru služby Log Analytics vyberte kategorii Kontejnery, abyste získali přístup k předem připraveným dotazům na logy vašeho clusteru, včetně dotazu na log inventáře imagí, který načítá data z tabulky ContainerImageInventory naplněné službou Container Insights.
Řešení potíží
- V případě scénářů řešení potíží možná budete muset přistupovat k uzlům přímo kvůli údržbě nebo okamžitému shromažďování protokolů. Z bezpečnostních důvodů nejsou uzly AKS přístupné z internetu, ale pomocí
kubectl debugpříkazu SSH se připojte k uzlům AKS. Další informace o tomto procesu najdete v tématu Připojení pomocí SSH k uzlům clusteru Azure Kubernetes Service (AKS) pro účely údržby nebo řešení potíží.
Analýza nákladů
- Nakonfigurujte OpenCost, což je otevřený, od dodavatele nezávislý sandboxový projekt CNCF pro porozumění nákladům na Kubernetes, aby lépe podporoval vaši analýzu nákladů na cluster. Exportuje podrobná data nákladů do úložiště Azure.
- Data z OpenCost můžete použít k rozpisu relativního využití clusteru různými týmy ve vaší organizaci, abyste mohli přidělit náklady mezi jednotlivými týmy.
- Pomocí dat z OpenCost se ujistěte, že cluster využívá plnou kapacitu svých uzlů efektivním rozmístěním úloh, a to použitím méně velkých uzlů namísto mnoha menších uzlů.
Monitorování úrovně 3 – Spravované komponenty Kubernetes
Spravovaná úroveň Kubernetes zahrnuje následující komponenty:
| Komponenta | Sledování |
|---|---|
| API Server | Monitorujte stav serveru rozhraní API a identifikujte případné zvýšení zatížení požadavků a kritických bodů v případě výpadku služby. |
| Kubelet | Monitorujte Kubelet, abyste pomohli řešit problémy se správou podů, jako je nespouštění podů, nepřipravené uzly nebo ukončování podů. |
Následují běžné scénáře monitorování spravovaných komponent Kubernetes.
Azure Portal
- Pomocí Průzkumníka metrik zobrazte čítač Příchozí požadavky pro cluster.
- Pomocí sešitu Kubelet můžete zobrazit stav a výkon jednotlivých kubeletů.
Grafana
- Pomocí předem vytvořeného řídicího panelu v Managed Grafana pro Kubelet můžete zobrazit stav a výkon jednotlivých kubeletů.
- K úplnému zobrazení výkonu serveru API použijte řídicí panel, jako je například server rozhraní API Kubernetes. To zahrnuje například hodnoty latence požadavků a dobu zpracování pracovní fronty.
Analýza záznamů
Pomocí dotazů protokolu s protokoly prostředků můžete analyzovat protokoly řídicí roviny, které generují součásti AKS.
Všechny aktivity konfigurace pro AKS se protokolují v protokolu aktivit. Když protokol aktivit odešlete do pracovního prostoru služby Log Analytics, můžete ho analyzovat pomocí Log Analytics. Například následující ukázkový dotaz se dá použít k vrácení záznamů, které identifikují úspěšný upgrade napříč všemi clustery AKS.
AzureActivity | where CategoryValue == "Administrative" | where OperationNameValue == "MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/WRITE" | extend properties=parse_json(Properties_d) | where properties.message == "Upgrade Succeeded" | order by TimeGenerated desc
Řešení potíží
- V případě scénářů řešení potíží můžete přistupovat k protokolům kubeletu pomocí procesu popsaného v tématu Získání protokolů kubeletu z uzlů clusteru Azure Kubernetes Service (AKS).
Monitorování úrovně 4 – objekty a úlohy Kubernetes
Úroveň objektů a úloh Kubernetes zahrnuje následující komponenty:
| Komponenta | Požadavky na monitorování |
|---|---|
| Nasazení | Monitorujte skutečný stav vs. požadovaný stav nasazení a stav a využití prostředků podů spuštěných na nich. |
| Pody | Monitorujte stav a využití prostředků, včetně procesoru a paměti, podů spuštěných v clusteru AKS. |
| Containers | Monitorujte využití prostředků, včetně procesoru a paměti, kontejnerů spuštěných v clusteru AKS. |
Následují běžné scénáře monitorování objektů a úloh Kubernetes.
Azure Portal
- Pomocí zobrazení Uzly a Kontrolery můžete zobrazit stav a výkon podů spuštěných na nich a podrobně analyzovat stav a výkon jejich kontejnerů.
- Zobrazení Kontejnery slouží k zobrazení stavu a výkonu kontejnerů. Další informace o analýze stavu a výkonu kontejneru najdete v tématu Analýza dat clusteru Kubernetes pomocí služby Container Insights.
- Zobrazte metriky nasazení pomocí sešitu Deployments. Další informace najdete v tématu Metriky nasazení a HPA pomocí Container Insights.
Řídicí panely Grafana
- Pomocí předem připravených řídicích panelů ve spravovaném nástroji Grafana pro uzly a pody můžete zobrazit jejich stav a výkon.
- K dispozici je několik řídicích panelů Kubernetes, které vizualizují výkon a stav uzlů na základě dat uložených v systému Prometheus.
Živá data
- Ve scénářích řešení potíží poskytuje Container Insights přístup k živým protokolům kontejnerů AKS (stdout nebo stderror), událostem a metrikám podů. Další informace o této funkci najdete v tématu Zobrazení protokolů, událostí a metrik podů Kubernetes v reálném čase.
Upozornění pro inženýra platformy
Výstrahy ve službě Azure Monitor proaktivně upozorňují na zajímavá data a vzory v datech monitorování. Umožňují vám identifikovat a řešit problémy ve vašem systému předtím, než si jich zákazníci všimnou. Pokud máte existující řešení ITSM pro upozorňování, můžete ho integrovat se službou Azure Monitor. Data pracovního prostoru můžete také exportovat a odesílat data z pracovního prostoru služby Log Analytics do jiného umístění, které podporuje vaše aktuální řešení upozornění.
Typy výstrah
Následující tabulka popisuje různé typy vlastních pravidel upozornění, která můžete vytvořit na základě dat shromážděných službami popsanými výše.
| Typ upozornění | Popis |
|---|---|
| Upozornění Prometheus | Prometheusové výstrahy jsou napsané v dotazovacím jazyku Prometheus (Prom QL) a používají se pro metriky Prometheus uložené ve spravovaných službách Azure Monitoru pro Prometheus. Doporučená upozornění už obsahují nejběžnější výstrahy Prometheus a podle potřeby můžete vytvořit další pravidla upozornění. |
| Pravidla upozornění na metriky | Pravidla upozornění na metriky používají stejné hodnoty metrik jako průzkumník metrik. Ve skutečnosti můžete vytvořit pravidlo upozornění přímo z Průzkumníka metrik s daty, která právě analyzujete. Pravidla upozornění na metriky můžou být užitečná pro upozorňování na výkon AKS pomocí libovolné hodnoty v referenčních metrikách dat AKS. |
| Pravidla upozornění prohledávání logů | Pomocí pravidel pro upozornění z vyhledávání v protokolu vygenerujte upozornění z výsledků dotazu protokolu. Další informace najdete v tématu Vytváření upozornění prohledávání protokolů ze služby Container Insights a jak dotazovat protokoly z Container Insights. |
Doporučená upozornění
Začněte sadou doporučených upozornění Prometheus z pravidel upozornění na metriky v Container Insights (Preview), která zahrnují nejběžnější podmínky upozorňování pro cluster Kubernetes. Další pravidla upozornění můžete přidat později při identifikaci dalších podmínek upozorňování.
Developer
Vývojář kromě vývoje aplikace udržuje aplikaci spuštěnou v clusteru. Zodpovídají za provoz specifický pro aplikace, včetně výkonu aplikací a selhání a zachování spolehlivosti aplikace podle smluv SLA definovaných společností.
Monitorování úrovně 5 – aplikace
Implementujte distro Azure Monitor OpenTelemetry pro zajištění prostředí Application Insights a nakonfigurujte vzorkování pro řízení nákladů.
Zkušenosti s Application Insights
- Podívejte se na řídicí panel přehledu a podívejte se na přehled o stavu a výkonu aplikace.
- Zobrazte živé metriky pro přehled o aktivitě a výkonu aplikací v reálném čase.
- Prozkoumejte selhání, výkon a transakce za účelem diagnostiky stavu a efektivity aplikace.
- Mapa aplikace slouží k vizuálnímu přehledu architektury aplikací a interakcí komponent.
- Vytvořte standardní testy pro monitorování dostupnosti aplikací.
Protokoly aplikací
- Container Insights odesílá protokoly stdout/stderr do pracovního prostoru služby Log Analytics. V protokolech prostředků najdete popis různých protokolů a ve službách Kubernetes najdete seznam tabulek, do nichž se jednotlivé protokoly odesílají.
Síť služeb
- V případě clusterů AKS nasaďte doplněk službové sítě na bázi Istio, který poskytuje pozorovatelnost pro architekturu mikroslužeb. Istio je otevřená síť služeb, která se transparentně vrství na stávající distribuované aplikace. Doplněk pomáhá při nasazení a správě Istio pro AKS.
Viz také
- Informace o povolení spravovaného systému Prometheus a shromažďování protokolů v clusteru najdete v tématu Povolení monitorování pro clustery Kubernetes .