Vad är Advanced Network Observability?
Advanced Network Observability är en debutfunktion i Advanced Container Networking Services-paketet . Den ger dig övervaknings- och diagnostikverktyg på nästa nivå, vilket ger oöverträffad insyn i dina containerbaserade arbetsbelastningar. Med de här verktygen kan du enkelt hitta och felsöka nätverksproblem, vilket säkerställer optimala prestanda för dina program.
Advanced Network Observability är kompatibelt med alla Linux-arbetsbelastningar som sömlöst integreras med Hubble oavsett om det underliggande dataplanet är Cilium eller icke-Cilium (båda stöds) vilket ger flexibilitet för dina containernätverksbehov.
Kommentar
För scenarier med Cilium-dataplan är Advanced Network Observability tillgängligt från och med Kubernetes version 1.29. För scenarier som inte är Cilium-dataplan stöds Advanced Network Observability på alla Linux-distributioner, inklusive Azure Linux från och med version 2.0.
Funktioner i Advanced Network Observability
Advanced Network Observability erbjuder följande funktioner för att övervaka nätverksrelaterade problem i klustret:
Mått på nodnivå: Att förstå hälsotillståndet för ditt containernätverk på nodnivå är avgörande för att upprätthålla optimala programprestanda. Dessa mått ger insikter om trafikvolym, borttagna paket, antal anslutningar osv. per nod. Måtten lagras i Prometheus-format och därför kan du visa dem i Grafana.
Hubble-mått (DNS- och poddnivåmått): Dessa Prometheus-mått innehåller information om käll- och målpodden så att du kan hitta nätverksrelaterade problem på detaljerad nivå. Mått omfattar trafikvolym, borttagna paket, TCP-återställningar, L4/L7-paketflöden osv. Det finns även DNS-mått (för närvarande endast för icke-Cilium-dataplan) som täcker DNS-fel och DNS-begäranden som saknar svar.
Flow-loggar för Hubble: Flödesloggar ger djup insyn i klustrets nätverksaktivitet. All kommunikation till och från poddar loggas så att du kan undersöka anslutningsproblem över tid. Flödesloggar hjälper till att besvara frågor som: tog servern emot klientens begäran? Vad är svarstidsfördröjningen mellan klientens begäran och serverns svar?
Hubble CLI: Kommandoradsgränssnittet för Hubble (CLI) kan hämta flödesloggar i hela klustret med anpassningsbar filtrering och formatering.
Användargränssnittet för Hubble: Hubble-användargränssnittet är ett användarvänligt webbläsarbaserat gränssnitt för att utforska klusternätverksaktivitet. Den skapar ett tjänstanslutningsdiagram baserat på flödesloggar och visar flödesloggar för det valda namnområdet. Användarna ansvarar för att etablera och hantera den infrastruktur som krävs för att köra Användargränssnittet för Hubble.
Viktiga fördelar med avancerad nätverksobservabilitet
CNI-Agnostic: Stöds på alla Azure CNI-varianter, inklusive kubenet.
Cilium och Non-Cilium: Ger en enhetlig, sömlös upplevelse för både Cilium- och icke-Cilium-dataplan.
eBPF-baserad nätverksobservabilitet: Utnyttjar eBPF (utökat Berkeley-paketfilter) för prestanda och skalbarhet för att identifiera potentiella flaskhalsar och överbelastningsproblem innan de påverkar programmets prestanda. Få insikter om viktiga indikatorer för nätverkshälsa, inklusive trafikvolym, borttagna paket och anslutningsinformation.
Djup insyn i nätverksaktivitet: Förstå hur dina program kommunicerar med varandra via detaljerade nätverksflödesloggar.
Alternativ för förenklad måttlagring och visualisering: Välj mellan:
- Azure Managed Prometheus och Grafana: Azure hanterar infrastrukturen och underhållet så att användarna kan fokusera på att konfigurera mått och visualisera mått.
- Bring Your Own (BYO) Prometheus och Grafana: Användare distribuerar och konfigurerar sina egna instanser och hanterar den underliggande infrastrukturen.
Mått
Mått på nodnivå
Följande mått aggregeras per nod. Alla mått innehåller etiketter:
cluster
instance
(Nodnamn)
För scenarier som inte är Cilium-dataplan tillhandahåller Advanced Network Observability mått för både Linux- och Windows-operativsystem. Tabellen nedan beskriver de olika mått som genereras.
Måttnamn | beskrivning | Extra etiketter | Linux | Windows |
---|---|---|---|---|
networkobservability_forward_count | Totalt antal vidarebefordrade paket | direction |
✅ | ✅ |
networkobservability_forward_bytes | Totalt antal vidarebefordrade byte | direction |
✅ | ✅ |
networkobservability_drop_count | Totalt antal borttagna paket | direction , reason |
✅ | ✅ |
networkobservability_drop_bytes | Totalt antal borttagna byte | direction , reason |
✅ | ✅ |
networkobservability_tcp_state | TCP för närvarande aktivt socketantal efter TCP-tillstånd. | state |
✅ | ✅ |
networkobservability_tcp_connection_remote | TCP för närvarande antal aktiva socketar efter fjärr-IP/port. | address (IP), port |
✅ | ❌ |
networkobservability_tcp_connection_stats | TCP-anslutningsstatistik. (t.ex. Fördröjda ACL:er, TCPKeepAlive, TCPSackFailures) | statistic |
✅ | ✅ |
networkobservability_tcp_flag_counters | TCP-paket räknas efter flagga. | flag |
❌ | ✅ |
networkobservability_ip_connection_stats | IP-anslutningsstatistik. | statistic |
✅ | ❌ |
networkobservability_udp_connection_stats | UDP-anslutningsstatistik. | statistic |
✅ | ❌ |
networkobservability_udp_active_sockets | UDP för närvarande aktivt socketantal | ✅ | ❌ | |
networkobservability_interface_stats | Gränssnittsstatistik. | Gränssnittsnamn statistic |
✅ | ✅ |
Mått på poddnivå (Hubble-mått)
Följande mått aggregeras per podd (nodinformation bevaras). Alla mått innehåller etiketter:
cluster
instance
(Nodnamn)source
ellerdestination
För utgående trafik finns det en source
etikett med källpoddens namnområde/namn.
För inkommande trafik finns det en destination
etikett med målpoddens namnområde/namn.
Måttnamn | beskrivning | Extra etiketter | Linux | Windows |
---|---|---|---|---|
hubble_dns_queries_total | Totalt antal DNS-begäranden per fråga | source eller destination , query , qtypes (frågetyp) |
✅ | ❌ |
hubble_dns_responses_total | Totalt antal DNS-svar per fråga/svar | source eller destination , query , qtypes (frågetyp), rcode (returkod) ips_returned (antal IP-adresser) |
✅ | ❌ |
hubble_drop_total | Totalt antal borttagna paket | source eller destination , , protocol reason |
✅ | ❌ |
hubble_tcp_flags_total | Totalt antal TCP-paket per flagga. | source eller destination , flag |
✅ | ❌ |
hubble_flows_processed_total | Totalt antal bearbetade nätverksflöden (L4/L7-trafik) | source eller destination , protocol , verdict , , type , subtype |
✅ | ❌ |
Begränsningar
- Mått på poddnivå är endast tillgängliga i Linux.
- Cilium-dataplanet stöds från och med Kubernetes version 1.29.
- Måttetiketter kan ha subtila skillnader mellan Cilium- och icke-Cilium-kluster.
- Cilium-dataplanet stöder för närvarande inte DNS-mått.
Skala
Azure-hanterade Prometheus och Grafana tillämpar tjänstspecifika skalningsbegränsningar. Mer information finns i Scrape Prometheus-mått i stor skala i Azure Monitor
Nästa steg
Mer information om Advanced Container Networking Services för Azure Kubernetes Service (AKS) finns i Vad är Advanced Container Networking Services för Azure Kubernetes Service (AKS)?.
Information om hur du skapar ett AKS-kluster med Advanced Network Observability och Azure managed Prometheus och Grafana finns i Konfigurera Advanced Network Observability for Azure Kubernetes Service (AKS) Azure managed Prometheus och Grafana.
Information om hur du skapar ett AKS-kluster med Advanced Network Observability och BYO Prometheus och Grafana finns i Konfigurera Advanced Network Observability for Azure Kubernetes Service (AKS) BYO Prometheus och Grafana.
Azure Kubernetes Service
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för