Delen via


Bewaking in Azure Kubernetes Services

Tip

Deze inhoud is een fragment uit het eBook, Cloud Native .NET Applications for Azure ontwerpen, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.

Cloud Native .NET apps for Azure eBook cover thumbnail.

De ingebouwde logboekregistratie in Kubernetes is primitief. Er zijn echter enkele geweldige opties voor het ophalen van de logboeken uit Kubernetes en op een plaats waar ze correct kunnen worden geanalyseerd. Als u uw AKS-clusters wilt bewaken, is het configureren van Elastic Stack voor Kubernetes een uitstekende oplossing.

Azure Monitor voor containers

Azure Monitor for Containers biedt ondersteuning voor het verbruik van logboeken van niet alleen Kubernetes, maar ook van andere indelingsengines, zoals DC/OS, Docker Swarm en Red Hat OpenShift.

Consuming logs from various containersAfbeelding 7-10. Logboeken van verschillende containers gebruiken

Prometheus is een populaire opensource-bewakingsoplossing voor metrische gegevens. Het maakt deel uit van de Cloud Native Compute Foundation. Normaal gesproken vereist het gebruik van Prometheus het beheren van een Prometheus-server met een eigen winkel. Azure Monitor for Containers biedt echter directe integratie met eindpunten voor metrische prometheus-gegevens, dus er is geen afzonderlijke server vereist.

Logboek- en metrische gegevens worden niet alleen verzameld van de containers die in het cluster worden uitgevoerd, maar ook van de clusterhosts zelf. Hiermee kunt u logboekgegevens uit de twee correleren, waardoor het veel eenvoudiger is om een fout op te sporen.

Het installeren van de logboekverzamelaars verschilt in Windows- en Linux-clusters. In beide gevallen wordt de logboekverzameling echter geïmplementeerd als een Kubernetes DaemonSet, wat betekent dat de logboekverzamelaar wordt uitgevoerd als een container op elk van de knooppunten.

Ongeacht het orchestrator- of besturingssysteem waarop de Azure Monitor-daemon wordt uitgevoerd, worden de logboekgegevens doorgestuurd naar dezelfde Azure Monitor-hulpprogramma's waarmee gebruikers bekend zijn. Deze benadering zorgt voor een parallelle ervaring in omgevingen die verschillende logboekbronnen combineren, zoals een hybride Kubernetes/Azure Functions-omgeving.

A sample dashboard showing logging and metric information from a number of running containers.Afbeelding 7-11. Een voorbeelddashboard met logboekregistratie en metrische gegevens van veel actieve containers.

Log.Finalize()

Logboekregistratie is een van de meest over het hoofd gezien en toch belangrijkste onderdelen van het implementeren van elke toepassing op schaal. Naarmate de grootte en complexiteit van toepassingen toeneemt, is dat ook het probleem van het opsporen van fouten. Door logboeken van de hoogste kwaliteit beschikbaar te hebben, wordt foutopsporing veel eenvoudiger en verplaatst van het gebied van 'bijna onmogelijk' naar 'een aangename ervaring'.