Co jsou protokoly sítě kontejnerů?

Protokoly sítě kontejnerů v Advanced Container Networking Services pro Azure Kubernetes Service (AKS) poskytují přehled o všech tocích sítě v clusteru. Metriky vám řeknou , co se děje v síti (využití šířky pásma, míra chyb). Protokoly vám říkají , proč: kdo inicioval připojení, jaké protokoly se použily a jestli byl provoz povolený nebo blokovaný.

Tyto protokoly zaznamenávají metadata pro každý tok sítě:

  • Zdrojové a cílové IP adresy, názvy podů a názvy služeb
  • Obory názvů, porty a protokoly
  • Směr provozu a rozhodnutí o zásadách

V tomto kontextu můžete korelovat chování sítě s konkrétními úlohami, řešit potíže s připojením, ověřovat zásady zabezpečení a provádět forenzní analýzu. Protokoly sítě kontejnerů pokrývají provoz vrstvy 3 (IP), vrstvy 4 (TCP/UDP) a provozu vrstvy 7 (HTTP/gRPC/Kafka).

Pokud chcete spravovat objem dat a náklady, protokoly sítě kontejnerů podporují agregaci protokolů toku, která seskupuje podobné toky do souhrnných záznamů místo ukládání jednoho záznamu na událost připojení. Provozní vzory, které potřebujete, udržujete při snižování nákladů na úložiště a příjem dat. Další informace najdete v tématu Agregace protokolu toku.

Protokoly sítě kontejnerů nabízejí dva režimy:

  • Uložené protokoly – průběžná kolekce s vlastními filtry a agregací toku Nejvhodnější pro dlouhodobé monitorování a analýzu.
  • Protokoly na vyžádání – zachytávání v reálném čase prostřednictvím rozhraní příkazového řádku Hubble a uživatelského rozhraní Hubble Nejvhodnější pro řešení potíží ad hoc.

Uložené protokoly použijte, když potřebujete trvalé záznamy pro dodržování předpisů, analýzu trendu nebo automatizované upozorňování. Protokoly na vyžádání používejte, když aktivně ladíte problém s připojením nebo výkonem a potřebujete okamžitý přehled o aktuálním provozu.

Uložené protokoly

Režim uložených protokolů se povolí automaticky, kdykoli je v clusteru povolená služba Advanced Container Networking Services. Funkce je na místě, ale negenerují se žádné protokoly, dokud neudělíte ACNS, co se má zachytit.

Pokud chcete začít shromažďovat logy, definujte vlastní prostředky ContainerNetworkLog, které specifikují, jaký provoz se má monitorovat: podle jmenného prostoru, podu, služby, protokolu nebo verdiktu. Po použití CRD začne agent Cilium generovat toky, které odpovídají jeho filtrům a zapisuje je do každého uzlu. Kolekce zůstane aktivní, dokud neodstraníte CRD nebo nezakážete ACNS.

Vzhledem k tomu, že přesně řídíte, který provoz se protokoluje prostřednictvím filtrů CRD, můžete se zaměřit na toky, které jsou důležité, a vyhnout se shromažďování nepotřebných dat. V kombinaci s agregací protokolů toků tento přístup udržuje náklady na úložiště předvídatelné a zaměřené na analýzu.

Jak funguje režim uložených protokolů

Advanced Container Networking Services využívá technologii eBPF s Cilium k zachycení síťových toků na každém uzlu. Jakmile je služba ACNS povolená a použije se ContainerNetworkLog vlastní prostředek, Cilium agent shromažďuje provoz, který odpovídá filtru, a zapisuje protokoly ve formátu JSON na /var/log/acns/hubble/events.log každého hostitele. Generování záznamů běží zcela uvnitř clusteru a nezávisí na Azure Monitor.

Pro použití v produkčním prostředí doporučujeme povolit doplněk Azure Monitor. Pokud je tato možnost povolená, agenty Container Insights shromažďují místní protokoly hostitele, uplatňují limity omezení a odesílají je do pracovního prostoru Log Analytics, kde získáte dlouhodobé uchovávání, dotazy KQL a vestavěné řídicí panely portálu Azure a Grafana. Jedná se o nejvíce integrovanou cestu a ten, který by měl zvolit nejvíce zákazníků.

Pokud má váš tým existující kanál pozorovatelnosti, můžete místo toho předávat stejné protokoly místního hostitele do libovolného kolektoru nebo služby protokolování kompatibilní s OpenTelemetry – a to společně s Azure Monitor nebo místo ní.

Diagram fungování protokolů sítě kontejnerů

Další informace o omezování a přehledech kontejnerů najdete v dokumentaci ke službě Container Insights.

Použití záznamů o sítích kontejnerů s nebo bez Azure Monitor

Síťové protokoly kontejnerů můžete využívat dvěma způsoby. Správná volba závisí na tom, jestli chcete integrované prostředí nativní pro Azure, nebo už máte kanál pozorovatelnosti, který chcete dál používat.

Cesta Co získáte Kdy ho vybrat
Doplněk Azure Monitor (doporučeno) Container Insights shromažďuje místní protokoly hostitele do pracovního prostoru Log Analytics. Získáte dlouhodobé uchovávání, KQL, integrované řídicí panely portálu Azure a spravované grafy Grafana, a to vše jako součást základní výbavy. Chcete co nejvíce integrované a připravené prostředí pro produkční prostředí v AKS s minimálním nastavením.
Hostování místních souborů s vlastním řetězcem úloh ACNS zapisuje protokoly JSON do /var/log/acns/hubble/events.log na každém uzlu. Předáte je libovolnému kolektoru nebo službě protokolování kompatibilní s OpenTelemetry – vedle Azure Monitor nebo místo ní. Už máte centralizovanou platformu pozorovatelnosti a chcete, aby tam byly ukládány síťové záznamy.

Pro většinu zákazníků doporučujeme povolit Azure Monitor. Je to nejrychlejší způsob, jak získat možnosti uchovávání, analytického dotazování a řídicího panelu bez vytváření vlastního datového toku.

Klíčové funkce režimu uložených protokolů

  • Přizpůsobitelné filtry Definujte ContainerNetworkLog vlastní prostředky pro filtrování podle jmenného prostoru, podu, služby, portu, protokolu, verdiktu nebo směru síťového provozu. Protokoluje se jenom odpovídající provoz, takže máte přesnou kontrolu nad tím, co se shromažďuje a jaké to má náklady.

  • Agregace záznamů toku Podobné toky se automaticky seskupí do souhrnných záznamů každých 30 sekund, sníží objem dat a zachová provozní signály, jako jsou vzorce komunikace služeb, chybové míry a verdikty zabezpečení. Agregace spárovaná s cílovými filtry umožňuje udržovat široký přehled bez nadměrných nákladů na příjem dat. Další informace najdete v tématu Agregace protokolu toku.

  • Možnosti úložiště protokolů ACNS vždy zapisuje protokoly místně na každém uzlu. Tady si můžete vybrat, jak je používat:

    • Místní soubory hostitele (vždy zapnuté): Protokoly jsou uloženy na hostitelských uzlech na adrese /var/log/acns/hubble. Soubory se automaticky rotují při dosažení 50 MB a starší protokoly se přepisují. Tuto možnost použijte přímo pro krátkodobé monitorování, monitorování v reálném čase nebo předávání souborů do libovolného kolektoru nebo služby protokolování kompatibilní s OpenTelemetry pro další správu protokolů.

    • Azure Monitor (doporučeno): Povolte doplněk Azure Monitor shromažďování a ukládání protokolů v pracovním prostoru Log Analytics. Získáte zabezpečené a kompatibilní úložiště s dlouhodobým uchováváním, dotazy KQL, detekcí anomálií, historickou analýzou a upozorňováním prostřednictvím spravované služby pro Prometheus. Generování protokolů stále běží přes Cilium Agent a ContainerNetworkLog CRD; Azure Monitor přidá vrstvu spotřeby na vrchu.

      Tabulka ContainerNetworkLogs ve výchozím nastavení používá úroveň Analytics . Při zachování podobného prostředí pozorovatelnosti můžete přepnout na úroveň Basic a snížit tak náklady na příjem dat a uchovávání informací. Každá úroveň má vyhrazený řídicí panel portálu Azure optimalizovaný pro jeho možnosti dotazů. Další informace o plánech tabulek najdete v tématu Log Analytics plány tabulek. Informace o nastavení plánu tabulky najdete v tématu Nastavení plánu tabulky.

  • Vizualizace na portálu Azure Dotazování a analýza protokolů přímo v Log Analytics nebo použití integrovaných řídicích panelů portálu Azure. Pro každou vrstvu tabulky je k dispozici vyhrazený řídicí panel, takže získáte stejné prostředí pozorovatelnosti bez ohledu na to, kterou úroveň zvolíte. Podrobnosti najdete v protokolech Visualize na portálu Azure.

Vizualizace protokolů na portálu Azure

Protokoly toku můžete vizualizovat, dotazovat a analyzovat na portálu Azure v pracovním prostoru Log Analytics pro váš cluster.

Snímek obrazovky síťových logů kontejneru v pracovním prostoru Log Analytics.

Protokoly sítě kontejnerů zahrnují integrované řídicí panely portálu Azure pro vizualizaci dat toku. Pro každou úroveň tabulky Log Analytics je k dispozici samostatný řídicí panel:

Dashboard Cesta Úroveň tabulky
Protokoly toku – úroveň Basic (ID: 23155) AzureInsightsContainersNetworkingFlow Logs - Basic Tier Basic
Protokoly toku – Úroveň analýzy (ID: 23156) Azure>Insights>Containers>Networking>Flow Logs - Analytics Tier Analýza (výchozí)

Oba řídicí panely ukazují, které úlohy AKS vzájemně komunikují, včetně síťových požadavků, odpovědí, poklesů a chyb. Použijte řídicí panel, který odpovídá úrovni tabulky nakonfigurované pro vaši ContainerNetworkLogs tabulku.

Tip

Ve ContainerNetworkLogs výchozím nastavení se tabulka nastaví na úroveň Analytics. Pokud chcete snížit náklady, můžete přepnout na úroveň Basic a použít odpovídající řídicí panel úrovně Basic bez ztráty pokrytí pozorovatelnosti. Další informace naleznete v části plány tabulek Log Analytics.

Řídicí panely portálu Azure mají následující hlavní komponenty:

  • Přehled stavu sítě V horní části se zobrazují souhrnné metriky (celkové protokoly toku, jedinečné požadavky, ukončené požadavky a předávané požadavky), abyste mohli rychle odhalit anomálie. Statistiky jsou rozdělené podle protokolu: vyřazené požadavky DNS, odpovědi HTTP 2xx, frekvence požadavků vrstvy 4 a počty poklesů. Graf závislostí služeb ukazuje, které služby vzájemně komunikují, což usnadňuje identifikaci kritických bodů a neočekávaných cest provozu.

    Snímek obrazovky se statistikami protokolů toku a grafem závislostí služby

  • Protokoly toku a protokoly chyb Řídicí panel odděluje protokoly toků od protokolů chyb do odlišných zobrazení, takže se můžete soustředit na chyby, aniž byste museli procházet normální provoz. Pomocí předdefinovaných filtrů můžete výsledky zúžit podle protokolu, oboru názvů nebo verdiktu. Například k odstranění potíží se selháním překladu DNS, filtrujte chybové protokoly podle DNS.

    Snímek obrazovky s protokoly toků a protokoly chyb

    Každá položka protokolu obsahuje popisky, časová razítka a podrobnosti o zdroji a cíli, které vám pomůžou určit konkrétní události během vyšetřování.

    Screenshot dostupných filtrů na řídicích panelech Azure portal dashboards.

  • Hlavní obory názvových prostorů, pracovní zátěže a chyby DNS Tato část obsahuje nejaktivnější obory názvů, úlohy s nejvyšším provozem, využití portů a nejčastější chyby DNS. Použijte ji k identifikaci úloh, které generují nejvíce provozu, odhalování ztracených požadavků a porovnání distribuce protokolů (například TCP versus UDP). Neobvyklé vzory, jako jsou neočekávané špičky nebo neznámé cíle, můžou značit chybné konfigurace nebo obavy zabezpečení.

    Snímek obrazovky s nejdůležitějšími obory názvů a metrikami podů.

Agregace protokolu toku

Síťové přenosy rostou rychle. Cluster s 200 mikroslužbami může každých 30 sekund generovat stovky tisíc záznamů toku. Ukládání všech nezpracovaných dat je nákladné.

Například, řekněme, že oba client-1 a client-2 komunikují s pod server přes PROTOKOL TCP. V průběhu 30sekundového okna vypadají nezpracované záznamy toku na uzlu takto:

Zdroj Zdrojový port Destination Cílový port Protokol Flag
client-1 12345 server 80 protokol TCP SYN
server 80 client-1 12345 protokol TCP SYN-ACK
client-1 12345 server 80 protokol TCP signál ACK
client-1 12345 server 80 protokol TCP PSH
server 80 client-1 12345 protokol TCP signál ACK
client-2 23456 server 80 protokol TCP SYN
server 80 client-2 23456 protokol TCP SYN-ACK
client-2 23456 server 80 protokol TCP signál ACK
client-2 23456 server 80 protokol TCP PSH
server 80 client-2 23456 protokol TCP signál ACK

S agregací se z těchto 10 záznamů stanou dva:

Zdroj Zdrojový port Destination Cílový port Protokol Odesílané datové toky Přijaté toky
client-1 12345 server 80 protokol TCP 4 6
client-2 23456 server 80 protokol TCP 4 6

Agregace protokolů o toku to řeší seskupením podobných toků do souhrnných záznamů. Během každého 30sekundového okna se toky, které sdílejí stejná pole agregačního klíče, zkombinují do jednoho záznamu s počtem, kolik toků představuje.

Následující pole tvoří agregační klíč:

Pole Description
verdict PŘEPOSLÁNO, VYŘAZENO, nebo CHYBA
is_reply Jestli je tok požadavek (false) nebo odpověď (true)
drop_reason_desc Důvod vyřazení paketů
source.namespace Obor názvů zdrojového podu
destination.namespace Obor názvů cílového podu
source.workloads Zdrojová úloha (Deployment, StatefulSet nebo DaemonSet)
destination.workloads Cílová úloha (nasazení, stavová sada nebo daemonSet)
source.identity Identita zdroje zabezpečení (vždy dostupná jako záloha)
destination.identity Cílová identita zabezpečení (vždy dostupná jako rezervní možnost)
l4.TCP.destination_port Cílový port TCP
l4.UDP.destination_port Cílový port UDP
l7.http.code Kód odpovědi HTTP (200, 404, 500 atd.)
l7.dns.rcode Kód odpovědi DNS (NOERROR, NXDOMAIN atd.)
IP.ipVersion IPv4 nebo IPv6
IP.encrypted Jestli je tok šifrovaný (WireGuard/IPsec)
source.cluster_name Název zdrojového clusteru
destination.cluster_name Název cílového clusteru

Toky, které odpovídají všem těmto polím v rámci 30sekundového okna, se sloučí do jednoho záznamu. Tím se zachovají potřebné signály (které služby komunikují, jak často, k jakým chybám dochází, jestli byl provoz povolen nebo blokován) při významném snížení objemu dat. Na rozdíl od vzorkování, které náhodně zahodí tok a může zmeškat vzácné bezpečnostní události, agregace uchovává 100% informací o vzorcích.

Klíčové body:

  • Agregace je ve výchozím nastavení povolená a nakonfigurovaná. To snižuje náklady na úložiště protokolů a příjem dat bez ručního ladění.
  • Určujete, které propojení se zaznamenává prostřednictvím includeFilters v rámci ContainerNetworkLog CRD.
  • Užší filtry (konkrétní dvojice oborů názvů nebo služeb) obvykle dosahují lepší komprese, protože zachycené toky jsou podobnější.
  • Agregované protokoly vynechávají atributy s vysokou kardinalitou a atributy pro jednotlivé toky (například jednotlivá časová razítka, IP adresy podů, adresy URL HTTP, názvy dotazů DNS), aby minimalizovaly objem přijímaných dat a náklady na úložiště. Jsou navržené pro detekci problémů vysoké úrovně. Protokoly na vyžádání můžete použít k podrobné analýze a šetření toků.

Poznámka:

Skutečné snížení úložiště se liší v závislosti na konfiguraci filtru, rozmanitosti úloh a vzorech provozu.

Protokoly na vyžádání

Protokoly na vyžádání umožňují zaznamenávat a kontrolovat protokoly toků v reálném čase bez předchozí konfigurace nebo trvalého úložiště. Protokoly na vyžádání používejte, když aktivně řešíte potíže s připojením nebo výkonem a potřebujete okamžitou viditelnost.

ACNS poskytuje dva nástroje pro zachytávání na vyžádání. Pokud chcete nastavit některý z nástrojů, přečtěte si téma Konfigurace režimu protokolů na vyžádání.

Rozhraní příkazového řádku Hubble

Rozhraní příkazového řádku Hubble umožňuje dotazovat, filtrovat a analyzovat protokoly toku přímo z terminálu. Je zvlášť užitečné, když potřebujete jemně nastavitelné filtry, například izolování provozu podle namespace, štítku podu nebo verdiktu během aktivní ladicí relace.

Snímek obrazovky rozhraní příkazového řádku Hubble

Uživatelské rozhraní Hubble

Uživatelské rozhraní Hubble poskytuje grafické zobrazení komunikace mezi službami. Je vhodné, když chcete vizuálně sledovat cesty provozu, identifikovat, které služby komunikují, a odhalit anomálie bez psaní příkazů rozhraní příkazového řádku.

Snímek obrazovky s uživatelským rozhraním Hubble

Klíčové výhody protokolů na vyžádání

  • Nevyžaduje se žádná předchozí konfigurace. Okamžitě začněte zachytávat toky bez definování vlastních prostředků nebo nastavení úložiště.
  • Viditelnost v reálném čase Zkontrolujte živý provoz a prohlédněte si metadata paketů v okamžiku, kdy nastanou problémy.
  • Rychlé řešení potíží Filtrování toků interaktivně prostřednictvím rozhraní příkazového řádku Hubble nebo vizuálního zobrazení map služeb v uživatelském rozhraní Hubble
  • Nízká režie. Nevyžaduje se trvalé úložiště, takže pro ad hoc šetření nejsou žádné průběžné náklady.

Doporučení pro uložené protokoly

  1. Začněte širokými filtry, pak je zúžte. Když poprvé povolíte protokoly toku, použijte široké filtry k zachycení provozu napříč vašimi klíčovými jmennými prostory. Spusťte konfiguraci několik dní a zkontrolujte shromážděná data v Log Analytics. Podívejte se na objem dat, náklady a to, jestli zachycené toky odpovídají tomu, co skutečně potřebujete. Pak zaměřte svoji includeFilters na provoz s vysokou hodnotou a odstraňte šum.

  2. Nejprve použijte předdefinované řídicí panely. Integrované řídicí panely portálu Azure pokrývají běžné případy použití, jako jsou vzorce komunikace služeb, chybové míry a selhání DNS. Začněte tam. Přidejte vlastní panely nebo dotazy Log Analytics jen v případě, že potřebujete promítání, které integrované řídicí panely neposkytují.

  3. Pravidelně kontrolujte. S tím, jak se mění vzorce zatížení a provozu, můžou vaše filtry potřebovat aktualizaci. Pravidelně kontrolujte objem dat a pokrytí toku, abyste měli jistotu, že pořád zachytáváte správný provoz za rozumnou cenu.

Omezení

Požadavky na datovou vrstvu a funkce:

  • Režim uložených záznamů funguje pouze s datovou rovinou Cilium.
  • Protokoly toku vrstvy 7 se zaznamenávají jenom v případech, kdy je povolená podpora zásad vrstvy 7. Další informace najdete v tématu Konfigurace zásad vrstvy 7.
  • Toky a metriky DNS se zaznamenávají pouze v případech, kdy se použije síťová politika plně kvalifikovaného názvu domény (FQDN). Další informace najdete v tématu Konfigurace zásad plně kvalifikovaného názvu domény.

Agregační kompromisy:

  • Agregace tokových protokolů nezachovává jednotlivá časová razítka toků, IP adresy jednotlivých podů ani vysoce kardinalitní pole, jako jsou adresy URL HTTP a názvy dotazů DNS. Protokoly na vyžádání můžete použít k prošetření jednotlivých toků.

Úložiště a platforma:

  • Místní soubor /var/log/acns/hubble/ hostitele je omezen na 50 MB na uzel a automaticky rotuje. Pokud potřebujete dlouhodobé uchovávání, povolte Azure Monitor (doporučeno) nebo soubor předejte vlastní službě protokolování.
  • Plán pomocných protokolových tabulek není podporovaný.

Cenotvorba

Důležité

Pokročilé služby kontejnerové sítě jsou placená nabídka.

Další informace o cenách naleznete v tématu Advanced Container Networking Services – Ceny.