Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u volledige bewaking van uw Kubernetes-clusters inschakelt met behulp van de volgende Azure Monitor-functies:
- Beheerde Prometheus voor metriekenverzameling
- Container insights voor logboekverzameling
- Beheerde Grafana voor visualisatie.
Met behulp van Azure Portal kunt u alle functies tegelijk inschakelen. U kunt ze ook afzonderlijk inschakelen met behulp van de Azure CLI, azure Resource Manager-sjabloon, Terraform of Azure Policy. Elk van deze methoden wordt beschreven in dit artikel.
Belangrijk
Kubernetes-clusters genereren veel logboekgegevens, wat kan leiden tot aanzienlijke kosten als u niet selectief bent over de logboeken die u verzamelt. Voordat u bewaking voor uw cluster inschakelt, raadpleegt u de volgende artikelen om ervoor te zorgen dat uw omgeving is geoptimaliseerd voor kosten en dat u uw logboekverzameling beperkt tot alleen de gegevens die u nodig hebt:
-
Gegevensverzameling en kostenoptimalisatie configureren in Container Insights met behulp van een regel voor gegevensverzameling
Details over het aanpassen van logboekverzameling zodra u bewaking hebt ingeschakeld, inclusief het gebruik van vooraf ingestelde configuraties voor kostenoptimalisatie. -
Aanbevolen procedures voor het bewaken van Kubernetes met Azure Monitor
Best practices voor het bewaken van Kubernetes-clusters die zijn georganiseerd op basis van de vijf pijlers van het Azure Well-Architected Framework, inclusief kostenoptimalisatie. -
Kostenoptimalisatie in Azure Monitor
Aanbevolen procedures voor het configureren van alle functies van Azure Monitor om uw kosten te optimaliseren en de hoeveelheid gegevens te beperken die u verzamelt.
Ondersteunde clusters
Dit artikel bevat richtlijnen voor onboarding voor de volgende typen clusters. Eventuele verschillen in het proces voor elk type worden vermeld in de relevante secties.
Vereisten
Machtigingen
- U hebt ten minste inzendertoegang tot het cluster nodig voor onboarding.
- U hebt bewakingslezer of Inzender voor bewaking nodig om gegevens weer te geven nadat bewaking is ingeschakeld.
Vereisten voor beheerd Prometheus
- Het cluster moet gebruikmaken van verificatie van beheerde identiteiten.
- De volgende resourceproviders moeten zijn geregistreerd in het abonnement van het cluster en de Azure Monitor-werkruimte:
- Microsoft.ContainerService - Service voor containers van Microsoft
- Microsoft.Insights
- Microsoft-waarschuwingenbeheer
- Microsoft.Monitor
- De volgende resourceproviders moeten zijn geregistreerd in het abonnement van het Grafana-werkruimteabonnement:
- Microsoft Dashboard
Vereisten voor Kubernetes-clusters met Arc
- Controleer de firewallvereisten naast de Kubernetes-netwerkvereisten met Azure Arc.
- Als u de bewaking voor AKS eerder hebt geïnstalleerd, moet u ervoor zorgen dat u bewaking hebt uitgeschakeld voordat u doorgaat om problemen tijdens de installatie van de extensie te voorkomen.
- Als u eerder bewaking op een cluster hebt geïnstalleerd met behulp van een script zonder clusterextensies, volgt u de instructies bij Bewaking van uw Kubernetes-cluster uitschakelen om deze Helm-grafiek te verwijderen.
Notitie
De beheerde Prometheus-Arc-Enabled Kubernetes-extensie biedt geen ondersteuning voor de volgende configuraties:
- Red Hat Openshift-distributies, waaronder Azure Red Hat OpenShift (ARO)
- Windows-knooppunten*
Voor ARC-ingeschakelde clusters met Windows-knooppunten kunt u Azure Managed Prometheus opzetten op een Linux-knooppunt binnen het cluster en de scraping van metrische gegevens configureren van endpoints die draaien op de Windows-knooppunten.
Werkruimtes
In de volgende tabel worden de werkruimten beschreven die vereist zijn voor de ondersteuning van beheerde Prometheus- en containerinzichten. U kunt elke werkruimte maken als onderdeel van het onboardingproces of een bestaande werkruimte gebruiken. Zie Een Log Analytics-werkruimtearchitectuur ontwerpen voor hulp bij het aantal werkruimten dat moet worden gemaakt en waar ze moeten worden geplaatst.
Kenmerk | Werkplek | Opmerkingen |
---|---|---|
Beheerde dienst Prometheus | Azure Monitor-werkruimte |
Contributor toestemming is voldoende voor het inschakelen van de invoegtoepassing om gegevens te verzenden naar de Azure Monitor-werkruimte. U hebt toestemming op Owner niveau nodig om uw Azure Monitor-werkruimte te koppelen zodat u de metrics kunt bekijken in Azure Managed Grafana. Dit is vereist omdat de gebruiker die de onboardingstap uitvoert, de rol Azure Managed Grafana System Identity Monitoring Reader in de Azure Monitor-werkruimte moet kunnen geven om een query uit te voeren op de metrische gegevens. |
Containeranalyse | Log Analytics-werkruimte | U kunt een cluster koppelen aan een Log Analytics-werkruimte in een ander Azure-abonnement in dezelfde Microsoft Entra-tenant, maar u moet de Azure CLI of een Azure Resource Manager-sjabloon gebruiken. U kunt deze configuratie momenteel niet uitvoeren met Azure Portal. Als u een bestaand cluster verbindt met een Log Analytics-werkruimte in een ander abonnement, moet de Resourceprovider Microsoft.ContainerService zijn geregistreerd in het abonnement met de Log Analytics-werkruimte. Zie Resourceprovider registreren voor meer informatie. Zie Regiotoewijzingen die worden ondersteund door Container Insights voor een lijst met ondersteunde toewijzingsparen die moeten worden gebruikt voor de standaardwerkruimte. Zie Azure Monitor configureren met netwerkbeveiligingsperimeter voor hulp bij het configureren van de werkruimte met netwerkbeveiligingsperimeter. |
Beheerde Grafana | Azure Managed Grafana-werkruimte | Koppel uw Grafana-werkruimte aan uw Azure Monitor-werkruimte om de prometheus-metrische gegevens die zijn verzameld van uw cluster beschikbaar te maken voor Grafana-dashboards. |
Prometheus en Grafana inschakelen
Gebruik een van de volgende methoden om scraping van prometheus-metrische gegevens uit uw cluster in te schakelen en Managed Grafana in te schakelen om de metrische gegevens te visualiseren. Zie Een Grafana-werkruimte koppelen voor opties om uw Azure Monitor-werkruimte en Azure Managed Grafana-werkruimte te verbinden.
Belangrijk
Als u implementeert met behulp van een sjabloon of Azure Policy, moet u ervoor zorgen dat de eindpunten voor gegevensverzameling, regels voor gegevensverzameling en de gegevensverzamelingsregelkoppelingen de naam
MSProm-<Location of Azure Monitor Workspace>-<Name of cluster resource>
krijgen, anders zal het onboardingproces niet succesvol worden voltooid.Als u één Azure Monitor-resource hebt die privé is gekoppeld, werkt Prometheus-activering niet als het AKS-cluster en de Azure Monitor-werkruimte zich in verschillende regio's bevinden. Maak een nieuwe DCE en DCRA in dezelfde clusterregio. Koppel de nieuwe DCE aan het cluster en noem de nieuwe DCRA als
configurationAccessEndpoint
. Zie Private Link inschakelen voor Kubernetes-bewaking in Azure Monitor.
Inschakelen met CLI
Als u in de volgende opdrachten geen bestaande Azure Monitor-werkruimte opgeeft, wordt de standaardwerkruimte voor de resourcegroep gebruikt. Als er nog geen standaardwerkruimte in de regio van het cluster bestaat, wordt er een met een naam in de indeling DefaultAzureMonitorWorkspace-<mapped_region>
gemaakt in een resourcegroep met de naam DefaultRG-<cluster_region>
.
Vereisten
- Az CLI-versie van 2.49.0 of hoger is vereist.
- De aks-preview-extensie moet worden verwijderd uit AKS-clusters met behulp van de opdracht
az extension remove --name aks-preview
. - De extensie k8s-extension moet worden geïnstalleerd met behulp van de opdracht
az extension add --name k8s-extension
. - De k8s-extension versie 1.4.1 of hoger is vereist.
Optionele parameters
Elk van de opdrachten voor AKS en Arc-Enabled Kubernetes staat de volgende optionele parameters toe. De parameternaam is voor elke parameter anders, maar het gebruik ervan is hetzelfde.
Kenmerk | Naam en beschrijving |
---|---|
Aantekeningssleutels | AKS: --ksm-metric-annotations-allow-list Boog: --AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList Komma-gescheiden lijst van Kubernetes-aantekeningensleutels die in de metriek van de resource kube_resource_annotations worden gebruikt. Kube_pod_annotations is bijvoorbeeld de annotatiemetriek voor de pods-resource. Deze metrische waarde bevat standaard alleen naam- en naamruimtelabels. Als u meer aantekeningen wilt opnemen, geeft u een lijst met resourcenamen op in hun meervoudvorm en kubernetes-annotatiesleutels die u wilt toestaan. Er kan één * worden opgegeven voor elke resource om aantekeningen toe te staan, maar dit heeft ernstige prestatie-implicaties. Bijvoorbeeld: pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],... . |
Label sleutels | AKS: --ksm-metric-labels-allow-list Boog: --AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist Door komma's gescheiden lijst met aanvullende Kubernetes-labelsleutels die worden gebruikt in de metriek van kube_resource_labels van de resource. Kube_pod_labels is de labelmetriek voor bijvoorbeeld de pods-resource. Deze metrische waarde bevat standaard alleen naam- en naamruimtelabels. Als u meer labels wilt opnemen, geeft u een lijst op met resourcenamen in hun meervoudsvorm en Kubernetes-labelsleutels die u voor hen wilt toestaan. Een enkel * kan voor elke resource worden verstrekt om alle labels toe te staan, maar dit heeft ernstige prestatie-implicaties. Bijvoorbeeld: pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],... . |
Opnameregels | AKS: --enable-windows-recording-rules Hiermee kunt u de opnameregelgroepen inschakelen die vereist zijn voor de juiste werking van de Windows-dashboards. |
AKS-cluster
Gebruik de -enable-azure-monitor-metrics
optie az aks create
of az aks update
(afhankelijk van of u een nieuw cluster maakt of een bestaand cluster bijwerkt) om de invoegtoepassing met metrische gegevens te installeren die prometheus-metrische gegevens scrapt.
### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group>
### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <azure-monitor-workspace-name-resource-id> --grafana-resource-id <grafana-workspace-name-resource-id>
### Use optional parameters
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --ksm-metric-labels-allow-list "namespaces=[k8s-label-1,k8s-label-n]" --ksm-metric-annotations-allow-list "pods=[k8s-annotation-1,k8s-annotation-n]"
Arc-ingeschakelde cluster
### Use default Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics
## Use existing Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id>
### Use optional parameters
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList="pods=[k8s-annotation-1,k8s-annotation-n]" AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist "namespaces=[k8s-label-1,k8s-label-n]"
De volgende aanvullende optionele parameters zijn beschikbaar voor clusters met Azure Arc:
Kenmerk | Beschrijving | Verstek | Instelling voor Arc-cluster stroomopwaarts |
---|---|---|---|
ClusterDistribution |
De distributie van het cluster. | Azure.Cluster.Distribution |
ja |
CloudEnvironment |
De cloudomgeving voor het cluster. | Azure.Cluster.Cloud |
ja |
MountCATrustAnchorsDirectory |
Of de CA trust anchors-directory moet worden gekoppeld. | true |
Nee |
MountUbuntuCACertDirectory |
Of u de ca-certificaatmap van Ubuntu wilt koppelen. |
true tenzij een aks_edge distributie. |
Nee |
Containerinzichten inschakelen
Gebruik een van de volgende methoden om Container Insights in te schakelen in uw cluster. Zodra dit is voltooid, raadpleegt u Agentgegevensverzameling configureren voor Container Insights om uw configuratie aan te passen om ervoor te zorgen dat u niet meer gegevens verzamelt dan u nodig hebt.
Belangrijk
Als u één Azure Monitor-resource hebt die privé is gekoppeld, kunt u containerinzichten niet inschakelen met behulp van Azure Portal. Zie Private Link inschakelen voor Kubernetes-bewaking in Azure Monitor.
Zie Azure Monitor configureren met netwerkbeveiligingsperimeter om containerinzichten met netwerkbeveiligingsperimeter in te schakelen om uw Log Analytics-werkruimte te configureren.
Gebruik een van de volgende opdrachten om bewaking van uw AKS- en Arc-clusters in te schakelen. Als u geen bestaande Log Analytics-werkruimte opgeeft, wordt de standaardwerkruimte voor de resourcegroep gebruikt. Als er nog geen standaardwerkruimte bestaat in de regio van het cluster, wordt er een gemaakt met een naam in de indeling DefaultWorkspace-<GUID>-<Region>
.
Vereisten
- Azure CLI versie 2.43.0 of hoger
- Verificatie van beheerde identiteit is standaard in CLI versie 2.49.0 of hoger.
- Azure k8s-extension versie 1.3.7 of hoger
- Verificatie van beheerde identiteit is de standaardwaarde in k8s-extension versie 1.43.0 of hoger.
- Verificatie van beheerde identiteit wordt niet ondersteund voor Arc-ingeschakelde Kubernetes-clusters met ARO (Azure Red Hat Openshift) of Windows-knooppunten. Gebruik verouderde verificatie.
- Voor CLI-versie 2.54.0 of hoger wordt het schema voor logboekregistratie geconfigureerd voor ContainerLogV2 met behulp van ConfigMap.
Notitie
U kunt het ContainerLogV2-schema voor een cluster inschakelen met behulp van de DCR (Data Collection Rule) of ConfigMap van het cluster. Als beide instellingen zijn ingeschakeld, heeft de ConfigMap voorrang. Stdout- en stderr-logbestanden worden alleen opgenomen in de ContainerLog-tabel wanneer zowel de DCR als de ConfigMap expliciet zijn uitgeschakeld.
AKS-cluster
### Use default Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name>
### Use existing Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>
### Use legacy authentication
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
Voorbeeld
az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Arc-ingeschakelde cluster
### Use default Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
### Use existing Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<workspace-resource-id>
### Use managed identity authentication (default as k8s-extension version 1.43.0)
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true
### Use advanced configuration settings
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
### With custom mount path for container stdout & stderr logs
### Custom mount path not required for Azure Stack Edge version > 2318. Custom mount path must be /home/data/docker for Azure Stack Edge cluster with version <= 2318
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.logsettings.custommountpath=<customMountPath>
Zie de sectie over resourceaanvragen en limieten van het Helm-chart voor de beschikbare configuratie-instellingen.
Voorbeeld
az k8s-extension create --name azuremonitor-containers --cluster-name "my-cluster" --resource-group "my-resource-group" --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID="/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Arc-ingeschakelde cluster met doorstuurproxy
Als het cluster is geconfigureerd met een doorstuurproxy, worden proxy-instellingen automatisch toegepast op de extensie. In het geval van een cluster met AMPLS + proxy moet de proxyconfiguratie worden genegeerd. Installeer de extensie met de configuratie amalogs.ignoreExtensionProxySettings=true
.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.ignoreExtensionProxySettings=true
Arc-ingeschakelde cluster met ARO-, OpenShift- of Windows-knooppunten
Verificatie van beheerde identiteit wordt niet ondersteund voor Arc-enabled Kubernetes-clusters met ARO (Azure Red Hat OpenShift), OpenShift of Windows-knooppunten. Gebruik verouderde authenticatie door amalogs.useAADAuth=false
te specificeren zoals in het volgende voorbeeld.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=false
Extensie-exemplaar verwijderen
Met de volgende opdracht wordt alleen het extensie-exemplaar verwijderd, maar wordt de Log Analytics-werkruimte niet verwijderd. De gegevens in de Log Analytics-resource blijven intact.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Volledige bewaking inschakelen met Azure Portal
Nieuw AKS-cluster (Prometheus, Container Insights en Grafana)
Wanneer u een nieuw AKS-cluster maakt in Azure Portal, schakelt u containerlogboeken in, schakelt u metrische gegevens van Prometheus in, schakelt u Grafana in en schakelt u aanbevolen waarschuwingen in op het tabblad Bewaking.
Bestaand cluster (Prometheus, Container-inzichten en Grafana)
- Navigeer naar uw cluster in Azure Portal.
- SelecteerMonitor-instellingen in> het servicemenu.
- Metrische gegevens van Prometheus, Grafana en Container Logs en gebeurtenissen worden voor u geselecteerd. Als u een bestaande Azure Monitor-werkruimte, Grafana-werkruimte en Log Analytics-werkruimte hebt, worden deze voor u geselecteerd.
- Selecteer Geavanceerde instellingen als u alternatieve werkruimten wilt selecteren of nieuwe werkruimten wilt maken. Met de instelling Logboekregistratieprofielen en klassieke profielen kunt u de standaardverzamelingsgegevens wijzigen om de bewakingskosten te verlagen. Zie Instellingen voor kostenoptimalisatie inschakelen in Container Insights voor meer informatie.
- Selecteer Configureren.
Windows-metriekverzameling inschakelen (preview)
Notitie
Er is geen CPU-/geheugenlimiet in windows-exporter-daemonset.yaml, waardoor de Windows-knooppunten mogelijk overbelast kunnen raken.
Zie Resourcereservering voor meer informatie
Tijdens het implementeren van workloads stelt u resourcegeheugen- en CPU-limieten in voor containers. Dit trekt ook af van NodeAllocatable en helpt de planner voor het hele cluster om te bepalen welke pods op welke knooppunten moeten worden geplaatst. Het plannen van pods zonder limieten kan de Windows-knooppunten overvoorzien en in extreme gevallen kan het de knooppunten ongezond maken.
Vanaf versie 6.4.0-main-02-22-2023-3ee44b9e van de beheerde Prometheus-invoegtoepassingscontainer (prometheus_collector) is de verzameling van Windows-metrieken ingeschakeld voor AKS-clusters. De onboarding voor de Azure Monitor Metriek-invoegtoepassing stelt de Windows DaemonSet-pods in staat om op uw node-pools te draaien. Zowel Windows Server 2019 als Windows Server 2022 worden ondersteund. Volg deze stappen om de pods in te schakelen voor het verzamelen van metrische gegevens uit uw Windows-knooppuntgroepen.
Installeer Windows-exporteur handmatig op AKS-knooppunten om toegang te krijgen tot metrische Windows-gegevens door het YAML-bestand windows-exporter-daemonset te implementeren. Schakel de volgende verzamelaars in:
[defaults]
container
memory
process
cpu_info
Voor aanvullende collectors zie Prometheus Exporter voor Windows-metrieken.
Implementeer het windows-exporter-daemonset YAML-bestand. Houd er rekening mee dat als er taints zijn toegepast in het knooppunt, u de juiste toleranties moet toepassen.
kubectl apply -f windows-exporter-daemonset.yaml
Breng de ama-metrics-settings-configmap aan op uw cluster. Stel de Booleans
windowsexporter
enwindowskubeproxy
in optrue
. Voor meer informatie, zie configmap voor instellingen voor de metingen-invoegtoepassing.Schakel de opnameregels in die vereist zijn voor de out-of-the-box-dashboards:
- Als u onboarding via de CLI uitvoert, neemt u de optie
--enable-windows-recording-rules
mee. - Als je onboarding doet met behulp van een ARM-sjabloon, Bicep of Azure Policy, stel
enableWindowsRecordingRules
in optrue
in het parameterbestand. - Als het cluster al is toegevoegd, gebruik deze ARM-sjabloon en dit parameterbestand om de regelgroepen te maken. Hiermee worden de vereiste opnameregels toegevoegd en is geen ARM-bewerking op het cluster en heeft dit geen invloed op de huidige bewakingsstatus van het cluster.
- Als u onboarding via de CLI uitvoert, neemt u de optie
[Alleen voor Windows-knooppunten in clusters met ARC] Als u Managed Prometheus inschakelt voor een cluster met ARC, kunt u Beheerde Prometheus configureren die wordt uitgevoerd op een Linux-knooppunt in het cluster om metrische gegevens te scrapen van eindpunten die worden uitgevoerd op de Windows-knooppunten. Voeg de volgende scrape-taak toe aan ama-metrics-prometheus-config-configmap.yaml en pas de configmap toe op uw cluster.
scrape_configs:
- job_name: windows-exporter
scheme: http
scrape_interval: 30s
label_limit: 63
label_name_length_limit: 511
label_value_length_limit: 1023
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__meta_kubernetes_node_name]
target_label: instance
- action: keep
source_labels: [__meta_kubernetes_node_label_kubernetes_io_os]
regex: windows
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\:\d+)?
replacement: $$1:9182
kubectl apply -f ama-metrics-prometheus-config-configmap.yaml
Implementatie verifiëren
Gebruik het opdrachtregelprogramma kubectl om te controleren of de agent correct is geïmplementeerd.
Beheerde dienst Prometheus
Controleer of de DaemonSet correct is geïmplementeerd in de Linux-knooppuntgroepen
kubectl get ds ama-metrics-node --namespace=kube-system
Het aantal pods moet gelijk zijn aan het aantal Linux-knooppunten in het cluster. De uitvoer moet eruitzien als het volgende voorbeeld:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-node 1 1 1 1 1 <none> 10h
Controleer of Windows-knooppunten correct zijn geïmplementeerd
kubectl get ds ama-metrics-win-node --namespace=kube-system
Het aantal pods moet gelijk zijn aan het aantal Windows-knooppunten in het cluster. De uitvoer moet eruitzien als het volgende voorbeeld:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-win-node 3 3 3 3 3 <none> 10h
Controleer of de twee ReplicaSets zijn geïmplementeerd voor Prometheus
kubectl get rs --namespace=kube-system
De uitvoer moet eruitzien als het volgende voorbeeld:
User@aksuser:~$kubectl get rs --namespace=kube-system
NAME DESIRED CURRENT READY AGE
ama-metrics-5c974985b8 1 1 1 11h
ama-metrics-ksm-5fcf8dffcd 1 1 1 11h
Containeranalyse
Controleer of de DaemonSets correct zijn geïmplementeerd in de Linux-knooppuntgroepen
kubectl get ds ama-logs --namespace=kube-system
Het aantal pods moet gelijk zijn aan het aantal Linux-knooppunten in het cluster. De uitvoer moet eruitzien als het volgende voorbeeld:
User@aksuser:~$ kubectl get ds ama-logs --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs 2 2 2 2 2 <none> 1d
Controleer of Windows-knooppunten correct zijn geïmplementeerd
kubectl get ds ama-logs-windows --namespace=kube-system
Het aantal pods moet gelijk zijn aan het aantal Windows-knooppunten in het cluster. De uitvoer moet eruitzien als het volgende voorbeeld:
User@aksuser:~$ kubectl get ds ama-logs-windows --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs-windows 2 2 2 2 2 <none> 1d
Implementatie van de Container Insights-oplossing controleren
kubectl get deployment ama-logs-rs --namespace=kube-system
De uitvoer moet eruitzien als het volgende voorbeeld:
User@aksuser:~$ kubectl get deployment ama-logs-rs --namespace=kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
ama-logs-rs 1/1 1 1 24d
Configuratie weergeven met CLI
Gebruik de aks show
opdracht om erachter te komen of de oplossing is ingeschakeld, de resource-id van de Log Analytics-werkruimte en overzichtsinformatie over het cluster.
az aks show --resource-group <resourceGroupofAKSCluster> --name <nameofAksCluster>
De opdracht retourneert JSON-geformatteerde informatie over de oplossing. De addonProfiles
sectie moet informatie bevatten over de omsagent
, zoals in het onderstaande voorbeeld.
"addonProfiles": {
"omsagent": {
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"useAADAuth": "true"
},
"enabled": true,
"identity": null
},
}
Resources ingericht
Wanneer u monitoring inschakelt, worden de volgende resources gemaakt in uw abonnement:
Resourcenaam | Type bron | Resourcegroep | Regio/locatie | Beschrijving |
---|---|---|---|---|
MSCI-<aksclusterregion>-<clustername> |
Gegevensverzamelingsregel | Hetzelfde als cluster | Hetzelfde als Log Analytics-werkruimte | Deze regel voor het verzamelen van gegevens is bedoeld voor logboekverzameling door de Azure Monitor-agent, die de Log Analytics-werkruimte als doel gebruikt en is gekoppeld aan de AKS-clusterresource. |
MSPROM-<aksclusterregion>-<clustername> |
Gegevensverzamelingsregel | Hetzelfde als cluster | Hetzelfde als azure Monitor-werkruimte | Deze regel voor gegevensverzameling is bedoeld voor het verzamelen van prometheus-metrische gegevens per invoegtoepassing voor metrische gegevens, die de gekozen Azure Monitor-werkruimte als bestemming heeft en die ook is gekoppeld aan de AKS-clusterresource |
MSPROM-<aksclusterregion>-<clustername> |
Eindpunt voor gegevensverzameling | Hetzelfde als cluster | Hetzelfde als azure Monitor-werkruimte | Dit eindpunt voor gegevensverzameling wordt door deze bovenstaande gegevensverzamelingsregel gebruikt voor het verwerken van Prometheus-metingen uit de metingen-add-on. |
Wanneer u een nieuwe Azure Monitor-werkruimte maakt, worden de volgende extra resources gemaakt als onderdeel hiervan
Resourcenaam | Type bron | Resourcegroep | Regio/locatie | Beschrijving |
---|---|---|---|---|
<azuremonitor-workspace-name> |
Gegevensverzamelingsregel | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | Hetzelfde als Azure Monitor-werkruimte | DCR aangemaakt wanneer u de OSS Prometheus-server gebruikt voor Remote Write naar Azure Monitor-werkruimte. |
<azuremonitor-workspace-name> |
Eindpunt voor gegevensverzameling | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | Hetzelfde als Azure Monitor-werkruimte | Een DCE wordt gemaakt wanneer de OSS Prometheus-server wordt gebruikt voor remote schrijven naar Azure Monitor Workspace. |
Verschillen tussen Windows- en Linux-clusters
De belangrijkste verschillen in het bewaken van een Windows Server-cluster in vergelijking met een Linux-cluster zijn:
- Windows heeft geen RSS-geheugenmetriek. Als gevolg hiervan is het niet beschikbaar voor Windows-knooppunten en -containers. De metrische waarde voor de werkset is beschikbaar.
- Informatie over schijfopslagcapaciteit is niet beschikbaar voor Windows-knooppunten.
- Alleen podomgevingen worden bewaakt, niet Docker-omgevingen.
- Met de preview-versie worden maximaal 30 Windows Server-containers ondersteund. Deze beperking geldt niet voor Linux-containers.
Notitie
Container Insights-ondersteuning voor het besturingssysteem Windows Server 2022 bevindt zich in de previewfase.
De in een container geplaatste Linux-agent (replicasetpod) maakt API-aanroepen naar alle Windows-knooppunten op kubelet beveiligde poort (10250) binnen het cluster om metrische gegevens over knooppunten en containers te verzamelen. Beveiligde Kubelet-poort (:10250) moet worden geopend in het virtuele netwerk van het cluster voor zowel binnenkomend als uitgaand verkeer voor Windows-knooppunten en verzameling met metrische gegevens met betrekking tot containerprestaties om te kunnen werken.
Als u een Kubernetes-cluster met Windows-knooppunten hebt, controleert en configureert u de netwerkbeveiligingsgroep en het netwerkbeleid om ervoor te zorgen dat de beveiligde Kubelet-poort (:10250) is geopend voor zowel inkomend als uitgaand verkeer in het virtuele netwerk van het cluster.
Volgende stappen
- Als u problemen ondervindt tijdens het onboarden van de oplossing, raadpleegt u de gids voor probleemoplossing.
- Als bewaking is ingeschakeld voor het verzamelen van de status en het resourcegebruik van uw AKS-cluster en van de workloads die daarop draaien, kunt u leren hoe u Container Insights gebruikt.