Wat zijn containernetwerklogboeken?

Containernetwerklogboeken in Advanced Container Networking Services voor Azure Kubernetes Service (AKS) u inzicht geven in elke netwerkstroom binnen uw cluster. Metrische gegevens vertellen u wat er gebeurt in uw netwerk (bandbreedtegebruik, foutpercentages). Logboeken vertellen u waarom: wie een verbinding heeft gestart, welke protocollen zijn gebruikt en of verkeer is toegestaan of geblokkeerd.

In deze logboeken worden metagegevens vastgelegd voor elke netwerkstroom:

  • Bron- en doel-IP-adressen, podnamen en servicenamen
  • Naamruimten, poorten en protocollen
  • Verkeersrichting en beleidsbeoordelingen

Met deze context kunt u netwerkgedrag correleren met specifieke workloads, verbindingsproblemen oplossen, beveiligingsbeleid valideren en forensische analyse uitvoeren. Containernetwerklogboeken hebben betrekking op Laag 3-verkeer (IP), Laag 4 (TCP/UDP) en Laag 7 (HTTP/gRPC/Kafka).

Om het gegevensvolume en de kosten te beheren, ondersteunen containernetwerklogboeken aggregatie van stroomlogboeken, waarmee vergelijkbare stromen worden gegroepeerd in samengevatte records in plaats van één record per verbindingsgebeurtenis op te slaan. U behoudt de operationele patronen die u nodig hebt terwijl u de opslag- en invoerkosten verlaagt. Zie Stroomlogboekaggregatie voor meer informatie.

Containernetwerklogboeken bieden twee modi:

  • Opgeslagen logboeken : continue verzameling met aangepaste filters en stroomaggregatie. Het meest geschikt voor langetermijnbewaking en -analyse.
  • Logboeken op aanvraag - realtime vastleggen via de Hubble CLI en de Hubble UI. Het meest geschikt voor ad-hoc probleemoplossing.

Gebruik opgeslagen logboeken wanneer u permanente records nodig hebt voor naleving, trendanalyse of geautomatiseerde waarschuwingen. Gebruik logboeken op aanvraag wanneer u actief fouten in een connectiviteits- of prestatieprobleem opspoort en direct inzicht in live verkeer nodig hebt.

Opgeslagen logboeken

De modus Opgeslagen logboeken wordt automatisch ingeschakeld wanneer Advanced Container Networking Services is ingeschakeld op een cluster. De mogelijkheid is aanwezig, maar er worden geen logboeken gegenereerd totdat u ACNS vertelt wat u moet vastleggen.

Als u logboeken wilt verzamelen, definieert u ContainerNetworkLog aangepaste resources die aangeven welk verkeer moet worden bewaakt: op naamruimte, pod, service, protocol of oordeel. Zodra een CRD is toegepast, begint de Cilium-agent met het genereren van stromen die overeenkomen met de filters en schrijft deze naar elk knooppunt. Verzameling blijft actief totdat u de CRD's verwijdert of ACNS uitschakelt.

Omdat u precies bepaalt welk verkeer wordt geregistreerd via CRD-filters, kunt u zich richten op de stromen die van belang zijn en het verzamelen van onnodige gegevens voorkomen. In combinatie met flowlog-aggregatie houdt deze aanpak de opslagkosten voorspelbaar en de analyse gericht.

Hoe de modus voor opgeslagen logboeken werkt

Advanced Container Networking Services maakt gebruik van eBPF-technologie met Cilium om netwerkstromen op elk knooppunt vast te leggen. Zodra ACNS is ingeschakeld en er een ContainerNetworkLog aangepaste resource wordt toegepast, verzamelt de Cilium-agent verkeer dat overeenkomt met het filter en schrijft logboeken in JSON-indeling naar /var/log/acns/hubble/events.log elke host. Logboekgeneratie wordt volledig binnen het cluster uitgevoerd en is niet afhankelijk van Azure Monitor.

Voor productiegebruik raden we u aan de Azure Monitor-invoegtoepassing in te schakelen. Wanneer deze functie is ingeschakeld, verzamelen Container Insights-agents host-lokale logboeken, passen beperkingslimieten toe en verzenden ze naar een Log Analytics werkruimte, waar u langetermijnretentie, KQL-query's en de ingebouwde Azure portal- en Grafana-dashboards krijgt. Dit is het meest geïntegreerde traject en de meeste klanten zouden dit moeten kiezen.

Als uw team een bestaande pijplijn voor waarneembaarheid heeft, kunt u in plaats daarvan dezelfde hostlogboeken doorsturen naar een openTelemetry-compatibele collector- of logboekregistratieservice, naast Azure Monitor of in plaats daarvan.

Diagram van de werking van containernetwerklogboeken.

Zie de Container Insights-documentatie voor meer informatie over throttling en Container Insights.

Containernetwerklogboeken gebruiken met of zonder Azure Monitor

U kunt containernetwerklogboeken op twee manieren gebruiken. De juiste keuze is afhankelijk van of u een geïntegreerde Azure systeemeigen ervaring wilt of dat u al een waarneembaarheidspijplijn hebt die u wilt blijven gebruiken.

Pad Wat u krijgt Wanneer moet u deze kiezen
Azure Monitor-invoegtoepassing (aanbevolen) Container Insights verzamelt host-gebaseerde logboeken in een Log Analytics workspace. U krijgt langetermijnretentie, KQL, de ingebouwde Azure portaldashboards en beheerde Grafana-dashboards. U wilt de meest geïntegreerde, productieklare ervaring op AKS met minimale installatie.
Lokale hostbestanden met uw eigen pijplijn ACNS schrijft JSON-logboeken naar /var/log/acns/hubble/events.log elk knooppunt. U stuurt ze door naar een openTelemetry-compatibele collector- of logboekregistratieservice, naast Azure Monitor of in plaats daarvan. U hebt al een gecentraliseerd waarneembaarheidsplatform en wilt dat netwerklogboeken daar terechtkomen.

Voor de meeste klanten raden we u aan Azure Monitor in te schakelen. Het is de snelste manier om mogelijkheden voor retentie, query's en dashboards te verkrijgen zonder uw eigen pijplijn te bouwen.

Belangrijkste mogelijkheden van de opgeslagen logboekmodus

  • Aanpasbare filters. Definieer ContainerNetworkLog aangepaste resources om te filteren op naamruimte, pod, service, poort, protocol, oordeel of verkeersrichting. Alleen overeenkomend verkeer wordt geregistreerd, zodat u nauwkeurige controle krijgt over wat er wordt verzameld en wat het kost.

  • Aggregatie van flowlogboeken. Vergelijkbare stromen worden elke 30 seconden automatisch gegroepeerd in samengevatte records, waardoor het gegevensvolume wordt geknipt en operationele signalen behouden blijven, zoals servicecommunicatiepatronen, foutpercentages en beveiligingsbeoordelingen. Dankzij aggregatie met gerichte filters kunt u een brede zichtbaarheid behouden zonder overmatige verwerkingskosten. Zie Stroomlogboekaggregatie voor meer informatie.

  • Opties voor logboekopslag. ACNS schrijft logboeken altijd lokaal op elk knooppunt. Van daaruit kunt u kiezen hoe u ze kunt gebruiken:

    • Lokale hostbestanden (altijd ingeschakeld): Logboeken worden opgeslagen op hostknooppunten op /var/log/acns/hubble. Bestanden worden automatisch geroteerd bij 50 MB, en oudere logboeken worden overschreven. Gebruik dit rechtstreeks voor kortetermijnbewaking, realtime bewaking of doorsturen van de bestanden naar een openTelemetry-compatibele collector- of logboekregistratieservice voor extra logboekbeheer.

    • Azure Monitor (aanbevolen): Schakel de invoegtoepassing Azure Monitor in om logboeken in een Log Analytics werkruimte te verzamelen en op te slaan. U krijgt veilige, compatibele opslag met langetermijnretentie, KQL-query's, anomaliedetectie, historische analyse en waarschuwingen via de beheerde service voor Prometheus. Logboekgeneratie wordt nog steeds uitgevoerd via de Cilium-agent en de ContainerNetworkLog CRD; Azure Monitor voegt de verbruikslaag bovenaan toe.

      De ContainerNetworkLogs tabel maakt standaard gebruik van de analyselaag . U kunt overschakelen naar de Basic-laag voor lagere opname- en retentiekosten, terwijl u een vergelijkbare waarneembaarheidservaring behoudt. Elke laag heeft een toegewezen Azure portaldashboard dat is geoptimaliseerd voor de querymogelijkheden. Zie Log Analytics tabelplannen voor meer informatie over tabelplannen. Zie Het tabelplan instellen voor meer informatie over het instellen van het tabelplan.

  • Visualisatie in de Azure-portal. Query's uitvoeren en logboeken rechtstreeks analyseren in Log Analytics of de ingebouwde Azure portaldashboards gebruiken. Er is een speciaal dashboard beschikbaar voor elke tabellaag, zodat u dezelfde waarneembaarheidservaring krijgt, ongeacht de laag die u kiest. Zie Visualiseer logboeken in de Azure portal voor meer informatie.

Logboeken visualiseren in de Azure-portal

U kunt stroomlogboeken visualiseren, opvragen en analyseren in de Azure-portal in de Log Analytics werkruimte voor uw cluster.

Schermopname van containernetwerklogboeken in een Log Analytics workspace.

Containernetwerklogboeken bevatten ingebouwde Azure portaldashboards voor het visualiseren van stroomgegevens. Er is een afzonderlijk dashboard beschikbaar voor elke Log Analytics tabellaag:

Dashboard Pad Tabelniveau
Stroomlogboeken - Basic-laag (id: 23155) Azure>Insights>Containers>Networking>Stroomlogboeken - Basic-laag Basisch
Stroomlogboeken - Analyselaag (id: 23156) AzureInsightsContainersNetworkingVerkeerslogboeken - Analyse Niveau Analyse (standaard)

Beide dashboards laten zien welke AKS-workloads met elkaar communiceren, inclusief netwerkaanvragen, antwoorden, verliezen en fouten. Gebruik het dashboard dat overeenkomt met de tabellaag die is geconfigureerd voor uw ContainerNetworkLogs tabel.

Tip

De ContainerNetworkLogs tabel wordt standaard ingesteld op de analytics-laag. Als u kosten wilt verlagen, kunt u overschakelen naar de Basic-laag en het bijbehorende dashboard van de Basic-laag gebruiken zonder dat u de dekking van waarneembaarheid verliest. Zie Log Analytics tabelplannen voor meer informatie.

De Azure portaldashboards hebben de volgende belangrijke onderdelen:

  • Overzicht van netwerkstatus. In de bovenste sectie ziet u samenvattingsgegevens (totale stroomlogboeken, unieke aanvragen, verwijderde aanvragen en doorgestuurde aanvragen), zodat u snel afwijkingen kunt herkennen. Statistieken zijn onderverdeeld per protocol: DNS-verzoeksverlies, HTTP 2xx-antwoorden, Layer 4-verzoek en -responspercentages, en verliescijfers. Een serviceafhankelijkheidsgrafiek laat zien welke services met elkaar communiceren, waardoor het gemakkelijker is om knelpunten en onverwachte verkeerspaden te identificeren.

    Schermopname van stroomlogboekstatistieken en een serviceafhankelijkheidsgrafiek.

  • Stroomlogboeken en foutenlogboeken. Het dashboard scheidt stroomlogboeken van foutenlogboeken in verschillende weergaven, zodat u zich kunt richten op fouten zonder normaal verkeer te doorzoeken. Gebruik de ingebouwde filters om de resultaten te beperken op basis van protocol, naamruimte of beoordeling. Als u bijvoorbeeld fouten met DNS-omzetting wilt oplossen, filtert u foutenlogboeken op basis van het DNS-protocol.

    Schermopname van stroomlogboeken en foutenlogboeken.

    Elke logboekvermelding bevat labels, tijdstempels en bron-/doelgegevens om u te helpen specifieke gebeurtenissen vast te stellen tijdens een onderzoek.

    Scherm van beschikbare filters in de Azure portaldashboards.

  • Belangrijkste naamruimten, workloads en DNS-fouten. In deze sectie worden de meest actieve naamruimten, workloads met het hoogste verkeer, poortgebruik en meest frequente DNS-fouten weergegeven. Gebruik deze om te bepalen welke workloads het meeste verkeer genereren, verwijderde aanvragen spotten en protocoldistributie vergelijken (bijvoorbeeld TCP versus UDP). Ongebruikelijke patronen, zoals onverwachte pieken of onbekende bestemmingen, kunnen duiden op onjuiste configuraties of beveiligingsproblemen.

    Schermopname van de belangrijkste naamruimten en metrische podgegevens.

Aggregatie van stroomlogboek

Netwerkstromen lopen snel op. Een cluster met 200 microservices kan elke 30 seconden honderdduizenden stroomrecords genereren. Het opslaan van al die onbewerkte gegevens wordt duur.

Stel bijvoorbeeld dat client-1 en client-2 beide met een server pod communiceren via TCP. In een venster van 30 seconden zien onbewerkte stroomrecords op het knooppunt er als volgt uit:

bron Bronpoort Destination Doelpoort Protocol Flag
client-1 12345 server 80 TCP SYN
server 80 client-1 12345 TCP SYN-ACK
client-1 12345 server 80 TCP ACK
client-1 12345 server 80 TCP PSH
server 80 client-1 12345 TCP ACK
client-2 23456 server 80 TCP SYN
server 80 client-2 23456 TCP SYN-ACK
client-2 23456 server 80 TCP ACK
client-2 23456 server 80 TCP PSH
server 80 client-2 23456 TCP ACK

Met aggregatie worden deze 10 records twee:

bron Bronpoort Destination Doelpoort Protocol Gegevensstromen verzonden Ontvangen stromen
client-1 12345 server 80 TCP 4 6
client-2 23456 server 80 TCP 4 6

Aggregatie van stroomlogboeken pakt dit aan door vergelijkbare stromen te groeperen in samengevatte records. In elk venster van 30 seconden worden stromen die dezelfde aggregatiesleutelvelden delen, gecombineerd tot één record met een telling van het aantal stromen dat deze vertegenwoordigt.

De volgende velden vormen de aggregatiesleutel:

Veld Description
verdict DOORGESTUURD, VERWIJDERD OF FOUT
is_reply Of de gegevensstroom een aanvraag (onwaar) of een antwoord (waar) is
drop_reason_desc Redenen waarom pakketten zijn gedropt
source.namespace Naamruimte van bronpod
destination.namespace Doelpodnaamruimte
source.workloads Bronworkload (implementatie, StatefulSet of DaemonSet)
destination.workloads Doelworkload (implementatie, StatefulSet of DaemonSet)
source.identity Bronbeveiligingsidentiteit (altijd beschikbaar als een noodoplossing)
destination.identity Bestemmingsbeveiligingsidentiteit (altijd aanwezig als terugvaloptie)
l4.TCP.destination_port TCP-doelpoort
l4.UDP.destination_port UDP-doelpoort
l7.http.code HTTP-antwoordcode (200, 404, 500, enzovoort)
l7.dns.rcode DNS-antwoordcode (NOERROR, NXDOMAIN, enzovoort)
IP.ipVersion IPv4 of IPv6
IP.encrypted Of het verkeer is versleuteld (WireGuard/IPsec)
source.cluster_name Naam van broncluster
destination.cluster_name Naam van doelcluster

Stromen die overeenkomen met al deze velden binnen een venster van 30 seconden, worden samengevoegd in één record. Dit behoudt de signalen die u nodig hebt (welke services communiceren, hoe vaak, welke fouten optreden, of verkeer is toegestaan of geblokkeerd) terwijl het gegevensvolume aanzienlijk wordt beperkt. In tegenstelling tot steekproeven, die stromen willekeurig negeren en zeldzame beveiligingsgebeurtenissen kunnen missen, behoudt aggregatie 100% van de patroongegevens.

Belangrijkste punten:

  • Aggregatie is standaard ingeschakeld en geconfigureerd. Dit vermindert logboekopslag en opnamekosten zonder handmatige afstemming.
  • U bepaalt welk verkeer wordt vastgelegd via includeFilters in de ContainerNetworkLog CRD.
  • Smallere filters (specifieke naamruimte of serviceparen) bereiken doorgaans betere compressie omdat de vastgelegde stromen vergelijkbaarer zijn.
  • Geaggregeerde logboeken slaan hoge kardinaliteit en kenmerken per stroom (bijvoorbeeld afzonderlijke tijdstempels, pod-IP's, HTTP-URL's, DNS-querynamen) over om de opnamevolume en opslagkosten te minimaliseren. Ze zijn ontworpen voor detectie van problemen op hoog niveau. Gebruik logboeken op aanvraag voor fijnmazige stroomanalyse en -onderzoek.

Opmerking

De werkelijke opslagvermindering varieert op basis van uw filterconfiguratie, workloaddiversiteit en verkeerspatronen.

Logboeken op aanvraag

Met logboeken op aanvraag kunt u stroomlogboeken in realtime vastleggen en inspecteren, zonder eerdere configuratie of permanente opslag. Gebruik logboeken op aanvraag wanneer u een connectiviteits- of prestatieprobleem actief wilt oplossen en onmiddellijk zichtbaarheid nodig hebt.

ACNS biedt twee hulpprogramma's voor opname op aanvraag. Als u een van beide hulpprogramma's wilt instellen, raadpleegt u de modus Logboeken op aanvraag configureren.

Hubble CLI

Met de Hubble CLI kunt u stroomlogboeken rechtstreeks vanuit uw terminal opvragen, filteren en analyseren. Het is vooral handig wanneer u fijnmazige filters nodig hebt, bijvoorbeeld het isoleren van verkeer op naamruimte, podlabel of oordeel tijdens een actieve foutopsporingssessie.

Schermopname van de Hubble CLI.

Hubble UI

De Hubble-gebruikersinterface biedt een grafische weergave van service-naar-service-communicatie. Het is handig als u verkeerspaden visueel wilt traceren, welke services communiceren en afwijkingen herkennen zonder CLI-opdrachten te schrijven.

Schermopname van de Hubble-gebruikersinterface.

Belangrijke voordelen van logboeken op aanvraag

  • Geen eerdere configuratie vereist. Begin met het vastleggen van stromen onmiddellijk zonder aangepaste resources te definiëren of opslag in te stellen.
  • Realtime zichtbaarheid. Inspecteer liveverkeer en bekijk pakketmetagegevens wanneer er problemen optreden.
  • Snelle probleemoplossing. Filter gegevensstromen interactief via de Hubble CLI, of bekijk servicediagrammen visueel in de Hubble-UI.
  • Weinig overhead. Er is geen permanente opslag vereist, dus er zijn geen doorlopende kosten voor ad-hoconderzoeken.

Aanbevelingen voor opgeslagen logboeken

  1. Begin met brede filters en vermalen. Wanneer u stroomlogboeken voor het eerst inschakelt, gebruikt u brede filters om verkeer vast te leggen in uw sleutelnaamruimten. Voer de configuratie enkele dagen uit en controleer de verzamelde gegevens in Log Analytics. Bekijk het gegevensvolume, de kosten en of de vastgelegde stromen overeenkomen met wat u daadwerkelijk nodig hebt. Draai vervolgens je includeFilters aan om je te concentreren op hoogwaardig verkeer en de ruis te verwijderen.

  2. Gebruik eerst de vooraf gemaakte dashboards. De ingebouwde Azure portaldashboards hebben betrekking op veelvoorkomende gebruiksvoorbeelden, zoals servicecommunicatiepatronen, foutpercentages en DNS-fouten. Begin daar. Voeg alleen aangepaste deelvensters of Log Analytics-queries toe als u zichtbaarheid nodig hebt die de vooraf gemaakte dashboards niet bieden.

  3. Controleer regelmatig. Naarmate workloads en verkeerspatronen veranderen, moeten uw filters mogelijk worden bijgewerkt. Controleer regelmatig het gegevensvolume en de stroomdekking om ervoor te zorgen dat u nog steeds het juiste verkeer tegen redelijke kosten vastlegt.

Beperkingen

Vereisten voor gegevensvlak en functie:

  • De modus Opgeslagen logboeken werkt alleen met het gegevensvlak Cilium.
  • Stroomlogboeken van laag 7 worden alleen vastgelegd wanneer ondersteuning voor laag 7-beleid is ingeschakeld. Zie Een Laag 7-beleid configureren voor meer informatie.
  • DNS-stromen en metrische gegevens worden alleen vastgelegd wanneer een FQDN-netwerkbeleid (Cilium Fully Qualified Domain Name) wordt toegepast. Zie Een FQDN-beleid configureren voor meer informatie.

Aggregatie-afwegingen:

  • Aggregatie van stroomlogboeken behoudt geen afzonderlijke tijdstempels voor stromen, IP-adressen per pod of velden met hoge kardinaliteit, zoals HTTP-URL's en DNS-querynamen. Gebruik logboeken op aanvraag voor onderzoek per stroom.

Opslag en platform:

  • Het host-lokale bestand /var/log/acns/hubble/ is beperkt tot 50 MB per knooppunt en wordt automatisch geroteerd. Als u langetermijnretentie nodig hebt, schakelt u Azure Monitor (aanbevolen) in of stuurt u het bestand door naar uw eigen logboekregistratieservice.
  • Het tabelplan Voor hulplogboeken wordt niet ondersteund.

Prijsstelling

Belangrijk

Advanced Container Networking Services is een betaald aanbod.

Zie Advanced Container Networking Services - Prijzen voor meer informatie over prijzen.