Kubernetes-clusters bewaken met behulp van Azure-services en cloudeigen hulpprogramma's
In dit artikel wordt beschreven hoe u de status en prestaties van uw Kubernetes-clusters en de workloads die hierop worden uitgevoerd, bewaakt met behulp van Azure Monitor en gerelateerde Azure- en cloudeigen services. Dit omvat clusters die worden uitgevoerd in Azure Kubernetes Service (AKS) of andere clouds, zoals AWS en GCP. Er worden verschillende sets richtlijnen geboden voor de verschillende rollen die doorgaans unieke onderdelen beheren waaruit een Kubernetes-omgeving bestaat.
Belangrijk
Dit artikel bevat volledige richtlijnen voor het bewaken van de verschillende lagen van uw Kubernetes-omgeving op basis van Azure Kubernetes Service (AKS) of Kubernetes-clusters in andere clouds. Als u net aan de slag gaat met AKS of Azure Monitor, raadpleegt u AKS bewaken voor basisinformatie over het bewaken van een AKS-cluster.
Lagen en rollen van Kubernetes-omgeving
Hieronder volgt een afbeelding van een gemeenschappelijk model van een typische Kubernetes-omgeving, te beginnen vanuit de infrastructuurlaag via toepassingen. Elke laag heeft verschillende bewakingsvereisten die worden aangepakt door verschillende services en die doorgaans worden beheerd door verschillende rollen in de organisatie.
Verantwoordelijkheid voor de verschillende lagen van een Kubernetes-omgeving en de toepassingen die ervan afhankelijk zijn, worden doorgaans aangepakt door meerdere rollen. Afhankelijk van de grootte van uw organisatie kunnen deze rollen worden uitgevoerd door verschillende personen of zelfs verschillende teams. In de volgende tabel worden de verschillende rollen beschreven, terwijl in de onderstaande secties de bewakingsscenario's worden weergegeven die doorgaans worden tegenkomt.
Rollen | Beschrijving |
---|---|
Ontwikkelaar | Ontwikkel en onderhoud de toepassing die wordt uitgevoerd op het cluster. Verantwoordelijk voor toepassingsspecifiek verkeer, waaronder de prestaties en fouten van de toepassing. Onderhoudt de betrouwbaarheid van de toepassing volgens SLA's. |
Platformengineer | Verantwoordelijk voor het Kubernetes-cluster. Het platform inrichten en onderhouden dat door de ontwikkelaar wordt gebruikt. |
Netwerktechnicus | Verantwoordelijk voor verkeer tussen workloads en inkomend/uitgaand verkeer met het cluster. Analyseert netwerkverkeer en voert bedreigingsanalyses uit. |
Selectie van bewakingshulpprogramma's
Azure biedt een volledige set services op basis van Azure Monitor voor het bewaken van de status en prestaties van verschillende lagen van uw Kubernetes-infrastructuur en de toepassingen die ervan afhankelijk zijn. Deze services werken samen met elkaar om een volledige bewakingsoplossing te bieden en worden aanbevolen voor zowel AKS- als uw Kubernetes-clusters die in andere clouds worden uitgevoerd. Mogelijk hebt u een bestaande investering in cloudeigen technologieën die door de Cloud Native Computing Foundation worden goedgekeurd. In dat geval kunt u Ervoor kiezen Om Azure-hulpprogramma's te integreren in uw bestaande omgeving.
Uw keuze van welke hulpprogramma's u wilt implementeren en de configuratie ervan, is afhankelijk van de vereisten van uw specifieke omgeving. U kunt bijvoorbeeld de beheerde aanbiedingen in Azure voor Prometheus en Grafana gebruiken, of u kunt ervoor kiezen om uw bestaande installatie van deze hulpprogramma's te gebruiken met uw Kubernetes-clusters in Azure. Uw organisatie kan ook alternatieve hulpprogramma's voor Container Insights gebruiken om Kubernetes-logboeken te verzamelen en te analyseren, zoals Splunk of Datadog.
Belangrijk
Het bewaken van een complexe omgeving, zoals Kubernetes, omvat het verzamelen van een aanzienlijke hoeveelheid telemetrie, waarvan veel kosten met zich meebrengt. U moet voldoende gegevens verzamelen om aan uw vereisten te voldoen. Dit omvat de hoeveelheid verzamelde gegevens, de frequentie van het verzamelen en de bewaarperiode. Als u zeer kostenbewust bent, kunt u ervoor kiezen om een subset van de volledige functionaliteit te implementeren om uw bewakingsuitgaven te verminderen.
Netwerktechnicus
De netwerktechnicus is verantwoordelijk voor verkeer tussen workloads en inkomend/uitgaand verkeer met het cluster. Ze analyseren netwerkverkeer en voeren bedreigingsanalyses uit.
Azure-services voor netwerkbeheerder
De volgende tabel bevat de services die vaak door de netwerktechnicus worden gebruikt voor het bewaken van de status en prestaties van het netwerk dat het Kubernetes-cluster ondersteunt.
Service | Beschrijving |
---|---|
Network Watcher | Suite hulpprogramma's in Azure voor het bewaken van de virtuele netwerken die worden gebruikt door uw Kubernetes-clusters en het diagnosticeren van gedetecteerde problemen. |
Verkeersanalyse | Functie van Network Watcher die stroomlogboeken analyseert om inzicht te krijgen in de verkeersstroom. |
Netwerkinzichten | Functie van Azure Monitor met een visuele weergave van de prestaties en status van verschillende netwerkonderdelen en biedt toegang tot de hulpprogramma's voor netwerkbewaking die deel uitmaken van Network Watcher. |
Netwerkinzichten is standaard ingeschakeld en vereist geen configuratie. Network Watcher is ook standaard ingeschakeld in elke Azure-regio.
Niveau 1 bewaken - Netwerk
Hieronder volgen veelvoorkomende scenario's voor het bewaken van het netwerk.
- Maak stroomlogboeken om informatie te registreren over het IP-verkeer dat door uw cluster wordt gebruikt, en gebruik vervolgens verkeersanalyse om deze gegevens te analyseren en inzicht te geven. Waarschijnlijk gebruikt u dezelfde Log Analytics-werkruimte voor verkeersanalyses die u gebruikt voor Container Insights en uw logboeken van het besturingsvlak.
- Met behulp van verkeersanalyse kunt u bepalen of er verkeer stroomt naar of van onverwachte poorten die door het cluster worden gebruikt en of er verkeer via openbare IP-adressen stroomt die niet zichtbaar moeten zijn. Gebruik deze informatie om te bepalen of uw netwerkregels moeten worden gewijzigd.
- Voor AKS-clusters gebruikt u de invoegtoepassing Netwerkobserveerbaarheid voor AKS (preview) om de toegang tussen services in het cluster (oost-westverkeer) te bewaken en te observeren.
Platformengineer
De platformengineer, ook wel de clusterbeheerder genoemd, is zelf verantwoordelijk voor het Kubernetes-cluster. Ze inrichten en onderhouden het platform dat door ontwikkelaars wordt gebruikt. Ze moeten de status van het cluster en de bijbehorende onderdelen begrijpen en eventuele gedetecteerde problemen kunnen oplossen. Ze moeten ook inzicht krijgen in de kosten voor het gebruik van het cluster en mogelijk om kosten toe te wijzen aan verschillende teams.
Grote organisaties kunnen ook een vlootarchitect hebben, die vergelijkbaar is met de platformtechnicus, maar verantwoordelijk is voor meerdere clusters. Ze hebben zichtbaarheid nodig in de hele omgeving en moeten beheertaken op schaal uitvoeren. Aanbevelingen op schaal zijn opgenomen in de onderstaande richtlijnen. Zie Wat is Azure Kubernetes Fleet Manager? voor meer informatie over het maken van een Fleet-resource voor scenario's met meerdere clusters en scenario's op schaal.
Azure-services voor platformengineer
De volgende tabel bevat de Azure-services voor de platformengineer om de status en prestaties van het Kubernetes-cluster en de bijbehorende onderdelen te bewaken.
Service | Beschrijving |
---|---|
Container Insights | Azure-service voor AKS- en Kubernetes-clusters met Azure Arc die gebruikmaken van een containerversie van de Azure Monitor-agent voor het verzamelen van stdout-/stderr-logboeken, prestatiegegevens en Kubernetes-gebeurtenissen van elk knooppunt in uw cluster. U kunt de gegevens bekijken in Azure Portal of er query's op uitvoeren met behulp van Log Analytics. Configureer de Prometheus-ervaring voor het gebruik van Container Insights-weergaven met Prometheus-gegevens. |
Beheerde Azure Monitor-service voor Prometheus | Prometheus is een cloudeigen oplossing voor metrische gegevens van de Cloud Native Compute Foundation en het meest gebruikte hulpprogramma voor het verzamelen en analyseren van metrische gegevens uit Kubernetes-clusters. Beheerde Azure Monitor-service voor Prometheus is een volledig beheerde oplossing die compatibel is met de Prometheus-querytaal (PromQL) en Prometheus-waarschuwingen en integreert met Azure Managed Grafana voor visualisatie. Deze service ondersteunt uw investering in opensource-hulpprogramma's zonder de complexiteit van het beheren van uw eigen Prometheus-omgeving. |
Kubernetes met Azure Arc | Hiermee kunt u koppelen aan Kubernetes-clusters die worden uitgevoerd in andere clouds, zodat u ze in Azure kunt beheren en configureren. Als de Arc-agent is geïnstalleerd, kunt u AKS en hybride clusters bewaken met dezelfde methoden en hulpprogramma's, waaronder Container Insights en Prometheus. |
Azure Managed Grafana | Volledig beheerde implementatie van Grafana, een opensource-platform voor gegevensvisualisatie dat vaak wordt gebruikt om Prometheus en andere gegevens te presenteren. Er zijn meerdere vooraf gedefinieerde Grafana-dashboards beschikbaar voor het bewaken van Kubernetes en het oplossen van problemen met volledige stacks. |
Bewaking configureren voor platformengineer
In de onderstaande secties worden de stappen beschreven voor het voltooien van de bewaking van uw Kubernetes-omgeving met behulp van de Azure-services in de bovenstaande tabel. Er zijn functionaliteits- en integratieopties beschikbaar om u te helpen bepalen waar u mogelijk deze configuratie moet wijzigen om te voldoen aan uw specifieke vereisten.
Onboarding van Container Insights en Managed Prometheus kan deel uitmaken van dezelfde ervaring als beschreven in Bewaking inschakelen voor Kubernetes-clusters. In de volgende secties wordt elk afzonderlijk beschreven, zodat u rekening kunt houden met al uw onboarding- en configuratieopties voor elk ervan.
Scraping van metrische prometheus-gegevens inschakelen
Belangrijk
Als u de beheerde Azure Monitor-service voor Prometheus wilt gebruiken, moet u een Azure Monitor-werkruimte hebben. Zie de Azure Monitor-werkruimtearchitectuur voor meer informatie over ontwerpoverwegingen voor een werkruimteconfiguratie.
Schakel scraping van metrische Prometheus-gegevens in door Azure Monitor beheerde service voor Prometheus vanuit uw cluster met behulp van een van de volgende methoden:
- Selecteer de optie Prometheus-metrische gegevens inschakelen wanneer u een AKS-cluster maakt.
- Selecteer de optie Prometheus-metrische gegevens inschakelen wanneer u Container Insights inschakelt op een bestaand AKS-cluster of Kubernetes-cluster met Azure Arc.
- Schakel een bestaand AKS-cluster of Kubernetes-cluster met Arc in.
Als u al een Prometheus-omgeving hebt die u wilt gebruiken voor uw AKS-clusters, schakelt u de beheerde Azure Monitor-service voor Prometheus in en gebruikt u vervolgens extern schrijven om gegevens naar uw bestaande Prometheus-omgeving te verzenden. U kunt ook extern schrijven gebruiken om gegevens te verzenden vanuit uw bestaande zelfbeheerde Prometheus-omgeving naar de beheerde Azure Monitor-service voor Prometheus.
Zie de standaardconfiguratie voor metrische prometheus-gegevens in Azure Monitor voor meer informatie over de metrische gegevens die standaard worden verzameld en de bijbehorende verzamelingsfrequentie. Als u de configuratie wilt aanpassen, raadpleegt u Scraping van metrische Prometheus-gegevens aanpassen in de beheerde Azure Monitor-service voor Prometheus.
Grafana inschakelen voor analyse van Prometheus-gegevens
Notitie
Gebruik Grafana voor uw bewaking van uw Kubernetes-omgeving als u een bestaande investering in Grafana hebt of als u Liever Grafana-dashboards gebruikt in plaats van Container Insights om uw Prometheus-gegevens te analyseren. Als u Grafana niet wilt gebruiken, schakelt u de Prometheus-ervaring in Container Insights in, zodat u Container insights-weergaven kunt gebruiken met uw Prometheus-gegevens.
Maak een exemplaar van Managed Grafana en koppel deze aan uw Azure Monitor-werkruimte , zodat u uw Prometheus-gegevens als gegevensbron kunt gebruiken. U kunt deze configuratie ook handmatig uitvoeren met behulp van een door Azure Monitor beheerde service voor Prometheus als gegevensbron toevoegen. Er zijn verschillende vooraf gedefinieerde dashboards beschikbaar voor het bewaken van Kubernetes-clusters, waaronder verschillende die vergelijkbare informatie presenteren als Container Insights-weergaven.
Als u een bestaande Grafana-omgeving hebt, kunt u deze blijven gebruiken en de beheerde Azure Monitor-service voor Prometheus als gegevensbron toevoegen. U kunt de Azure Monitor-gegevensbron ook toevoegen aan Grafana om gegevens te gebruiken die zijn verzameld door Container Insights in aangepaste Grafana-dashboards. Voer deze configuratie uit als u zich wilt richten op Grafana-dashboards in plaats van de Container Insights-weergaven en -rapporten te gebruiken.
Container Insights inschakelen voor het verzamelen van logboeken
Wanneer u Container Insights inschakelt voor uw Kubernetes-cluster, wordt er een containerversie van de Azure Monitor-agent geïmplementeerd waarmee gegevens worden verzonden naar een Log Analytics-werkruimte in Azure Monitor. Container insights verzamelt container stdout/stderr, infrastructuurlogboeken en prestatiegegevens. Alle logboekgegevens worden opgeslagen in een Log Analytics-werkruimte waar ze kunnen worden geanalyseerd met behulp van Kusto-querytaal (KQL).
Zie Containerinzichten inschakelen voor vereisten en configuratieopties voor het onboarden van uw Kubernetes-clusters. Onboarden met Behulp van Azure Policy om ervoor te zorgen dat alle clusters een consistente configuratie behouden.
Zodra Container Insights is ingeschakeld voor een cluster, voert u de volgende acties uit om uw installatie te optimaliseren.
- Schakel de Prometheus-ervaring in containerinzichten in, zodat u containerinzichten kunt gebruiken met uw Prometheus-gegevens.
- Om uw query-ervaring te verbeteren met gegevens die door Container Insights worden verzameld en om de verzamelingskosten te verlagen, schakelt u het ContainerLogV2-schema voor elk cluster in. Als u alleen logboeken gebruikt voor incidentele probleemoplossing, kunt u overwegen deze tabel als basislogboeken te configureren.
- Gebruik vooraf ingestelde kosten die worden beschreven in Instellingen voor kostenoptimalisatie inSchakelen in Container Insights om uw kosten voor gegevensopname van Container Insights te verlagen door de hoeveelheid verzamelde gegevens te verminderen. Schakel het verzamelen van metrische gegevens uit door Container Insights te configureren om alleen logboeken en gebeurtenissen te verzamelen, omdat veel van dezelfde metrische waarden als Prometheus.
Als u een bestaande oplossing hebt voor het verzamelen van logboeken, volgt u de richtlijnen voor dat hulpprogramma of schakelt u Container Insights in en gebruikt u de functie voor gegevensexport van de Log Analytics-werkruimte om gegevens naar Azure Event Hubs te verzenden om door te sturen naar een alternatief systeem.
Logboeken van besturingsvlak verzamelen voor AKS-clusters
De logboeken voor AKS-besturingsvlakonderdelen worden in Azure geïmplementeerd als resourcelogboeken. Container Insights gebruikt deze logboeken niet, dus u moet uw eigen logboekquery's maken om ze weer te geven en te analyseren. Zie Logboeken opvragen vanuit Container Insights voor meer informatie over logboekstructuur en query's.
Maak een diagnostische instelling voor elk AKS-cluster om resourcelogboeken naar een Log Analytics-werkruimte te verzenden. Gebruik Azure Policy om een consistente configuratie voor meerdere clusters te garanderen.
Er zijn kosten verbonden aan het verzenden van resourcelogboeken naar een werkruimte, dus u moet alleen de logboekcategorieën verzamelen die u wilt gebruiken. Zie Resourcelogboeken voor een beschrijving van de categorieën die beschikbaar zijn voor AKS. Begin met het verzamelen van een minimaal aantal categorieën en wijzig vervolgens de diagnostische instelling om extra categorieën te verzamelen naarmate uw behoeften toenemen en naarmate u de bijbehorende kosten begrijpt. U kunt logboeken verzenden naar een Azure-opslagaccount om de kosten te verlagen als u de informatie om nalevingsredenen wilt bewaren. Zie prijzen voor Azure Monitor-logboeken voor meer informatie over de kosten voor het opnemen en behouden van logboekgegevens.
Als u niet zeker weet welke resourcelogboeken in eerste instantie moeten worden ingeschakeld, gebruikt u de volgende aanbevelingen, die zijn gebaseerd op de meest voorkomende klantvereisten. U kunt later andere categorieën inschakelen als dat nodig is.
Categorie | Inschakelen? | Bestemming |
---|---|---|
kube-apiserver | Inschakelen | Log Analytics-werkruimte |
kube-audit | Inschakelen | Azure Storage. Hierdoor blijven de kosten tot een minimum beperkt, maar blijven de auditlogboeken behouden als ze door een auditor worden vereist. |
kube-audit-admin | Inschakelen | Log Analytics-werkruimte |
kube-controller-manager | Inschakelen | Log Analytics-werkruimte |
kube-scheduler | Uitschakelen | |
automatische schaalaanpassing van clusters | Inschakelen als automatisch schalen is ingeschakeld | Log Analytics-werkruimte |
bewaker | Inschakelen als Microsoft Entra-id is ingeschakeld | Log Analytics-werkruimte |
AllMetrics | Uitschakelen omdat metrische gegevens worden verzameld in Beheerde Prometheus | Log Analytics-werkruimte |
Als u een bestaande oplossing hebt voor het verzamelen van logboeken, volgt u de richtlijnen voor dat hulpprogramma of schakelt u Container Insights in en gebruikt u de functie voor gegevensexport van de Log Analytics-werkruimte om gegevens naar Azure Event Hub te verzenden om door te sturen naar een alternatief systeem.
Activiteitenlogboek verzamelen voor AKS-clusters
Configuratiewijzigingen in uw AKS-clusters worden opgeslagen in het activiteitenlogboek. Maak een diagnostische instelling om deze gegevens naar uw Log Analytics-werkruimte te verzenden om deze te analyseren met andere bewakingsgegevens. Er zijn geen kosten verbonden aan deze gegevensverzameling en u kunt de gegevens analyseren of waarschuwen met behulp van Log Analytics.
Niveau 2 bewaken - Onderdelen op clusterniveau
Het clusterniveau bevat de volgende onderdelen:
Onderdeel | Bewakingsvereisten |
---|---|
Knooppunt | Krijg inzicht in de gereedheidsstatus en prestaties van CPU-, geheugen-, schijf- en IP-gebruik voor elk knooppunt en bewaak proactief hun gebruikstrends voordat u workloads implementeert. |
Hieronder volgen veelvoorkomende scenario's voor het bewaken van de onderdelen op clusterniveau.
Containerinzichten
- Gebruik de clusterweergave om de prestaties van de knooppunten in uw cluster te bekijken, inclusief CPU- en geheugengebruik.
- Gebruik de weergave Knooppunten om de status van elk knooppunt en de status en prestaties te zien van de pods die erop worden uitgevoerd. Zie De prestaties van uw Kubernetes-cluster bewaken met Container Insights voor meer informatie over het analyseren van de status en prestaties van knooppunten.
- Gebruik onder Rapporten de werkmappen voor knooppuntbewaking om schijfcapaciteit, schijf-IO en GPU-gebruik te analyseren. Zie Knooppuntbewakingswerkmappen voor meer informatie over deze werkmappen.
- Selecteer werkmappen onder Bewaking en vervolgens Subnet-IP-gebruik om de IP-toewijzing en toewijzing op elk knooppunt te zien voor een geselecteerd tijdsbereik.
Grafana-dashboards
- Gebruik het vooraf samengestelde dashboard in Managed Grafana voor Kubelet om de status en prestaties van elk dashboard te bekijken.
- Gebruik Grafana-dashboards met metrische prometheus-waarden die betrekking hebben op schijf, zoals
node_disk_io_time_seconds_total
enwindows_logical_disk_free_bytes
om gekoppelde opslag te bewaken. - Er zijn meerdere Kubernetes-dashboards beschikbaar waarmee de prestaties en status van uw knooppunten worden gevisualiseerd op basis van gegevens die zijn opgeslagen in Prometheus.
Log Analytics
- Selecteer de categorie Containers in het dialoogvenster query's voor uw Log Analytics-werkruimte voor toegang tot vooraf gedefinieerde logboekquery's voor uw cluster, inclusief de query voor het inventarislogboek van installatiekopieën waarmee gegevens worden opgehaald uit de ContainerImageInventory-tabel die is gevuld met Container Insights.
Problemen oplossen
- Voor scenario's voor probleemoplossing moet u mogelijk rechtstreeks toegang krijgen tot knooppunten voor onderhoud of directe logboekverzameling. Voor beveiligingsdoeleinden worden AKS-knooppunten niet blootgesteld aan internet, maar u kunt de
kubectl debug
opdracht voor SSH gebruiken voor de AKS-knooppunten. Zie Verbinding maken met SSH met AKS-clusterknooppunten (Azure Kubernetes Service) voor onderhoud of probleemoplossing voor meer informatie over dit proces.
Kostenanalyse
- Configureer OpenCost, een opensource,leverancierneutraal CNCF-sandboxproject voor inzicht in uw Kubernetes-kosten, ter ondersteuning van uw analyse van de clusterkosten. Er worden gedetailleerde kostengegevens geëxporteerd naar Azure Storage.
- Gebruik gegevens van OpenCost om het relatieve gebruik van het cluster uit te delen door verschillende teams in uw organisatie, zodat u de kosten tussen beide kunt toewijzen.
- Gebruik gegevens van OpenCost om ervoor te zorgen dat het cluster de volledige capaciteit van de knooppunten gebruikt door werkbelastingen dicht te verpakken, met minder grote knooppunten in plaats van veel kleinere knooppunten.
Niveau 3 bewaken - Beheerde Kubernetes-onderdelen
Het beheerde Kubernetes-niveau bevat de volgende onderdelen:
Onderdeel | Controleren |
---|---|
API-server | Controleer de status van de API-server en identificeer eventuele toename van de belasting van aanvragen en knelpunten als de service niet beschikbaar is. |
Kubelet | Bewaak Kubelet om problemen met podbeheer op te lossen, pods die niet worden gestart, knooppunten die niet gereed zijn of pods die worden gedood. |
Hieronder volgen veelvoorkomende scenario's voor het bewaken van uw beheerde Kubernetes-onderdelen.
Containerinzichten
- Selecteer onder Bewaking metrische gegevens om de teller Aanvragen voor aan boord weer te geven.
- Gebruik onder Rapporten de Kubelet-werkmap om de status en prestaties van elke kubelet te bekijken. Zie Werkmappen voor resourcebewaking voor meer informatie over deze werkmappen.
Grafana
- Gebruik het vooraf samengestelde dashboard in Managed Grafana voor Kubelet om de status en prestaties van elke kubelet te bekijken.
- Gebruik een dashboard zoals Kubernetes apiserver voor een volledige weergave van de prestaties van de API-server. Dit omvat waarden zoals aanvraaglatentie en verwerkingstijd.
Log Analytics
Gebruik logboekquery's met resourcelogboeken om logboeken van het besturingsvlak te analyseren die zijn gegenereerd door AKS-onderdelen.
Alle configuratieactiviteiten voor AKS worden vastgelegd in het activiteitenlogboek. Wanneer u het activiteitenlogboek naar een Log Analytics-werkruimte verzendt, kunt u het analyseren met Log Analytics. De volgende voorbeeldquery kan bijvoorbeeld worden gebruikt om records te retourneren die een geslaagde upgrade in al uw AKS-clusters identificeren.
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
Problemen oplossen
- Voor scenario's voor probleemoplossing hebt u toegang tot kubelet-logboeken met behulp van het proces dat wordt beschreven in Kubelet-logboeken ophalen van AKS-clusterknooppunten (Azure Kubernetes Service).
Niveau 4 bewaken - Kubernetes-objecten en -workloads
Het Niveau van Kubernetes-objecten en -workloads bevat de volgende onderdelen:
Onderdeel | Bewakingsvereisten |
---|---|
Installaties | Controleer de werkelijke versus gewenste status van de implementatie en de status en het resourcegebruik van de pods die erop worden uitgevoerd. |
Pods | Controleer de status en het resourcegebruik, inclusief CPU en geheugen, van de pods die worden uitgevoerd op uw AKS-cluster. |
Containers | Bewaak het resourcegebruik, inclusief CPU en geheugen, van de containers die worden uitgevoerd op uw AKS-cluster. |
Hieronder volgen veelvoorkomende scenario's voor het bewaken van uw Kubernetes-objecten en -workloads.
Containerinzichten
- Gebruik de weergaven Knooppunten en controllers om de status en prestaties van de pods te bekijken die erop worden uitgevoerd en in te zoomen op de status en prestaties van hun containers.
- Gebruik de weergave Containers om de status en prestaties voor de containers te bekijken. Zie De prestaties van uw Kubernetes-cluster bewaken met Container Insights voor meer informatie over het analyseren van de status en prestaties van containers.
- Gebruik onder Rapporten de werkmap Implementaties om metrische implementatiegegevens weer te geven. Zie Implementatie en HPA-metrische gegevens met Container Insights voor meer informatie.
Grafana-dashboards
- Gebruik de vooraf gemaakte dashboards in Managed Grafana voor knooppunten en pods om hun status en prestaties te bekijken.
- Er zijn meerdere Kubernetes-dashboards beschikbaar waarmee de prestaties en status van uw knooppunten worden gevisualiseerd op basis van gegevens die zijn opgeslagen in Prometheus.
Livegegevens
- In scenario's voor probleemoplossing biedt Container Insights toegang tot live AKS-containerlogboeken (stdout/stderror), gebeurtenissen en metrische podgegevens. Zie Hoe u kubernetes-logboeken, gebeurtenissen en metrische podgegevens in realtime kunt weergeven voor meer informatie over deze functie.
Waarschuwingen voor de platformengineer
Waarschuwingen in Azure Monitor stellen u proactief op de hoogte van interessante gegevens en patronen in uw bewakingsgegevens. Hiermee kunt u problemen in uw systeem identificeren en oplossen voordat uw klanten ze opmerken. Als u een bestaande ITSM-oplossing voor waarschuwingen hebt, kunt u deze integreren met Azure Monitor. U kunt ook werkruimtegegevens exporteren om gegevens vanuit uw Log Analytics-werkruimte te verzenden naar een andere locatie die ondersteuning biedt voor uw huidige waarschuwingsoplossing.
Waarschuwingstypen
In de volgende tabel worden de verschillende typen aangepaste waarschuwingsregels beschreven die u kunt maken op basis van de gegevens die zijn verzameld door de hierboven beschreven services.
Waarschuwingstype | Beschrijving |
---|---|
Prometheus-waarschuwingen | Prometheus-waarschuwingen worden geschreven in Prometheus Query Language (Prom QL) en toegepast op prometheus-metrische gegevens die zijn opgeslagen in beheerde Azure Monitor-services voor Prometheus. Aanbevolen waarschuwingen bevatten al de meest voorkomende Prometheus-waarschuwingen en u kunt zo nodig extra waarschuwingsregels maken. |
Regels voor metrische waarschuwingen | Metrische waarschuwingsregels gebruiken dezelfde metrische waarden als de Metrics Explorer. U kunt zelfs rechtstreeks vanuit de Metrics Explorer een waarschuwingsregel maken met de gegevens die u momenteel analyseert. Waarschuwingsregels voor metrische gegevens kunnen handig zijn voor waarschuwingen over AKS-prestaties met behulp van een van de waarden in metrische gegevens van AKS. |
Waarschuwingsregels voor zoeken in logboeken | Gebruik waarschuwingsregels voor zoeken in logboeken om een waarschuwing te genereren op basis van de resultaten van een logboekquery. Zie Logboekzoekwaarschuwingen maken van Container Insights en logboeken opvragen vanuit Container Insights voor meer informatie. |
Aanbevolen waarschuwingen
Begin met een set aanbevolen Prometheus-waarschuwingen uit metrische waarschuwingsregels in Container Insights (preview) die de meest voorkomende waarschuwingsvoorwaarden voor een Kubernetes-cluster bevatten. U kunt later meer waarschuwingsregels toevoegen wanneer u aanvullende waarschuwingsvoorwaarden identificeert.
Ontwikkelaar
Naast het ontwikkelen van de toepassing onderhoudt de ontwikkelaar de toepassing die op het cluster wordt uitgevoerd. Ze zijn verantwoordelijk voor toepassingsspecifiek verkeer, waaronder toepassingsprestaties en fouten en het onderhouden van de betrouwbaarheid van de toepassing volgens door het bedrijf gedefinieerde SLA's.
Azure-services voor ontwikkelaars
De volgende tabel bevat de services die vaak door de ontwikkelaar worden gebruikt voor het bewaken van de status en prestaties van de toepassing die op het cluster wordt uitgevoerd.
Service | Beschrijving |
---|---|
Application insights | Functie van Azure Monitor die bewaking van toepassingsprestaties (APM) biedt voor het bewaken van toepassingen die worden uitgevoerd op uw Kubernetes-cluster vanaf ontwikkeling, tot test en productie. Identificeer en verminder snel latentie- en betrouwbaarheidsproblemen met behulp van gedistribueerde traceringen. Ondersteunt OpenTelemetry voor leverancierneutrale instrumentatie. |
Zie Basisbeginselen van gegevensverzameling van Azure Monitor Application Insights voor opties voor het configureren van gegevensverzameling vanuit de toepassing die wordt uitgevoerd op uw cluster en beslissingscriteria voor de beste methode voor uw specifieke vereisten.
Monitorniveau 5 - Toepassing
Hieronder volgen veelvoorkomende scenario's voor het bewaken van uw toepassing.
Toepassingsprestaties
- Gebruik de prestatieweergave in Application Insights om de prestaties van verschillende bewerkingen in uw toepassing weer te geven.
- Gebruik Profiler om prestatietraceringen voor uw toepassing vast te leggen en weer te geven.
- Gebruik Toepassingsoverzicht om de afhankelijkheden tussen uw toepassingsonderdelen weer te geven en knelpunten te identificeren.
- Schakel gedistribueerde tracering in, die een prestatieprofiel biedt dat werkt als aanroepstacks voor cloud- en microservicesarchitecturen, om betere waarneembaarheid te krijgen in de interactie tussen services.
Toepassingsfouten
- Gebruik het tabblad Fouten van Application Insights om het aantal mislukte aanvragen en de meest voorkomende uitzonderingen weer te geven.
- Zorg ervoor dat waarschuwingen voor foutafwijkingen die worden geïdentificeerd met slimme detectie juist zijn geconfigureerd.
Statuscontrole
- Maak een beschikbaarheidstest in Application Insights om een terugkerende test te maken om de beschikbaarheid en reactiesnelheid van uw toepassing te bewaken.
- Gebruik het SLA-rapport om sla voor webtests te berekenen en te rapporteren.
- Gebruik aantekeningen om te bepalen wanneer een nieuwe build wordt geïmplementeerd, zodat u elke wijziging in de prestaties na de update visueel kunt controleren.
Toepassingslogboeken
- Container insights verzendt stdout-/stderr-logboeken naar een Log Analytics-werkruimte. Zie resourcelogboeken voor een beschrijving van de verschillende logboeken en Kubernetes Services voor een lijst met de tabellen die elk worden verzonden.
Service-mesh
- Implementeer voor AKS-clusters de op Istio gebaseerde service mesh-invoegtoepassing die waarneembaarheid biedt voor uw microservicesarchitectuur. Istio is een opensource-service-mesh die transparant wordt gelaagd op bestaande gedistribueerde toepassingen. De invoegtoepassing helpt bij de implementatie en het beheer van Istio for AKS.
Zie ook
- Zie AKS bewaken voor hulp bij bewaking die specifiek is voor Azure Kubernetes Service (AKS).